beta 1.28.3

How to use

A full swap, start to finish. No account, no wallet connection, no JavaScript — you paste an address and send one deposit.

1

Quote

pick pair
on /swap choose amount and the two coins, hit Quote. We ask every live line and show the best output on top, the rest as alternatives.
read it
the big number is what you receive after all fees — our 0.50% margin is already inside it. Protocol total and the min-in are printed under it. Every protocol quote is protected: it carries an on-chain minimum, and anything below it the protocol refunds instead of executing.
changed the pair?
there is no JavaScript here, so numbers don't recalculate as you click — after changing coins or amount, hit ↻ get new quote and the same page reloads with fresh protocol answers. One request, nothing tracking your keystrokes.
2

Pick a route

best vs alt
the top line wins on output. Want a different one? Click any alternative — the page re-quotes on that line and marks it your pick.
quiet lines
a line that can't serve the pair right now is listed as quiet with the reason. That's protocol state, not an error on your end.
3

Deposit

paste address
enter the address that receives the output. We checksum-validate it before creating the swap — a typo is caught here, not after you send.
chainflip refund
on Chainflip you also give a refund address on the source chain — the protocol returns funds there if the swap can't execute (fill-or-kill).
old addresses die
After a new quote or a new swap, every earlier deposit address is void. Protocol vaults rotate; a deposit sent to yesterday's address can be unrecoverable. Send only to the address on your current /s/ page.
minimums
each line has a minimum per swap — below it the deposit can be eaten by network fees. Live minimums for every coin we carry: /assets; your exact min-in is printed on every quote.
send once
you get a deposit address and, on THORChain/Maya, a memo. Send the exact amount with the exact memo, once. The address is valid for a short window shown on the page — never reuse an old one.
4

Track & verify

track
your swap page is /s/SP-XXXXX. Find it any time on /track by reference, deposit txid or deposit address. Keep the reference.
receipt
each swap ships a PGP-signed receipt tied to our signing key. Check it against the key on /verify — the fingerprint there matches the one that signed your receipt.

Before a large swap — look at the depth

A quote answers one question: what you get for this amount. /depth answers the next one: how much size the route takes before it starts costing you. Every number there is a live quote we asked for at a fixed size — nothing is modelled from pool depth, nothing is extrapolated past the last measurement.

What the depth page tells you

why look first
price impact grows with size, and it grows differently on each line. The depth page compares them at the same sizes, so you pick the route before you send, not after
measured, not modelled
a ladder of live quotes at fixed sizes on every line that carries the pair. A pair nobody has looked at recently has no snapshot until it is measured — that takes about 30 seconds
minimum and ceiling
below the minimum the line refuses; above the ceiling it stops quoting, runs past 10%, or stretches past an hour. Both are measured on the route, not assumed
the snapshot is frozen on your swap
the depth you were shown at creation is stored with the swap and printed on your /s/ page, so what you decided on stays readable afterwards

Five states — and none of them is an empty screen

curve drawn
a snapshot exists. It says Fresh snapshot, or names its age and that a refresh is already queued — a stale number is shown as measured, never as current
measuring
Measuring — takes about 30 seconds. Your visit queued it; reload and it is there. Nothing is drawn from estimates in the meantime
no curve, reason named
the floor, ceiling and fee breakdown still stand on their own, and the reason is printed: no dollar reference price for the axis, only one size measured, or every route that carries the pair is halted right now
no line carries the pair
that is coverage, not a failed measurement — there is nothing to measure. Coverage by line is on /lines
partner gate (XMR pairs)
Partner rate · ≈0.5% embedded · no depth to measure. The gate quotes one rate with its margin already inside; there is no pool behind it, so a curve would be invented

Memos — read before you send

On THORChain and Maya the memo is the swap: destination, limits and our route live in that one string. Chainflip, Relay and the XMR partner gate don't use memos — their deposit address alone carries the intent.

Refunds return to the sender.On UTXO chains the refund goes to the first input address — never send from an exchange or shared wallet, and don't use HD wallets that move change to a new address.

Memo rules on memo routes (THORChain · Maya)

when it's required
every deposit on a THORChain or Maya route. Your /s/ page prints the exact string next to the deposit address — paste it byte-exact, an edited memo can send funds elsewhere
btc · bch · ltc · doge · dash
attach as an OP_RETURN output in the deposit transaction — 80-byte limit on these chains. Most exchange withdrawals and many mobile wallets cannot do this
eth & erc-20 · avax · bnb
the memo travels in the transaction data of the protocol router deposit call
atom · xrp · rune · cacao
the native memo field of the transaction (XRP: Payment type only)
skipped or broken memo
the protocol automatically refunds an invalid deposit to the sending address, minus the source-chain fee (fact: dev docs, verified 2026-07-19). Worse cases: memo over 250 bytes or an amount at/below the dust threshold — the network ignores such transactions entirely
wallet can't attach a memo?
Do not send. Use a wallet with memo / OP_RETURN support, or pick a route that needs none (Chainflip, Relay, XMR gate)

Lost or wrong? Wrong memo or a deposit after the window can be unrecoverable — quote again rather than reusing an address. Stuck swap with a valid deposit → /contact with your SP-reference.

ratesBTC $82,152ETH $2,414XMR $589SOL $103RUNE $0.647 protocol pool mid · xmr via public market data · refreshed each minute

Product

SwapPopular pairsTrack a swapAPI for agents

Learn

How to useGuidesFeesCoins & limitsDepth by size

Trust

VerifyPGPCanaryLines statusAbout & contact

Legal

TermsPrivacyDisclaimersecurity.txt