CrossRamp — UPI payment screen
Tylt CrossRamp·Platform Feature · B2B FintechShipped

Letting Indian merchants accept UPI payments — and settle in crypto — without changing how either side transacts.

My role
Founding Designer
System design · 5 user roles
Outcome
9 merchants · 3 live markets
Context
UPI → USDT · Zero API changes either side
India runs on UPI. Tylt ran on crypto. These two worlds didn't speak.
9
Merchants onboarded on CrossRamp India
3
Live markets — India, Brazil, Europe
5
Roles. One payment system.

Before CrossRamp India, Tylt's payment infrastructure was built for crypto-native users. Merchants could accept cryptocurrency — but Indian customers expected UPI. The result: merchants on Tylt couldn't reach the country's largest payment audience, and every failed transaction was revenue they couldn't recover.

Before CrossRamp

Customer must hold crypto to pay. Merchants locked out of India's largest payment channel.

With CrossRamp

Customer pays UPI. Merchant receives USDT. Neither side ever touches the other's world.

This wasn't one user flow. It was five.

CrossRamp India had to work for five completely different users — each with different data, different responsibilities, and different definitions of “done.” Designing the customer flow without understanding the cashier's constraints would have broken the system. I mapped all five journeys before touching a single screen.

Customer
Pays via UPI through the merchant's app. Never sees Tylt directly.
Merchant
Monitors transactions and settlement via the Tylt platform. Receives USDT.
Cashier
Receives trades, verifies UTR in real time, releases or disputes. Highest-pressure role.
Support
Handles disputes via admin panel. Full chat + UTR + transaction history.
Internal Admin
Monitors corridor health and operational performance across all markets.
UPI has no order context. Any customer could claim any payment.

UPI transactions don't carry information about what they're paying for. A cashier handling ten concurrent payments has no way to match an incoming transfer to the right order — unless the system forces it.

Early in testing, we saw the failure mode clearly: customers submitting old payment screenshots, claiming payments they hadn't made, or simply not paying and hoping the system would release anyway.

The fix: UTR as the single source of truth. Every UPI transaction generates a unique UTR number. Customers enter it after paying. Cashiers verify it before releasing. One requirement eliminated the entire screenshot fraud vector.

Initiated
Escrow Created
UPI Paid
UTR Confirmed
Released
Disputed

Five states. Each one explicit. No payment could move forward without the previous step confirmed.

Three decisions that defined the system — and why we didn't go the obvious route.
Standalone Tylt page

Required customers to navigate away from the merchant's app, creating a context break before they'd even initiated payment.

Embedded widget inside the merchant's app

The Tylt interface opens as an overlay. Customers never leave the merchant's environment. Zero onboarding friction.

Screenshot upload for payment verification

Easily faked with old images. Created a manual review queue, added 10–15 minutes to every disputed transaction.

UTR entry + cashier verification

UTR is unique per transaction, issued by the customer's bank, impossible to fake. Instant, reliable, scalable.

Release crypto first, verify later

Introduced irreversible risk. A single fraudulent release meant a merchant loss with no recovery path.

Escrow until UTR is confirmed

Crypto held in escrow from initiation. Releases only after cashier verifies UTR. The merchant bears zero risk from a failed customer payment.

The end-to-end flow — from deposit request to USDT in the merchant's wallet.

End-to-end: deposit request → escrow created → UPI paid → UTR verified → USDT released. The entire flow designed around two principles: no step moves forward without the previous one confirmed, and the cashier always has exactly two options — RELEASE or DISPUTE.

CrossRamp — 5-screen customer flow

Customer-facing flow — deposit to USDT release. Each screen removes ambiguity at the highest-friction moment.

CrossRamp — cashier RELEASE/DISPUTE panel

Cashier panel — RELEASE or DISPUTE. The binary is intentional: forces a decision, creates an audit trail.

CrossRamp — admin dispute panel

Dispute panel — full chat, UTR, and transaction history. Support resolves without engineering escalation.

CrossRamp India proved the model. Brazil and Europe followed faster because of it.

Nine merchants went live on CrossRamp India. The escrow model held. UTR verification scaled. When it came time to build Brazil (PIX → USDT) and Europe (Open Banking → USDT/USDC), the core patterns were already established. We didn't start from scratch — we adapted.

“The escrow mechanic, introduced purely as fraud prevention, became the primary trust signal merchants cited when choosing to use the product. We built it to protect the system. It turned out to protect the relationship.”

Market 01
India
UPI → USDT
9 merchants onboarded · Escrow + UTR model established
Market 02
Brazil
PIX → USDT
Design patterns carried from India · Built faster
Market 03
Europe
Open Banking → USDT / USDC
State management + stakeholder thinking adapted
What going live taught me that design couldn't.

After CrossRamp India shipped, I took on the cashier role myself — working trades in real time, verifying UTRs, hitting RELEASE and DISPUTE under time pressure. The cashier panel made sense on a Figma canvas. In operation, under pressure with multiple concurrent trades open, you reach for certainty fast. I went back and tightened the information hierarchy. That iteration wouldn't have happened without being in the seat.

The broader lesson: for high-stakes operational tools, the designer should use the product — not in a test environment, but in production, with real consequences. That's the only way to feel what the interface is actually doing.

FintechUPICryptoSystem Design5 User RolesEscrow Logic

Metrics and outcomes shown are directional. Specific figures reflect overall trends, not audited data.

Next Case Study
Tylt · B2B Fintech
I didn't start with screens. I started with a problem I'd watched break a product.
From the Builds
ZombieVault
One spec file. One session. Zero lines written by hand.