Atomic swaps (e.g. via COMIT) are the cleanest privacy story — no third party touches the assets. They're also slow to set up and you need a counterparty willing to make the other side of the trade. uSwap is the convenience-leaning version — non-custodial in practice and you don't have to coordinate with another user. The trade-off is a narrow window where the engine's liquidity sources hold the BTC before sending XMR. For most users the convenience wins; if you want the strictest model, an atomic swap is still the right answer.
Swap BTC to XMR (No Account, No KYC)
Send BTC, receive XMR. No exchange account, no email, no ID. Multi-provider engine races the best rate, with lock-rate available before you deposit.
What this route is
BTC → XMR is the most-requested cross-chain pair on uSwap by a wide margin. There are good reasons for that.
- BTC is the most liquid asset in crypto. It’s what most people are sitting on if they’ve been in crypto for any length of time.
- XMR is the asset they want when they’re paying for something they don’t want logged. Mullvad VPN, an offshore VPS, a private domain registrar, anything where the chain-traceability of BTC is a liability.
- The pair doesn’t have a deep CEX market without KYC. Binance, Kraken, etc. all want ID for fiat-adjacent flows; the no-KYC corner of the market (FixedFloat, ChangeNOW float-rate, SimpleSwap) is the comparable surface. uSwap competes there by racing the engine across multiple liquidity sources per quote.
How uSwap routes this pair
The engine races multiple liquidity sources per quote and picks the winning rate. You see one rate; the engine handles which source actually fills the trade. For this pair specifically, lock-rate is available — you can lock the quote for ~5 minutes before depositing, instead of taking whatever the market gives you when funds arrive.
What this means in practice:
- The engine quotes the best rate at deposit time (or at lock time if you locked). You don’t pick a provider; the engine picks for you.
- If one liquidity source is offline, the engine routes to the next. You don’t notice.
- For large swaps (>$20k) the engine may compose a multi-hop quote — your BTC gets routed through an intermediate asset to source enough XMR liquidity. Still one rate, still one transaction from your side.
Fees
Zero platform fee on the swap itself. uSwap doesn’t charge a spread on top of the underlying rate.
The costs you do pay:
- BTC network fee. Whatever the mempool says. At normal network conditions this is $1–$3; in a fee spike it can be higher. The bridge page surfaces the current estimate.
- The underlying liquidity provider’s internal spread. Every liquidity source takes a small spread on the quote — that’s how the source is profitable. uSwap surfaces the resulting net rate; what you see is what you get.
There is no spread baked into uSwap’s quote on top of the underlying rate. The economics of the engine are subsidized by the spend side — gift cards, Telegram Premium, Discord Nitro — so the swap is free for traders.
Lock-rate or market-rate
For this pair you have a choice:
- Lock the rate. Click “Lock rate” before depositing. The quote is held for ~5 minutes; if you don’t deposit in that window, the lock drops and the quote re-evaluates at the current rate.
- Take the market rate. Don’t click “Lock rate.” Send your BTC; the engine quotes against the current market at the moment the deposit confirms. This is the default and the better choice for most users — the price difference over a 5-minute window is usually small, and you’re not racing the lock timer.
Most users take market-rate. Lock-rate is for the case where you know exactly how much XMR you need to send to a specific destination and the precision matters more than rate optimization.
Privacy considerations
A few honest points about the privacy boundaries here:
- The BTC side is on-chain. Whoever’s tracing the BTC sees a deposit to an aggregator address. They don’t see the XMR leg — XMR is opaque on-chain by design.
- The engine’s liquidity sources know the BTC came from your wallet. They don’t see your identity, but if you’ve signaled your wallet’s identity elsewhere (KYC’d exchange withdrawal, public attribution), they could in principle connect it.
- uSwap doesn’t store anything off the bridge page. No account, no transaction history, no email. The bridge URL is the artifact; it lives in your browser’s localStorage tied to a session token. If you clear your browser, the bridge is gone. If you bookmark the URL, you can return to it.
- The XMR you receive is XMR. It’s not “obfuscated BTC” or “wrapped” — it’s actual Monero, in your wallet, with all of Monero’s normal privacy properties.
For users who want stricter guarantees, an atomic swap (COMIT, etc.) eliminates even the mid-state view of the engine. uSwap is the convenience-leaning version; atomic swaps are the strict-privacy version. Both have their place.
What can go wrong
The honest failure modes:
- BTC fee underestimate, stuck transaction. Your wallet underpays the network fee; the deposit takes hours to confirm. Bridge page shows the wait; you can fee-bump from your wallet’s side.
- BTC arrives after the lock expires. Quote re-evaluates at market rate. Recovery panel offers market-replace / hold / refund.
- Market shifts during the quote window. Rare but happens. The locked quote you took is honored; the un-locked quote moves with the market.
- You undersent. Engine quotes the actual deposit. Recovery flow applies.
- You sent BCH or BTG to the BTC address. The engine attempts to detect and route; if the chain is recognizable from the address format and tx, the deposit can usually be handled. If not, the funds are unrecoverable — same as any wallet error.
Bookmark the bridge
The URL the page lands you on after deposit (uswap.net/bridge/<id>) is the artifact to bookmark. It’s your persistent reference for this specific swap and any future ones from this device — the engine reuses the same bridge for subsequent intents you create from this browser. If you swap BTC → XMR today and then come back next week to do USDT → XMR, the same bridge holds both intents.
(Persistence is per-device. If you clear browser storage or switch devices, the bridge URL itself still exists but you’ll need the URL bookmarked — there’s no recovery via email or password, because there’s no account.)