Problem
Trust or custody — pick one
Trading with a stranger means one side moves first and hopes. Centralised exchanges remove that risk by taking custody of the funds, which defeats the point for traders who want to keep their keys.

SwapIt is a peer-to-peer crypto trading product where two people trade directly and a smart-contract escrow holds the crypto until both sides confirm. It is non-custodial — the trader keeps their keys — and reachable from a web dashboard or from WhatsApp, so a trade can start in a conversation and finish with a verifiable on-chain record.
The design problem is trust between strangers. A P2P trade has no exchange standing in the middle, so the interface has to make the counterparty, the payment method, the escrow state, and the next action obvious at every step.
The trade is the product: connect a wallet, agree a deal, lock escrow, confirm payment, release.
Problem
Trading with a stranger means one side moves first and hopes. Centralised exchanges remove that risk by taking custody of the funds, which defeats the point for traders who want to keep their keys.
Solution
SwapIt keeps the wallet non-custodial and puts a smart-contract escrow between the two traders. Crypto is locked when the trade starts and released only when both parties confirm, or after the dispute and timeout rules resolve it.
The experience had to work for two very different entry points: a web dashboard with offers, transactions, and referrals, and a WhatsApp flow for people who do not want to install another app. Both routes share the same escrow state, the same reputation signals, and the same confirmation language.

The path from wallet connection to a completed trade is deliberately short, but every step has a state the interface must communicate: the wallet may be disconnected, the offer may be taken, the escrow may be locking, the payment may be pending, and the release may need a confirmation from the other side.
State
Market and offer data stay readable; actions that move funds show one connect prompt that names what it unlocks.
State
Counterparty rating, completion rate, payment method, limits, and terms are visible before either side commits.
State
A clear lock state names the amount, asset, and counterparty, so neither trader mistakes escrow for a completed payment.
State
The trade shows whose turn it is, with a timestamp and the exact action expected next.
State
Funds stay locked, both sides can submit evidence, and the timeout path explains what happens if no one acts.
State
Release is confirmed with a transaction reference, and the trade moves into history and reputation.
Key decision
WhatsApp lowers the barrier for new traders; the web dashboard gives depth for offers, transactions, and referrals. Rather than build two products, both routes share the same escrow state and confirmation language. The trade-off is that every new state has to be expressed twice — once in chat and once on the dashboard — which we accepted to keep one source of truth.

Trust is built from several small signals rather than one badge: escrow status, non-custodial wallet ownership, dispute resolution, reputation, timeout protection, and verified traders. The rewards layer reinforces the same behaviour — completed trades earn XP, referrals earn XP, and levels unlock fee discounts and higher limits — so reputation and activity reinforce each other.
Safety
Crypto is locked during the trade and released only when both parties confirm.
Safety
The trader keeps their private keys; SwapIt never holds the funds.
Safety
If the trade stalls, funds stay locked while evidence is reviewed.
Safety
A trade that is not completed follows a defined timeout path instead of hanging indefinitely.
Reputation
Completion rate, ratings, and verification help a trader judge who they are dealing with.
Rewards
Levels unlock fee discounts, higher limits, and support — reinforcing completed trades rather than volume alone.
What I would test: whether a first-time trader can explain who holds the funds at each step, whether the payment and release turns are unmistakable, whether a dispute feels safe rather than punitive, and whether WhatsApp and web users describe the same trade state. No usability findings are claimed here.

Role
The offer and trade journeys, the escrow state model, the dashboard information architecture, the WhatsApp entry point, the trust and reputation surfaces, the XP rewards flow, and the component system behind the marketing site and app screens.
Methods
Product Design, P2P Trading UX, State Machine Design, Information Architecture, Trust & Safety UX, Prototyping, Usability Test Planning.
Tools
Next.js, React, TypeScript, Tailwind CSS, wallet connectors, and smart-contract escrow.
The product is live at the link below. Figures shown on the live site — trade times, country count, and escrow coverage — are product copy and have not been independently verified. The mobile layout keeps the primary trade action and the escrow state within a single thumb-reachable column.

Outcomes, figures, and quotes on this page are illustrative or were provided by the client and have not been independently verified.
Have a similar project in mind?
Start a project