receiverAccountId, or by your own receiverExternalId if you set one on the account. There are two endpoints, differing only in how you denominate the amount.
Fiat vs crypto
| Fiat transfer | Crypto transfer | |
|---|---|---|
| You specify | a fiat currency + amount | a crypto asset + chain + amount |
| Settles in | the underlying stablecoin, on-chain | the named asset, on-chain |
| Response extra | a fiatOrigin block (currency, amount, exchange rate) | — |
transactionHash.
Prerequisites
The sender account must be verified. For self-custody senders, the wallet must also be active with an allowance to the orchestration wallet — see Approving transfers without gas. The receiver account must be verified too.Create a fiat transfer
Response
/transfers/crypto, sending chain + asset instead of currency (and the response omits fiatOrigin).
Status lifecycle
A transfer’sstatus is PENDING → COMPLETED, or FAILED (with failureCode / failureReason). Settlement is on-chain, so poll Get a transfer — or List transfers, filtering by accountRole (SENDER/RECEIVER) and status.
Idempotency
Every transfer takes a uniqueidempotencyKey; retrying with the same key returns the original transfer instead of sending again. See Safe retries with idempotency keys.
Next steps
Create a crypto transfer
The endpoint reference and full schema.
Payment requests
Reserve and settle a payment from an account’s balance.

