Skip to content

The demo workspace is open. Sign in with a seeded account →

EVM chains via RelayUSDC · USDT · ETH

Don’t re-key thirty transfers.
Control one batch.

validate x route x approve x execute x reconcile

Sheaf lets finance teams prepare, approve, coordinate and reconcile many digital-asset payouts from one place. Every recipient is validated, routed, tracked and reconciled on its own. Private externally, transparent internally.

Sheaf's courier: a small white robot holding a stack of cards bound with a pink band.

Most payout tools ask you to trust a button. Sheaf asks for a CSV, shows you every row, every route and every fee, waits for a second person to approve the exact set, and then executes one payment at a time with a record of everything.

Upload a CSV
Any row, any size

Drop the contractor CSV. It is parsed in a background thread and every row is checked for a valid checksummed address, an exact amount, duplicates and the right asset. Invalid rows are kept, explained and fixable in place, and the batch only moves on when every row is valid.

TemplateAliases10,000 rows

contractors.csv · 5 rowsdemo · simulated
  • Ada Okafor0x1b3f…9f0a1,250.00valid
  • Mateo Ruiz0x9f0e…7f8e980.50valid
  • K. Watanabe0x7a9b…5f243,200.00dup
  • Priya N.0x3c4d…1c2d2,100.00valid
  • Elias Berg0x2df0…9a70abcamount
Valid
3
Invalid
2
Total
4,330.50

Route and review
Approve the exact set

One route and one fee quote per recipient, labelled as estimates. The review screen lists totals, funding requirement, route readiness and unresolved warnings. An approver who did not edit the rows signs off on a hash of the exact recipient set. Change a row and the approval is void.

Fee estimateFour eyesHash-bound

Review · before approvaldemo · simulated
Recipients
16 valid · 0 invalid
Total
24,396.89 USDC
Est. fees
$1.94 (estimate)
Routes
16/16 ready
Asset · network
USDC · Base
Funding req.
24,398.83 USDC
Approval

approver@northwind.example approved 16 recipients

set hash b2b0fe28…2ac382c · any edit voids this

Execute
One payment at a time

Funding is confirmed, then each payment becomes its own job with an idempotency key. Failures are isolated and classified; retries are explicit and never sent while a previous attempt is pending or unknown. Results land in reconciliation with references, fees and an export.

IdempotentRetriesExport

Execution · 16 paymentsdemo · simulated
Completed payments11/16
  • Row 1Completed
  • Row 2Completed
  • Row 3Confirming
  • Row 4Retry eligible
  • Row 5Scheduled
  • Row 6Completed

1 job per payment · idempotency keys · retries explicit

CSVTemplateHeader aliases

Upload one CSV. Not thirty transfers.

name x address x amount x reference

01 / 06

ValidateFix in place

Every row checked. Nothing dropped.

checksum x exact decimals x duplicates x asset

02 / 06

RouteFee estimate

One route per recipient. Fees shown.

quote x estimate x readiness

03 / 06

Four eyesHash-bound

Approval bound to the exact set.

hash of recipients x second person x void on edit

04 / 06

QueueRetries

Executed one at a time. Tracked one at a time.

idempotency key x bounded retries x no resend through unknown

05 / 06

ReconcileExportAudit

Reconciled, exported, audited.

references x fees x timestamps x simulated flag

06 / 06

What’s under the hood

Eight things Sheaf does on purpose: CSV imports, row-level validation, one route per payout, hash-bound approvals, execution monitoring, partial-failure handling, reconciliation with exports, and an append-only audit trail.
The Sheaf courier on a podium, surrounded by floating blank cards.

Private externally · transparent internally

Who it’s for: finance teams that pay people.

Operators who re-key spreadsheets into wallets, approvers who sign off on a total they cannot inspect, and auditors who rebuild the story from transaction hashes. Sheaf keeps the work in one place, in stages, with every step recorded.

Our position: honest privacy.

Sheaf reduces unnecessary public linkage between treasury operations and individual payouts, within the limits of the underlying payment rails. It does not make payments anonymous, and it never hides anything from your own finance team. The threat model says exactly what is and is not implemented.

Settling on open rails.

Routes are quoted from Relay’s public API and settled on EVM networks such as Base. Cross-chain routes are filled by a provider address rather than your treasury; same-chain routes are plain transfers. Both are labelled on the review screen, and the execution engine treats every provider answer as a state, never as a promise.

The stack:

Bring your CSV
One header, five columns

Name, wallet address, amount, asset and an optional internal reference. Header aliases such as “wallet” or “amt” are recognised, amounts are parsed as exact decimals, and the template already carries the right columns.

name,address,amount,asset,reference

Public limits

  • Rows per CSV10,000
  • File size5 MB
  • Route quotes50 / min on the public Relay API
  • Retriesbounded per organisation, default 3
  • Submission spacing0 to 30 minutes, off by default
  • Rolesowner · finance · approver · viewer

Everything above is enforced on the server and documented in the docs.

In one line

Validate, route, approve, execute, reconcile. Every payout on its own.

Sign in to the demo workspace with seeded batches at every stage, or create your own organisation. No funds move in demo mode; every record is labelled simulated.