A
crypto conversion always settles to your own merchant wallet on the destination chain. Tender
picks the conversion route automatically. A conversion must be worth more than $20 USD.
How it works
1
Discover supported swap chains and coins
Call
GET /conversions/swap/chains and GET /conversions/swap/coins to find what
source/destination pairs are available.2
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. For fiat, pass toChain=fiat and the fiat currency as toCoin.3
Create the conversion
Call
POST /conversions with the source coin, chain, amount, and destination. The conversion
is queued immediately and processed asynchronously.4
Poll for completion
Call
GET /conversions/{id} until status is completed or failed. There are no conversion
webhooks, so polling is the only way to track progress.Prerequisites
Authentication guide
These endpoints use Signed (HMAC) authentication — an HMAC-SHA256 signature is required on every request. 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. It must be one of
your saved, active payout accounts. If it is a crypto payout account, the converted funds are sent
to its address instead.
Step 3 — Poll for completion
Processing stages
processingStages shows progress in more detail. Use the top-level status to decide when the
conversion is finished.
To get the on-chain transactions behind the stages, with their hashes, call
List Conversion Internal Transactions. The
conversion_send entry is the send that funds the conversion.