Privacy
The wallet is the account
Why uSwap structurally can't ask for your ID. A short essay on the architectural choice behind a venue that doesn't have an account system at all.
The standard pitch for a no-KYC crypto service is “we don’t ask for ID.” The pitch we’d like to make is “we can’t ask for ID.” Those are very different sentences and the difference is the whole product.
”Don’t” vs “can’t”
A centralized exchange that doesn’t ask for ID is making a policy choice. The product has an account system, a database row for you, a balance attributed to your row, a withdrawal path that touches that row. If a regulator subpoenas the company tomorrow, or the risk team flags your trade pattern next week, the product can require ID and freeze the balance until you comply. The “no KYC” promise is true until it isn’t.
The alternative is to design the product so that no row exists. No account system, no balance attribution, no withdrawal review surface. There’s nothing to subpoena and nothing to freeze, because the product doesn’t hold anything on your behalf.
That’s the version we’re trying to build.
What that looks like in practice
When you use uSwap, here is the full trail the product retains about you:
- A deposit address that was generated for an asset you said you wanted to swap.
- The on-chain transaction of you sending crypto to that address (which is public anyway).
- The route we used to fulfil the swap (which DEX partner, what path).
- The on-chain transaction of the destination asset being sent to whatever address you specified (also public).
There is no email, no phone number, no password, no KYC document, no wallet signature, no account ID, no real-world identity link. The deposit address itself is the closest thing to an “account” — and it’s just a one-way drop box for an asset, not an identity primitive.
If you swap again next week, the deposit address is the same one we generated for you on day one (it’s lifetime — that’s a deliberate feature). But “deposit address used twice” is not “user identified twice” — it’s “the same drop box was used twice.”
The wallet is the account
When you sign in to a normal product, you’re proving “I am this user.” When you swap on uSwap, you’re proving “I control this private key” — by sending a transaction signed with it. That’s a stronger proof than any password and it lives entirely on your side of the wire.
So the wallet is the account. Your private key is the only thing you need to use the product. We never see it, we never ask for anything related to it, and we never establish a separate identity to attach to your activity.
This means a few things flip:
- No password reset flow — there’s no account to recover.
- No withdrawal review — there’s nothing for us to release.
- No frozen balance — we never had your funds, only routed them.
- No “ask for ID at threshold $X” — there’s no threshold engine to flag.
- No compelled-disclosure surface — we have nothing to disclose.
What we still log
We’re not pretending we log nothing. We do retain operational data:
- Which deposit address goes with which intended destination asset and address.
- Which DEX partner we routed through.
- The settlement transaction hashes.
This is the minimum required to handle a swap going sideways (wrong asset, wrong amount, wrong network) and to settle dispute scenarios. It rotates and it’s not linked to real-world identity because we don’t have any to link.

What it costs the operator
This isn’t free for us, and that’s worth being honest about. Skipping the account system means:
- No recurring engagement metric. We can’t measure “MAU” or “retention” the way a normal product does because there’s no user identity to retain. The unit of repeat-engagement is the lifetime deposit address, which is closer to “Stripe Customer ID” than “logged-in user.” We can see whether the same address came back; we can’t see whether the same person came back across multiple addresses.
- No email channel. No newsletters, no “win-back” campaigns, no recovery flows. Marketing happens through public channels (Telegram, X) because there’s no email list to push to.
- No personalization. We can’t show you “your previous swap pairs” or “recommended for you” because we don’t know who “you” are. The product treats every visit as if it could be a new user.
- No fraud-detection surface in the traditional sense. A normal financial product runs ML against account history to flag suspicious patterns. We don’t have that — the routing layer’s safety mechanisms operate on the swap itself (slippage limits, route timeouts), not on a user profile.
We lose those product affordances on purpose. Each one would require an account abstraction that opens the surface area we’re choosing to close.
What it gives users that they often don’t notice
The product affordances we gain by skipping accounts are less obvious because they’re absences rather than features:
- No password to manage. No reset flow, no 2FA prompts, no email recovery question. You sign with your wallet key, which you already have.
- No “you’ve been signed out” frustration. There’s no session. Every interaction is stateless from the product’s view.
- No personalized ad targeting. We can’t sell behavioral data because we don’t collect it.
- No “your account has been suspended.” There’s no account to suspend.
- No “we noticed unusual activity on your account.” Same.
- Cross-device by default. No login flow means switching from desktop to phone is identical — your address works everywhere because it’s a public key, not a session.
Most of these are invisible until you’ve used a service that does have them and notice they’re gone.
Why this matters more than “don’t ask”
If you’ve used a “no KYC” service before, you may have hit the moment where your trade got flagged, the platform asked for documents, and your funds sat in limbo until you decided whether to comply. That moment exists because the architecture allows it. The architecture allows it because there’s an account-and-balance abstraction sitting between you and the swap.
Remove that abstraction and the moment becomes impossible. Not improbable — impossible. We can’t generate a “please verify” email because there’s no email to send it to. We can’t freeze your balance because we don’t hold a balance. We can’t ask you to confirm your identity because we don’t have a record of you to verify against.
That’s the bet. The bet is that architecturally private beats promised private, every time, even when the promise is sincere.
The next thing to read, if you want a worked example: Swap BTC to XMR without KYC — the same architecture applied to one specific trade. For the taxonomy of what “no-KYC” means at other operators: What “no-KYC” actually means. For the honest comparison across services: Best no-KYC crypto exchanges 2026.
Keep reading
More from the blog
Pay Mullvad VPN in Monero (the privacy-first stack)
Mullvad sells VPN time for cash-by-mail. uSwap is the digital equivalent — pay in Monero, BTC, or any crypto, and uSwap routes to XMR and credits your 16-digit Mullvad account number.
Best cross-chain crypto swaps 2026
Cross-chain swap services compared by architecture (intent-based vs bridge), supported chains, custody, slippage, settlement speed, and account requirement.
Best no-KYC crypto exchanges 2026
A ranked, honest look at no-KYC crypto exchanges in 2026 — what 'no-KYC' actually means at each, where the line between 'won't ask' and 'can't ask' falls, and which one fits which use case.