> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vane.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Treasury conversions

> Convert balances between chains and assets from a backend job, accountless, with one tenant key.

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](/features/no-accounts), 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](/features/solver-auctions). 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](/api-reference/track-orders).
