U-SWAP
Motion
Peer to peer · settled by contract · five chains · cash & bank

Swap with people, not middlemen.

List what you sell, find who’s buying, and let a smart contract hold both sides until the trade is done. Any major coin, or pay in cash, by Revolut or by a local bank transfer. No exchange, no custodian, no middleman.

Browse the market →

Find your swap

Preview market
 
You get 
—
Built into the contracts
  • Escrow, not custodyCoins wait in a contract, never with us
  • Timelocked refundsA stalled trade sends every coin home
  • Fee capped in code0.20% per side, never above 1%
  • Open and tested108 tests ship with the source
Sample tapeSample
01The market

Every offer, in the open.

Sellers set a price against the market and name what they accept: coins, a local bank transfer, Revolut or cash in person. Buyers post what they want and what they pay with. You choose the counterparty; a contract holds the coins.

02Top traders

The record speaks first.

Every trader carries a public record: deals settled, minutes to lock, how often they let a window lapse, and what counterparties wrote afterwards. A reputation is earned one settled deal at a time.

Sample traders, ranked by twelve-month volume
03How it works

Five moves. No middleman.

01 — LIST OR FIND

Name your terms.

Post what you sell or what you want, priced against the market. Or search the agora for someone who already has it.

02 — PROPOSE

Agree once.

Choose an offer and a size inside its limits. The counterparty accepts or lets it pass. Once accepted, the amounts are fixed.

03 — LOCK

Both sides lock.

Same chain: both coins go into one escrow contract. Across chains: each side locks a vault that opens with one shared secret.

04 — SETTLE

All or nothing.

The contract releases both legs together. If anyone fails to show, the timelock sends every coin back where it came from.

05 — REVIEW

The record grows.

Both sides rate the trade. Every review is tied to a real deal, so a reputation can’t be bought, only earned.

04Two locks

Nobody holds the keys.

When both coins live on one chain, a single escrow contract swaps them in one transaction. When they live on different chains, two vaults share one secret, and revealing it to claim one side is what unlocks the other.

Escrow contract

Same chain: one escrow.

ETH for USDC on Ethereum. BNB for USDT on BNB Chain. TRX for USDT on Tron.

  1. Maker locks 1.5 ETH in the escrow, naming the taker.
  2. Taker fills with 3,550 USDC in one transaction.
  3. The contract swaps both legs at once, minus 0.20% each side.
Atomic swap

Across chains: one secret.

BTC for USDT on Tron. USDT on BNB Chain for ETH on Base.

  1. Taker makes a secret and shares only its SHA-256 hash.
  2. Taker locks 0.25 BTC under that hash, refundable after 24 hours.
  3. Maker locks 20,100 USDT on Tron under the same hash, 12 hours.
  4. Taker claims the USDT, which publishes the secret on chain.
  5. Maker claims the BTC with that secret. Both legs are done.
If anyone stops halfway, each timelock returns the coins to whoever locked them.
Cash & bank

Cash or bank: one escrow, one arbiter.

USDT for pounds by Faster Payments. BTC for dirhams in cash. USDC for euros on Revolut.

  1. Seller locks the coins in USwapFiatEscrow, named for the buyer. On Bitcoin, a 2-of-3 multisig.
  2. Buyer pays by local instant transfer, Revolut or cash in person, then marks it paid.
  3. Seller checks their own account and releases. The coins reach the buyer in one transaction.
  4. If they disagree, an arbiter weighs the evidence and can only send the coins to the buyer or back to the seller.
Sellerhas the coins Buyerhas the money escrow arbiter 1 · lock coins 2 · pay: bank, Revolut or cash, off chain 3 · release only to the buyer or back to the seller

No contract can see a bank account, so this route needs an arbiter. The arbiter never holds the coins and can’t send them anywhere else. Bank transfers match only within one country; cash meets in the seller’s city.

05Manifesto

Crypto was invented so two strangers could trade without asking anyone’s permission. Then the middlemen came back: exchanges that hold your coins, desks that hold your coins, escrow agents who hold your coins. U-Swap holds nothing. You find your counterparty, you both lock into code, and the code releases both sides at once or sends everything home. Swap with people, not middlemen.

00 / 00
06Chains

Five chains. One market.

Bitcoin, Ethereum, BNB Chain, Base and Tron. Any two can meet in the market. Same-chain pairs settle through the escrow contract; cross-chain pairs settle through hash-locked vaults.

07Compare

Where your coins sit while you wait.

During the trade
Exchange
P2P with an escrow agent
U-Swap
Who holds the coins
The exchange
The platform’s escrow wallet
A contract with no owner key, for minutes
If the other side vanishes
The exchange is the other side
A moderator decides the dispute
The timelock refunds you automatically
Can a company freeze it
Yes
Yes
No
What you need
An account with ID checks
An account
A wallet
What you can verify
A balance on a screen
A chat log
The contract, the hash lock, every transaction
Paying in cash or by bank
Deposit with the exchange first
A moderator decides, with the coins in the platform’s wallet
Coins wait in a contract; an arbiter can only pay the buyer or refund the seller
08Voices

What they said afterwards.

Every review is tied to a deal. Open one and you see exactly what happened, lock by lock.

Sample reviews from the preview market
09The contracts

Verify, don’t trust.

Six small contracts on one shared core do all the holding. No owner key can take a deposit, and nothing can be frozen against you. Open any of them to see exactly what it can do.

108 tests passing · addresses publish here at deployment
Same chainUSwapEscrowHolds the maker’s side until the taker fills, then swaps both in one transaction4 functions
open(taker, tokenA, amountA, tokenB, amountB, expiry)Maker locks side A for a named taker, or for anyone
fill(id)Taker pays side B; both legs settle at once
cancel(id)Maker takes side A back any time before the fill
refund(id)After expiry, anyone can send side A home to the maker
  • Fee fixed per deal: 0.20% per side, capped at 1% in code
  • Checks real balance changes, so USDT on Ethereum and Tron behaves
  • Native coins and any standard token
Cross-chainUSwapHTLCA hash time-locked vault on each chain; one secret opens both sides3 functions
lock(receiver, token, amount, hashlock, timelock)Lock funds that open only with the secret
claim(id, secret)Pays the receiver if sha256(secret) matches, and publishes the secret
refund(id)After the timelock, returns the funds to the sender
  • SHA-256 locks, compatible with Bitcoin’s OP_SHA256
  • Initiator locks for 24 hours, responder for 12
  • Claim or refund are the only exits
Cash & bankUSwapFiatEscrowHolds the seller’s coins while the buyer pays off chain; a named arbiter settles disputes5 functions
open(buyer, token, amount, payWindow)Seller locks the coins for one buyer, 15 minutes to 24 hours to pay
markPaid(id)Buyer records the payment before the window closes
release(id)Seller confirms the money arrived; the buyer gets the coins
cancel(id)Buyer may always back out; seller only if no payment was marked in time
dispute(id) · resolve(id, toBuyer)The deal’s arbiter picks buyer or seller, nothing else
  • Each deal keeps the arbiter and fee it opened with
  • Either side can settle by conceding, even mid-dispute
  • Bitcoin uses a 2-of-3 multisig
CausesUSwapFundEscrow for causes; donations reach the organisation one approved milestone at a time4 functions
donate(id, amount)Give until the target is met; never more than the target
approveMilestone(id, index)Organiser and an independent verifier must both approve each payout
refund(id)Missed target: every donor takes back their full gift
halt(id)The verifier can stop a cause; donors share whatever is unpaid
  • Coins go only to the cause or back to donors
  • Milestones pay in order, in fixed shares
  • No fees; donations are gifts
Direct routeUSwapVaultOne vault per client; the desk’s bot can trade inside it and can never withdraw4 functions
setTrader(bot) · revokeTrader()The handshake: appoint the bot, or remove it at any moment
checkIn()The weekly A/B check from the owner’s wallet; trading stops after 7 days without one
trade(tokenIn, tokenOut, fee, amountIn, minOut)Bot only: Monday to Friday, inside the stops, above the floor
sweep() · withdraw(token, amount, to)Payouts above the payout level to the owner and a pledged cause; the owner withdraws any time
  • Stops for the day at +1.35% or at the loss stop
  • Each trade gets at least 99.5% of the feeds’ price
  • Below the agreed amount, the vault pauses
Trading poolsUSwapPoolPooled capital for a cause; 25% of profit above the high-water mark goes to the cause weekly4 functions
deposit(amount) · refund()One share per unit, never past the target; full refunds if the raise misses
settle()Anyone, weekly: the cause’s share of new profit, then a 24-hour withdrawal window
withdraw(shares)Your share of every asset, in kind, with no prices involved
halt()Stops trading for good; withdrawals stay open
  • Below 95% of the start, the pool halts for good
  • Nobody can take the money
  • Returns can be negative
Bitcoin legHTLC scriptThe same lock in Bitcoin Script, paid to as a P2WSH addressP2WSH
OP_IF
  OP_SIZE 32 OP_EQUALVERIFY OP_SHA256 <hashlock> OP_EQUALVERIFY
  <receiver pubkey>            # claim path: the counterparty, with the secret
OP_ELSE
  <locktime> OP_CHECKLOCKTIMEVERIFY OP_DROP
  <sender pubkey>              # refund path: you, after the timelock
OP_ENDIF
OP_CHECKSIG

The wallet funds it, the counterparty claims it with the secret they learned from the other chain, or the sender takes it back once the locktime passes.

10Causes

Fund a cause. Watch every dollar.

Propose a humanitarian project with a target of $1M, $2.5M, $5M, $7.5M or $10M. Donations wait in a contract and reach the organisation one verified milestone at a time. Or pool capital for it: at the target, the bot trades the pool and 25% of any profit goes to the cause every week.

Sample causes and organisationsSee every cause
11Private desk · direct route

Size, handled quietly.

For clients with $1M to $100M. Open a direct route: your own vault contract, traded by the desk’s bot under rules written into the code. Or trade over the counter at firm quotes. One private portal for both.

  • Your vault, your keys: the bot can trade inside it and can never withdraw
  • Monday to Friday, stopping for the day at +1.35% or at the loss stop. No overtrading
  • No promised returns: a day can end at 0%, at a small gain or at a loss
  • A weekly A/B check between your own two wallets. We never ask you to send funds to us or anyone else
FAQ

Ask questions.

The short answers. The contracts section and the legal pages have the long ones.

Does U-Swap ever hold my coins?

No. Coins wait in a smart contract: one escrow when both coins share a chain, or a hash time-locked vault on each chain for a cross-chain swap. U-Swap has no key that can move them.

What if the other side disappears mid-trade?

Every lock has an expiry. If your counterparty never completes, the contract sends your coins back to you after the timelock: 24 hours for the side that locks first, 12 for the other.

How do cash and bank trades work?

The seller’s coins wait in an escrow while the buyer pays by a same-country bank transfer, Revolut or cash in person. The seller releases when the money arrives. If they disagree, an arbiter can only send the coins to the buyer or back to the seller.

What does it cost?

0.20% of the coin the buyer receives, fixed when the deal opens and capped at 1% in code. Bitcoin legs and money legs carry no fee. Network fees are separate.

Which coins and chains?

BTC, ETH, BNB, TRX, USDT and USDC, on Bitcoin, Ethereum, BNB Chain, Base and Tron. Any two can meet in the market.

Is this live?

Not yet. This is a preview: the traders, deals and reviews are sample data and nothing is signed. The contracts are written and tested, but not yet deployed or audited.

Ready when you are

Swap on your own terms.