QPayRun the demo

One QR.
Pay from any chain.

Scan, sign in with an email, and pay. The chain, the gas, and the bridge stay out of the way.

Point your camera here.

QPay opens on your phone. Nothing to install.

Indonesia already solved this once.

QRIS unified every payment app in the country behind a single code. One sticker on a counter, payable from any bank or wallet in Indonesia.

Then it reached the border.

Crossing one takes an agreement between central banks. Six countries in three years, negotiated a corridor at a time — and you still need an Indonesian app to scan. A visitor from the seventh country cannot pay, however much they are holding.

QPay puts the same gesture on a rail that never needed permission to cross.

Three moments, start to finish.

A QPay invoice for $2.50 shown as a QR code

1

Show a code

Type an amount. QPay renders a QR that carries the whole invoice, so there is nothing to look up.

The QPay checkout screen showing Kopi Pagi, $2.50, and a single Pay button

2

Scan and tap Pay

The payer sees a merchant, an amount, and one button. No wallet to install, no seed phrase, no chain to pick.

The QPay home screen showing a unified USDC balance

3

Lands on Arbitrum

USDC settles in seconds, sourced from whichever chain the payer already held it on.

Nothing in the way.

Every step a payment usually needs, and does not need here.

The setup

An email. That’s it.

No wallet to install, no seed phrase to write down, no app store. Magic sends a one-time code and the account exists. The payer is never shown that they have an address at all.

The merchant

Anyone, in three seconds.

Tap Request and you are being paid. No registration, no merchant ID, no approval queue — the receiving address is simply whoever is signed in. The same screen both scans and requests, so there is no separate merchant app to sign up for.

The settlement

Straight to the merchant.

USDC lands in the merchant’s own account the moment the transaction confirms. Nothing waits with an intermediary overnight, and the Arbiscan receipt is the proof rather than a promise.

Under the hood.

Chain abstraction doing the work, so the payer never meets it.

The account

EIP-7702

Universal Accounts SDK in 7702 mode. The payer’s existing EOA becomes a chain-abstracted account in place. Nothing is deployed, nothing is migrated, and the address never changes.

Funds can come from

  • Ethereum1
  • BNB Chain56
  • X Layer196
  • Base8453
  • Arbitrum42161

One balance across all five. Universal Liquidity routes it, so there is no bridge screen and no chain picker.

The login

Magic

An email and a one-time code. No install, no seed phrase, no extension.

Settles on

42161

Arbitrum One. Every payment lands here in USDC, whatever the payer held.