Tap to pay

Payments, even offline.

Abroad, or in a heavy building, your phone may have no signal. The shop's terminal is online. ∂pay closes that gap: one press on your phone, the shop's terminal completes the payment.

No payment fees Non-custodial. We can't move your money Android app, iOS coming soon
How it works

Three steps, start to settled.

The shop asks for one exact asset. Press pay, scan their code, and your phone signs it. The shop's connection sends it.

1 The shop's request: an exact amount and asset, shown as a QR code. The shop asksAn exact amount, an exact asset. By tap or by code.
2 Different Pay: the amount, the asset and the shop, signing on your phone the moment you scan. One press to payThe amount, the asset, the shop. Your phone signs it. no internet needed
3 Different Pay: Paid, $5.00 to Café Demo, settled by the shop's connection. The shop settlesBoth phones show it done.

Choose how the phones meet

Tap to pay

with NFC
One gesture Bring the phones together.

The shop's request comes in and your signed payment goes back in the same tap.

Online or Offline - it takes one tap

Scan to pay

with QR
One scan Point at the shop's code.

Your phone shows the exact request and signs when you press pay.

Online takes one scan

Offline requires one extra scan.

See how Hide the steps

Your phone shows the signed payment as a QR code. The shop scans and submits it.

1 Different Pay: the payment signs on your phone, offline. PayOne press. Your phone signs it.
2 Different Pay: your phone shows your signed approval as a QR code. Show your code
3 Different Pay: the shop reads the QR off your screen. Shop scansThe shop scans your screen.
4 Different Pay: paid, with no internet on your phone. DoneThe shop sends it. Paid.

The shop submits online. You stay offline.

The proof

Your phone signs it. Everyone else just carries it.

A payment is a slip your phone seals with a key only it holds. Whoever carries it can't open it, can't edit it, can't write a new one.

Who carries it

One job is left after your phone seals the slip: get it to the network. Anyone can do that.

Online Offline
Signs Your phone Holds the key. Seals the slip.
Carries Your connectionThe shop's phone Your phone hands the sealed slip straight to the network.It carries the sealed slip on its own internet.
Settles The network Checks the seal, moves the money, in seconds.

Same slip either way 3a9f…c210 byte for byte

∂pay's server: not on the path

Try to change it

Edit it the way a dishonest shop would want to.

ToCafé DemoSomeone else
Amount$5.00$500.00
AssetUSDC
Once only#a41f-9b02
Seal3a9f…c210
VerdictSeal holdsSeal broken

An illustration of a check that really runs, on every payment, on the network.

The details, if you want them

01Where does my key live?

Made on your phone, from your 24 recovery words, when you set up the wallet. Kept in the app's storage on that phone. It is never uploaded: Only YOU have the copy. Lose the phone and the words, and the money is gone for us too.

02What does my phone sign?

Who gets paid, how much, which asset, a one-time number for this payment, and a deadline - all crushed into a single short fingerprint that your key signs. Change a single character and the signature stops matching. There is no way to edit just one part.

03If the shop carries it, can the shop change it?

No. The shop's phone holds sealed bytes it cannot rewrite. Two options: pass the slip on, or don't. If it doesn't, no money moves. It can't raise the amount, point the payment somewhere else, or charge you again later.

04What can ∂pay's server actually do?

It serves this website and the app, and reads public information back to you: your balances, your history, which assets exist. Payments don't go through it at all; your phone, or the shop's, talks to the network directly.

05Can one payment be charged twice?

No. Hand that slip over once or a hundred times and the network settles it exactly once, ignoring the rest. Each slip also carries a deadline; after that, nothing moves.

Your key never leaves your phone. Every payment is settled by hard cryptography.

For merchants

Take payments in minutes.

Open the ∂pay wallet on any phone, choose Receive, and show your QR. Anyone with the app can pay you.

01 Open the web wallet In any browser. dpay.kalaj.org/wallet.
02 Create your wallet Pick a username, write down your backup words. They restore this wallet on ANY device. Lose them, lose the funds.
03 Receive is your terminal Enter an amount, show the QR. Or share the link. The customer scans and pays.
No signup No terminal No fees
The Different Pay web wallet's Receive tab: a $5.00 charge shown as a QR code, the merchant terminal. The Receive tab
Why ∂pay

Fast. Offline. Yours.

Works online or offline.

You press pay on your phone. The shop's internet does the rest. No internet on your side? Still fine.

$0

Zero fees

Tap, paid. The full amount arrives in seconds.

Only you can move your money

Your key never leaves your phone. Nobody else can move your money. Not even us.

What does "non-custodial" mean?
  • There is no dpay account. We hold no balances. Your money lives on public networks (Internet Computer, Solana).
  • It moves only with a key created on your phone. The key never touches our servers.
  • We can't move, freeze, or recover your money. Lose your phone and your backup words, and it's gone for us too.

Money you already know. $, ₿, Ξ and ◎ ride as parallel rails in one wallet. The shop asks for one exact asset, you pay that asset, and nothing gets swapped behind your back.

Our manifesto.

01Managing money should be easy. Even fun.
02Payments should be quick and free. Home or abroad. Online or offline.
03Your money, controlled by you alone. Only you hold the signing keys.
04Payments that work. Even offline.
Get it

Get ∂pay.

Install it, add money, you're set. Android for now. More soon.

Download for AndroidAPK · 58 MB Soon Get it onGoogle Play

No Android? Try the web wallet. Run a shop? Its Receive tab is your terminal.

Works online or offline
Settles in seconds
Your key, your moneyYour key lives on this phone, not on our servers.