Skip to main content
Five steps take 0.005 BTC on Bitcoin to USDT on Ethereum. Every URL builds on https://api.vane.xyz/api. Pricing and order creation need a tenant API key in the x-tenant-api-key header. The key in these examples is Vane’s shared tenant key, so the commands run as written, and it’s all a normal integration needs. If you need custom parameters or separate order tracking, such as for a wallet integration, contact support for a dedicated API key. Keep any key on your server. If you get a 401 back, fix that header first (Authentication).
1

List tokens

The catalog is public, over 2,000 tokens on 18 chains.
Offer only tokens with active: true whose blockchain.depositsActive is also true.
2

Get a quote

amountIsDeposit=true prices from the deposit side; false fixes the settle amount instead. Quotes don’t enforce limits, so an oversized amount still returns 200 with slippage folded into exchangeRate. Check GET /v1/tokens/swap-limits for the pair before showing a price.
settleAmount stays indicative until your deposit confirms.
3

Create the order

The 201 response carries uuid, a deposit address (walletAddress) generated for this order alone, the binding minimalAmount and maximalAmount, and a timeout about 30 minutes out. The uuid alone grants read access to the order, so persist it server-side and keep it out of public URLs.
4

Fund the deposit

Send BTC from any wallet to walletAddress. Send the exact token and chain the order names; anything else won’t go through. Keep the amount between minimalAmount and maximalAmount, since creation never checks your intent against them. Beat the timeout; a detected deposit stops the expiry clock for good. After the chain’s confirmations, a solver fills the order and USDT arrives at your receivingAddress (how solvers fill orders).
5

Track it to COMPLETED

Poll GET /v1/orders/{uuid} with no headers until the status reads COMPLETED, ERROR, or TIMED_OUT. A mistyped UUID returns 500, not 404.
At COMPLETED, settleAmount is the exact amount delivered and exchangeWithdrawTx holds the delivery hash. For push updates over SSE, see Track orders.