How it works
Float vs fixed
Float means the rate settles around when your deposit confirms. You might get a hair more or less than the preview if the market moves—that's normal.
Fixed locks the deal for a short window. You know the target output upfront; send the wrong amount or miss the window and you're in provider-specific refund/adjustment territory. Match the deposit instructions exactly.
Float
Rate around deposit confirmation time; output may move slightly with the market.
Fixed
Agreed receive amount for a window; send the instructed deposit exactly or risk refund/adjustment per rules.
GETIndicative quote
POSTOrder + deposit address
GETLatest progress
Integrators poll status or use partner webhooks for affiliate events. End users rely on the app or order link.
Quotes
GET /swap/quote takes currency_from, currency_to, and either amount_from (float) or amount_to with fixed=true. The response wraps min/max and optional USD reference fields we also use for analytics and affiliate math.
Creating an order
POST /swap/create accepts the pair, amounts, destination, optional receiver_memo_tag, is_anonym, fixed, and optional source. On success you get order_info—that string is the public order id for GET /swap/status.
Status
GET /swap/status?order_id=… returns the latest snapshot inside order_info (status code, amounts, addresses, flags). We may refresh provider state before we answer. In the app you get plain-language copy; integrators poll or use webhooks where we expose them.
What we optimize for in the UI
No account wall for swapping, deposit instructions you can screenshot, and status text that matches what's happening (waiting for funds, routing, payout, etc.). Partners get order lists and analytics under /partner/dashboard and /partner/orders.