uSwap Zero

Verifiable. Zero fee. No JavaScript.

uSwap Zero is the open-source companion to uSwap — a single Go binary that swaps 164 tokens across 32 chains via NEAR Intents. Zero app fee, no JavaScript, no cookies, no tracking. Verifiable deployment.

What it is

The minimal, auditable companion to uSwap.

zero.uswap.net is an open-source crypto swap frontend in the same shape as the full uSwap, sliced down to the smallest possible operator trust surface. It's a single Go binary with zero external dependencies, served as pure HTML and CSS (no JavaScript), running inside a FROM scratch Docker container that contains nothing except the binary and TLS certs.

Under the hood it's a NEAR Intents passthrough: quotes are requested with appFees: [], the response is rendered untouched, the user sends crypto to a one-time deposit address generated by NEAR Intents directly. No routing layer of our own. No spread baked into the quote. No app fee. The trade-off is that Zero doesn't cover the other half of the full uSwap — gift cards, Telegram, Discord, VPN, prepaid cards — because the point of Zero is to do one thing verifiably.

0% app fee MIT licensed No JS No cookies No tracking 164 tokens · 32 chains Tor onion available

Why it exists

"Don't trust us. Verify."

Every other no-KYC swap service — including the full uSwap — asks you to trust that the operator does what they claim. Zero is the answer to "what would a swap frontend look like if it had nothing to trust?" Every claim is mechanically checkable. Every behavior is in code you can read. Every deployment is a commit hash you can rebuild.

Code

One Go file at a time

The /verify page flags the specific files that matter — fee handling, logging, encryption, templates — and asks you to read them. nearintents.go is the one to check for the no-app-fee claim.

Build

Reproducible binary

Clone, checkout the commit hash shown at /verify, run go build, compare bytes against what's running. Single binary, zero deps — there's nowhere for a backdoor to hide.

Container

FROM scratch

The Docker image is empty except for the binary and TLS certs. No shell, no package manager, no base distro. The image digest is published; you can pull and inspect it byte-for-byte.

Runtime

No JavaScript anywhere

Server-rendered HTML and a single CSS file. No analytics. No cookies. No external requests from the page. The browser tab loads, the form submits, the response is HTML.

Abstract uSwap Zero composition — verifiable build artifact in glass

Zero vs full uSwap

Same operator. Two product shapes.

Both are run by the same team. The difference is what's inside the box.

PropertyuSwap ZerouSwap (full)
RoutingNEAR Intents passthrough only7+ DEX partner network
App fee0% — quoted with appFees: []0% platform fee
Source codeOpen source (MIT) on GitHubFrontend open, routing infrastructure private
Reproducible buildYes — single Go binary, zero depsNot applicable (managed infra)
JavaScriptNoneAstro static + minimal runtime JS
Cookies / analyticsNoneNone
Asset coverage164 tokens · 32 chains30+ networks, similar coverage
Telegram botYes — same binaryWeb-only
Tor onionYesWeb via clearnet
Spend products (gift cards, Telegram Premium, Discord Nitro, VPN, prepaid)NoYes
Wrong-network / wrong-asset recovery UIRefund-onlySelf-serve recovery
Self-hostableYes — go run .No

Pick the right one

When Zero is the right tool.

Audit the code

You want to read every line

Zero. The whole frontend is a few thousand lines of Go you can read in an afternoon. The full uSwap has more moving parts.

No-JS / Tor

You browse with JS off

Zero. The full uSwap works without JS too but isn't purpose-built for it. Zero is.

Self-host

You want your own instance

Zero. git clone, set an env var, run it. The full uSwap is centrally operated.

Spend in crypto

You want gift cards, Telegram, Discord, VPN

Full uSwap. Zero is swaps only. Spend products are a uSwap-side feature.

Routing breadth

Long-tail pairs / route depth

Full uSwap. The 7+ DEX partner network catches more obscure pairs than NEAR Intents alone.

Recovery

You want full wrong-asset rescue

Full uSwap. Zero is refund-on-failure; the full uSwap surfaces re-quote / redirect / refund options in-app.

FAQ

uSwap Zero questions

How is uSwap Zero different from uSwap?
Same team, different shape. uSwap is the full universal swap service — routes across 7+ DEX partners (NEAR Intents + others), bundles gift cards, Telegram Premium, Discord Nitro, Mullvad VPN, and prepaid cards under one address. uSwap Zero is the strict-minimum reference frontend — just NEAR Intents passthrough, just swaps, single Go binary, every line of code auditable. Pick uSwap for breadth, Zero for verifiability.
Is there really no app fee?
Yes. uSwap Zero requests quotes from NEAR Intents with appFees: [] — the quote you see is the quote the protocol returns, no markup. You still pay the market-maker spread (typically 0.1-0.5%) and any network gas, both of which go to the underlying protocol/network, not to uSwap. There's a fee-transparency case study at zero.uswap.net/case-study that compares Zero against three other NEAR Intents-based frontends using public on-chain affiliate-fee data.
What does "verifiable deployment" actually mean?
The running binary's commit hash, build timestamp, CI logs, and container image digest are published at zero.uswap.net/verify. You can clone the repo at that commit, run go build, and compare the resulting binary against what's deployed. The container is FROM scratch — empty except for the binary and TLS certs — so there's nothing else to audit. The /verify page also flags the specific files that handle fees, logging, and crypto for easy review.
Why no JavaScript?
Three reasons. First, the smaller the runtime surface, the smaller the supply-chain attack surface — pure server-rendered HTML can't be compromised by a malicious npm dependency. Second, no JS means no analytics, no fingerprinting, no behavioral tracking — the only data the server ever sees is the HTTP request you sent. Third, it means the site works in Tor Browser at the safest security level (which disables JS by default) and on terminal-based or low-bandwidth setups.
When should I use Zero vs the full uSwap?
Use Zero if you specifically want to audit the code, run it locally, use Tor, or only need NEAR Intents-routed swaps with the smallest possible operator trust surface. Use the full uSwap if you want gift cards, Telegram Premium / Stars / boosts, Discord Nitro / boosts, Mullvad VPN, or prepaid cards alongside swaps — Zero doesn't cover those. The two share the same operator and the same security posture; they're sliced for different users.
Can I self-host uSwap Zero?
Yes — that's the point of the open-source release. git clone the repo, set an ORDER_SECRET env var, run go run . or go build. No database, no migrations, no external services required. The optional Telegram bot wires up if you provide a bot token. Tagged releases include precompiled binaries for Linux / macOS / Windows on amd64 + arm64.
Is there a Telegram bot version?
Yes — @uSwapZero_Bot. Same swap engine, same NEAR Intents passthrough, same zero app fee, rendered as monospace cards inside Telegram. The bot is part of the same single Go binary; self-hosters get it for free by setting TG_BOT_TOKEN.