Swap anything to anything: a tour of uSwap

A walkthrough of the universal swap idea: every uSwap surface — crypto-to-crypto, gift cards, Telegram, Discord, VPN, and reloadable virtual cards — is the same routing primitive applied to a different destination.

uSwap blog hero — swap anything to anything

Most crypto products lock you into a category. Exchanges only do crypto-to-crypto. Checkout services only sell gift cards. Telegram storefronts only sell Telegram things. The user has to figure out which one to open based on what they want.

uSwap doesn’t have categories. It has one primitive: the swap.

Asset A becomes asset B. A is the source asset you send. B can be another token, an Amazon gift card, three months of Telegram Premium, a Discord Nitro subscription, six months of Mullvad VPN, or an eligible reloadable virtual-card route.

Every product surface, but it’s the same product

When you open uSwap today, this is what’s behind each screen:

  • Crypto → Crypto (the swap engine). Choose a supported source and destination asset, then review the live quote and route details before sending. Available providers and networks vary by pair.
  • Crypto → Gift card. The destination “asset” is a redemption code. The swap engine sources the brand stock from our gift card partners; the code lands in-app when your deposit confirms.
  • Crypto → Telegram Premium / Stars / boosts. The destination is time on a Telegram account number or a Stars balance. We route through Telegram’s payment rails behind the scenes.
  • Crypto → Discord Nitro / boosts. Same idea — the destination is Nitro time or a boost slot on a server you specify.
  • Crypto → Mullvad VPN time. The destination is days credited to a 16-digit Mullvad account number.
  • Crypto → Reloadable virtual card. The destination is an eligible card route. Card-program terms, availability, and destination requirements vary by route.

The UI of each one is just a different “destination” picker on top of the same swap engine.

Why this shape

There were two practical things that pushed us this way.

The first — when we built the swap, the hardest part wasn’t getting a quote. It was handling all the weird edge cases. Sent the wrong asset. Sent the wrong network. Sent a different amount than quoted. We built a recovery flow inside the swap that exposes those choices directly to the user instead of routing them to support.

Once that recovery flow existed, every additional “product” we built was the same problem in a different costume. Gift cards? Same recovery flow. Telegram Premium? Same recovery flow. The expensive infrastructure was already there.

The second — we realized that “buy X with crypto” is a user-experience lie. The user doesn’t have X-buying intent; they have X-getting intent. Whether their wallet holds BTC or ETH or USDT or XMR is a detail the product should solve for them, not a question they should answer at checkout. Universal swap means the product holds that detail, not the user.

What stays the same across every surface

  • Route-specific requirements. Providers may apply identity, eligibility, sanctions, transaction-limit, or geographic controls.
  • Quote before sending. Review the amount, destination details, route costs, and restrictions shown for the selected route.
  • Platform fee policy. uSwap platform fees are 0% every weekend (UTC); network, provider, and destination costs can still apply.
  • Recovery options. Route status and any available recovery choices are surfaced in the flow.
  • Deposit-address routing. A source asset may have a persistent deposit address; re-check the destination and live quote for every send.

What’s next

The same model can support additional surfaces over time:

  • Fiat ↔ Crypto — a route where A can be fiat, subject to the availability and requirements of the relevant provider.
  • Programmatic swap pairs — the universal swap exposed at the URL level. A pair-specific route can start from a page such as /swap/btc-to-xmr and still requires a current quote before funds are sent.

Both are extensions of the primitive, not new categories.


For the routing model behind the app, read How crypto routing works. For a supported crypto destination, open the BTC to XMR route and review the live quote before sending.