Skip to main content
Batch disbursements are exposed at /api/v1/merchant/disbursement/*. All routes require signed requests. Supported settlement tokens are USDC on Base (8453), USDC on Ethereum (1), plus ETH on those chains. TEST uses Base Sepolia (84532). See Disbursement tokens.

Account summary

GET /api/v1/merchant/disbursement/account Returns treasury balance, reserved funds, and environment.

Quote a batch

POST /api/v1/merchant/disbursement/batches/quote Get fees and validate chainId + token before creating a batch.

Request body

Create a batch

POST /api/v1/merchant/disbursement/batches

Request body

Each recipient:

List batches

GET /api/v1/merchant/disbursement/batches

Get batch

GET /api/v1/merchant/disbursement/batches/:id Returns batch status, recipients, and per-recipient payout status.

Cancel batch

DELETE /api/v1/merchant/disbursement/batches/:id Cancels a SCHEDULED batch before processingAt.

Ledger

GET /api/v1/merchant/disbursement/ledger Paginated ledger entries for the disbursement account.

Account transfers

idempotencyKey must be 8–200 characters. Replaying the same key returns the original result.

Constraints

Platform minimums (USD equivalent): After dispatch starts, recipients typically receive funds within ~2 minutes per on-chain chunk (capped at 120 minutes). See Payout timing.