Skip to main content
POST
Create a batch crypto transfer

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Batch crypto transfer details. Between 1 and 50 destinations, each with exactly one of walletId or externalWalletId and its own amount. The chain is derived from the source wallet.

Create a batch crypto transfer that sends the same currency from one source wallet to up to 50 destinations, each with its own amount. The chain is derived from the source wallet. Each destination must supply exactly one of walletId or externalWalletId.

requestId
string<uuid>
required

Client-supplied idempotency key. Reusing a requestId returns the existing transfer or a conflict.

Example:

"b1e6f0c2-1a2b-4c3d-9e8f-0a1b2c3d4e5f"

currency
enum<string>
required
Available options:
USDC,
USDT,
USDG,
PYUSD,
PYUSD0,
USDCX
Example:

"USDC"

source
object
required
destinations
object[]
required

Between 1 and 50 destinations. Each item provides exactly one of walletId or externalWalletId plus an amount.

Required array length: 1 - 50 elements
requireApproval
boolean

When true, the batch transfer is created in a pending-approval state and must be approved before execution.

Example:

false

Response

Batch crypto transfer created successfully.

A batch crypto transfer.

id
string

Public ID of the batch crypto transfer (prefixed with bctx_).

Example:

"bctx_2mNpXwZ7bV1aLcs3Kf9dQ"

requestId
string<uuid>

Client-supplied idempotency key.

Example:

"b1e6f0c2-1a2b-4c3d-9e8f-0a1b2c3d4e5f"

currency
enum<string>
Available options:
USDC,
USDT,
USDG,
PYUSD,
PYUSD0,
USDCX
Example:

"USDC"

status
enum<string>
Available options:
NOT_INITIATED,
CREATED,
PENDING_APPROVAL,
APPROVED,
REJECTED,
EXPIRED,
INITIATED,
PENDING,
COMPLETED,
FAILED,
QUOTE_FAILED,
OPEN_QUOTE,
UNKNOWN,
CANCELLED
Example:

"CREATED"

failedReason
string | null

Reason the batch transfer failed, when applicable.

Example:

null

source
object
destinations
object[]
contractAddress
string | null

Token contract address for the transferred currency.

Example:

"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359"

receipt
object

On-chain settlement references. Fields are null until the batch is submitted on-chain.

chain
enum<string>

Blockchain the batch transfer settles on, derived from the source wallet.

Available options:
ETHEREUM,
POLYGON,
SOLANA,
BASE,
ARBITRUM,
FLOW_EVM,
CANTON,
TRON,
BSC
Example:

"POLYGON"

createdAt
string<date-time>
Example:

"2026-07-01T10:30:00.000Z"

updatedAt
string<date-time>
Example:

"2026-07-01T10:30:00.000Z"