ZeroFee Swap
Deposit swaps
Every ZeroFee swap starts the same way: no account, no wallet to connect. Say what you send and what arrives, get a one-time deposit address for your swap, and send the exact amount to it from any wallet or exchange, Bitcoin included. It lands at the address you chose.
Why it works this way
- There is nothing to sign up for and nothing to connect. You never sign anything on ZeroFee.
- You can pay from an exchange, a hardware wallet or any wallet app you already use.
- You can pay from any chain in the list, including chains with no wallet integration, such as Bitcoin, Zcash, TON or Tron.
How it works
The deposit address belongs to the protocol that carries your swap, not to ZeroFee. ZeroFee asks for it, shows it to you and follows the order. With the ZK pool as the first privacy step and SOL as your coin, the address is instead a temporary wallet made in your browser; you send to it the same way.
Step by step
- 1
On the swap page, pick what you send and what arrives, and enter the amount.
- 2
Enter the receiving address on the destination chain and your refund address on the chain you pay from. Both are checked against the chain's address rules. Until they are filled in, the price is an estimate.
- 3
Check what arrives, the time and the cost. Then press Get deposit address (or Start private swap with privacy steps on).
- 4
The swap's own page (
/swap/<id>) opens. While a deposit is due it shows a QR code and Send exactly this from any … wallet or exchange, with the Amount, the To address and, when the chain needs one, the Memo / tag. It also names the only coin and network the address accepts, and how long it keeps accepting. Use the copy buttons rather than retyping. - 5
From your wallet or exchange, send exactly that amount, of that coin, on that network, to that address.
- 6
The checkpoints move on as soon as your deposit is seen, and the whole track turns green when the swap lands. A single-deposit swap keeps going even if you close the page.
Paying from an exchange?
Who issues the deposit address
- NEAR Intents: any pair where both coins are on its list. It is asked first, and crosses chains confidentially where NEAR allows it.
- Relay: coins NEAR Intents doesn't list, on the chains where Relay issues deposit addresses.
- Two steps through USDC (NEAR Intents and Relay), when no single protocol can carry the pair. Each step pays the next one's deposit address directly.
- The Monero step, when it is on: it issues the deposit address for your coin and pays on to your payout. Monero hides the sender, the receiver and the amount (ring signatures and stealth addresses). Your coins are held for a few minutes on the way; see Privacy protocols.
If none of these can carry the pair right now, the button says why; see Chains & tokens.
Paying with a coin no deposit route takes
Deposit routes only take major coins, so a memecoin such as FARTCOIN on Solana or CLANKER on Base can't be sent to one. For these the app makes a temporary wallet in your browser and you send the coin there instead. Its key is saved in this browser and in the recovery file you save before Start. The wallet swaps your coin into a major coin on the same chain, signing the swap itself: SOL on Solana through Jupiter, or the chain's own coin or USDC on an EVM chain through Relay. It then pays that coin into the normal deposit route to your receiving address. On Solana, Jupiter covers the network fee from about $10, so you send only the coin. Below that, it is two sends, the 0.01 SOL first, and any SOL left over rides along with your swap. On an EVM chain it is always two sends, gas first: the card asks for a little of the chain's coin for gas (twice what the wallet's transactions cost at today's price), and shows your coin's amount once the gas has arrived. If the coin arrives first anyway, the page says so and asks for the gas. Unused gas goes back to your refund address at the end, and the wallet ends empty. If any step stops, Send my money back returns your coin itself to your refund address, together with the leftover gas. The cost shown includes the wallet's swap, its network fees and the route. The API prices this route under prehop in a quote but doesn't create it, because the wallet's key has to stay with you.
Memos and tags
Some chains (XRP Ledger and Stellar, for example) identify the recipient of a deposit with a memo or tag as well as the address. When the protocol returns one, it is shown as Memo / tag. Include it exactly. A deposit that arrives without a required memo may not be credited to your order.
Expiry
A deposit address is tied to a price. NEAR Intents keeps its address open for about three days, and the swap's page counts down until it stops accepting; Relay doesn't give an expiry. The price is held for much less: if it moves past your slippage before your deposit lands, the deposit is refunded. So send soon. If you are unsure whether an address is still good, don't send: start the swap again and use the new address.
Refunds
The refund address you entered is given to the protocol when the order is made. If the swap can't complete, the protocol sends your coins back there, on the chain you paid from, and the swap shows as refunded.
- Privacy steps: a step that fails is tried once more on a different route. If it still can't finish, your money goes back to your refund address automatically.
- Monero step: its first part is given your refund address. Its second part has none, because you hold no Monero address; if it fails after the XMR has been sent on, talk to support from the button on the swap's page.
Tracking
The swap's page follows the order live. Under Track it links to the protocol's own page, such as the NEAR Intents explorer or Relay's transaction page. While the swap runs, this browser remembers it, so the page survives a reload; once it finishes, the browser forgets it. A swap that stopped keeps its details on its page until you choose Forget this swap, 30 days at most, so support can find it.
Same browser, and only while it runs
If you sent the wrong amount, coin or network
A different amount or coin can delay or refund the swap. What happens next is decided by the protocol's rules.
- Don't send again to fix it. A second deposit is a second payment.
- Talk to support with the button on the swap's page. It opens @ZeroFeeSi_bot on Telegram with the swap attached. The page has already told our team if the swap stopped, and the deposit address goes with you so we can look it up.
- A deposit on the wrong network or in the wrong coin may not be recoverable at all. Treat the address as chain- and coin-specific.
More on what the swap's page shows: How it works. Ready? Open ZeroFee Swap, see the full cost in dollars and get your deposit address.