Skip to main content
Vane turns a treasury conversion into a backend job: quote, create an order, send one deposit from your hot wallet, and the target asset arrives on the target chain. The whole thing runs accountless. One x-tenant-api-key header on every call, no sign-in or session to maintain, and Vane’s shared tenant key is all a normal integration needs. The same code converts ETH into native BTC or USDT between any two of the 18 chains. Settlement is a solver fill against escrow. Orders cost nothing to create; until you fund the deposit address nothing is at risk, and an unfunded order expires after about 30 minutes.

Make creation idempotent

Accountless orders aren’t listed anywhere for you (GET /v1/orders needs a signed-in user), so your database is the system of record. Persist before you act, and key every deposit to exactly one stored order.
  1. Insert a conversion row in state created with the pair and amount.
  2. Call POST /v1/orders/create; store uuid, walletAddress, minimalAmount, maximalAmount, and timeout on the row before doing anything else.
  3. Broadcast the deposit once, recording its tx hash on the same row.
  4. Track GET /v1/orders/{uuid} to a terminal state and store the final settleAmount.
Endpoint shapes and tracking patterns live in Track orders.