Skip to main content

Create a transfer

Every transfer requires a walletId — the wallet you’re sending funds from. This can be a crypto wallet or a virtual account’s wallet.

From a crypto wallet

Response:

From a virtual account wallet

When you create a virtual account, the response includes a walletId. Fiat deposited into the virtual account converts to stablecoins in that wallet. Use that walletId to transfer funds out.
Response:
Virtual account wallets support both crypto and fiat destinations.

Request fields

Reference limits by rail

The reference field is sent to the recipient’s bank. Character limits vary by rail:

Response fields

Every transfer response includes: Additional fields vary by transfer type:

Fees

Ledger charges a flat fee on all transfers, deducted from the source amount before sending:

Onchain vs fiat transfers

For fiat transfers, the customer must have completed KYC verification and have a payout account created first.

Tracking transfers

After creating a transfer, track its progress via:
  • GET /v1/transactions/{id} to poll the status
  • Subscribe to transaction.updated webhooks for real-time updates
For crypto transfers, the destinationTxHash field populates once settled onchain.