Skip to main content
This guide walks through the full onramp flow: deposit fiat into your account, convert it to a stablecoin, and pay it out to a blockchain wallet.

Prerequisites

  • An active account with a fiat balance (funded via bank transfer to your account’s funding method)
  • A crypto beneficiary registered for the destination wallet

Flow overview

  1. Fiat lands in your account (e.g., a wire transfer credits your USD balance)
  2. Create a quote to convert USD to USDC
  3. Execute the quote — balances update atomically
  4. Pay out the USDC to a crypto beneficiary

Step 1: Check your balance

Verify that fiat funds have arrived by fetching the account:

Step 2: Register a crypto beneficiary

If you haven’t already, create a crypto beneficiary for the destination wallet:
chainDisplayName and platform are null on create responses. They are populated when you fetch the beneficiary later.

Step 3: Create a quote

Request a quote to convert USD to USDC. You can specify either fromAmount (how much to sell) or toAmount (how much to receive):
The response tells you exactly what you’ll get: 10,000 USD converts to 9,997 USDC after a $3.00 spread fee. The spread object shows the fee amount and which asset it’s denominated in (always the source asset).
Quotes expire after 5 minutes. Execute the quote before expiresAt or create a new one.

Step 4: Execute the quote

Execute the quote to complete the trade. Balances update atomically — USD is debited and USDC is credited in a single operation:
Your account now holds 9,997 USDC.

Step 5: Send crypto payout

Send the USDC to the registered crypto beneficiary:
The response includes the on-chain txHash — you can verify the transaction on a block explorer. Funds are debited immediately and the payout completes in a single request.

Summary

StepEndpointWhat happens
Check balanceGET /v1/accounts/{accountId}Verify fiat has arrived
Register beneficiaryPOST /v1/beneficiaries/cryptoOne-time setup for the destination wallet
Create quotePOST /v1/quotesLock in an exchange rate for 5 minutes
Execute tradePOST /v1/quotes/{quoteId}/executeConvert fiat to crypto atomically
Send payoutPOST /v1/transactions/crypto-payoutsSubmit on-chain and debit the account