Fiat on-ramp checkout
Pick "buy with cash" on the uSwap app, match with a peer, and pay them with the payment app you already use. The extension's side panel sits next to the page so you can complete the purchase without leaving what you're doing.
The uSwap browser extension powers the fiat on-ramp at app.uswap.net. Pay peers with the apps you already use — Venmo, Cash App, Revolut, Wise, PayPal, Chime, Zelle, Mercado Pago — and the extension confirms the payment privately. Your login, password, and session data never leave your browser.
The uSwap browser extension is the companion to app.uswap.net's fiat on-ramp. It does one job: it lets you finish a crypto purchase by paying a peer with the payment app you'd use anyway — Venmo, Cash App, Zelle, PayPal, Wise, Revolut, Chime, Mercado Pago — and it produces a private, encrypted proof that you sent the payment, so the crypto releases automatically.
You never upload a screenshot. You never share a password. You never hand over an "open banking" credential to a third party. The whole confirmation happens inside the extension on your own device, and only an encrypted blob crosses the network. Everything else stays local.
Pick "buy with cash" on the uSwap app, match with a peer, and pay them with the payment app you already use. The extension's side panel sits next to the page so you can complete the purchase without leaving what you're doing.
When you pay, the extension reads one specific confirmation request from inside your existing session and seals it into a TEE-encrypted blob. Your password, your session cookies, and your raw request bodies never leave the browser — only the sealed proof does.
Manifest V3 forbids the extension from loading any code outside the reviewed Web Store package, and the package itself is MIT-licensed on GitHub. Clone, build, diff the resulting dist/ against the published zip, and verify exactly what's running in your browser.
uSwap's fiat on-ramp is peer-to-peer on top of an on-chain escrow. The crypto goes to you first; the payment-app side settles second.
Open app.uswap.net, choose "buy with cash", pick the destination crypto (USDC, ETH, BTC, anything uSwap routes) and the payment app you want to pay with.
The order book matches you with a peer who already holds the crypto and is willing to take your payment app. Their crypto is locked in escrow on-chain — they can't pull it back while your reservation is open.
Open Venmo / Cash App / Wise / whatever, send the amount to the handle the app shows you. Nothing about the payment is special — it's just a normal payment in your own account.
The extension reads the confirmation of your payment from inside your existing session, seals it into a TEE-encrypted blob, and sends only the sealed blob to the escrow contract. The contract releases the crypto to your wallet. Total time: usually under a minute.
The extension's whole point is to do the payment proof without exposing your session. Here's exactly where the line sits.
| Data | Where it lives | What crosses the network |
|---|---|---|
| Payment-app password / PIN | Never asked for, never captured | Never sent. Never read by the extension at all. |
| Session cookies / auth headers | Your browser's existing storage | Never sent in plaintext. Used locally only to read the one confirmation request. |
| Raw payment-app request body | Captured locally inside the extension | Never sent. Immediately sealed. |
| Encrypted payment proof | Built locally, in an offscreen document | Sent to uSwap as opaque bytes. Only the TEE inside the escrow protocol can decrypt it. |
| Extracted public fields (amount, recipient handle, platform name) | Computed from the same one request | Sent alongside the sealed blob so the escrow can match it. These are the fields the counterparty already sees on their side. |
| Your browsing on unrelated sites | Not touched | Never sent. The extension has no access without an explicit per-platform grant. |
| Analytics, fingerprinting, telemetry | None collected | Never sent. The extension ships with no analytics SDK. |
Eight live as of the current release, with optional per-platform host permissions you grant only when you choose to pay with each one.
venmo.com
cash.app
via bank portals
chime.com
paypal.com
revolut.com
wise.com
mercadopago.com
Whole codebase at github.com/uSwapExchange/chrome-extension. Read every line that touches your session.
Every release tag ships the built zip next to the commit it came from. Clone, checkout the tag, run the build, diff against the published zip.
Manifest V3 blocks the extension from loading any code outside the reviewed Web Store package. What's in the repo is what's in your browser.
Payment proofs are decrypted only inside the underlying Peer.xyz Trusted Execution Environment. uSwap is a blind courier.
Because we want to buy crypto with your existing payment apps — without you sharing your login. The honest way to confirm a Venmo / Cash App / Zelle / Wise / Revolut / PayPal payment without a screenshot or a centralised "open banking" provider is to read the confirmation locally inside your own browser session, encrypt it before it leaves, and send only the encrypted proof. That requires code running on your side. The browser extension is that code.