| Type | What it does |
|---|---|
crypto | Swaps a coin on one chain to a different coin or chain (e.g. USDT/Ethereum → SOL/Solana) |
fiat | Converts crypto balance to fiat and sends it to a saved payout account |
How it works
Discover supported swap chains and coins
Call
GET /conversions/swap-chains and GET /conversions/swap-coins to find what
source/destination pairs are available.Check the fee
Call
GET /conversions/fee/{chain}/{coin}/{amount} to get a fee quote and estimated output
before committing. For crypto swaps, pass toChain and toCoin as query params to get a
destination-specific estimate.Create the conversion
Call
POST /conversions with the source coin, chain, amount, and destination. The conversion
is queued immediately and processed asynchronously.Prerequisites
Authentication guide
All requests require an HMAC-SHA256 signature. See the authentication guide for code examples.
Step 1 — Check the fee
Always fetch a fee quote before creating a conversion so you can show the cost to the user.Step 2 — Create a crypto swap
Step 2 (alt) — Create a fiat conversion
To convert to fiat, supply apayoutAccountId instead of toChain/toCoin.
Step 3 — Poll for completion
Processing stages
| Stage | What happens |
|---|---|
sendForConversion | Funds sent to the conversion provider |
conversionState | Provider executes the swap |
settleCrypto | Converted funds delivered to destination |
Error handling
| Scenario | Action |
|---|---|
| Amount below minimum | Check fee.amountAfterFee > 0 before creating |
| Unsupported swap pair | Verify pair exists via /conversions/swap-chains and /conversions/swap-coins |
Stage status: "failed" | Read the stage’s lastError field; retry or contact support |