Load your value.
Deposit USDC on Ethereum to create a digital banknote. About 15 minutes after the deposit is final, the banknote carries a proof that its funds exist, and it's ready to spend offline.
Explore the project
Money should move when you do.
Pay with USDC, directly between nearby devices.
No internet needed, for either side, at the moment of payment.
The receiver checks the money is real without going online.
Each key signs exactly once, enforced by secure hardware.
Deposits and redemptions are ordinary Ethereum transactions.
USDC becomes digital cash you can carry. It moves from device to device without a network, and returns to Ethereum when someone redeems it.
Deposit USDC on Ethereum to create a digital banknote. About 15 minutes after the deposit is final, the banknote carries a proof that its funds exist, and it's ready to spend offline.
Phones connect directly over Bluetooth and Wi-Fi. The receiver checks the banknote's proof on the spot, and secure hardware makes sure the same value can't be spent twice.
Whoever holds the value can redeem it on Ethereum, through the contract that issued the banknote. There is no central payment contract and no HeisenCash server.
Online at the edges, offline in between: deposit and redemption need a connection; the payments in between don't.
Every banknote carries a compact proof that its deposit exists on Ethereum, signed by Ethereum's own validators. The receiving phone checks it in milliseconds, with no internet and no server to trust. If the payer's phone has newer validator information, it hands it over during the payment, so the receiver never needs to go online.
The proof is built once, about 15 minutes after the deposit, and travels with the money from then on.
When two phones connect, both screens show the same robot and six digits. The payer checks they match before anything is sent, so money can't go to the wrong device nearby.
A digital banknote can look like something worth keeping. Give it a custom face, a personal image, or even an animation.
Distinct notes carry value and a face of your choosing. The artwork makes the experience yours.
Turn a banknote into coins in your coin purse, then pay any amount. Coins can be redeemed on Ethereum, in full or in part.
Illustrative banknote artwork from the prototype. The face is decorative: the printed number isn't the value. The app shows each banknote's real USDC value.
Two ways to pass a banknote: a signed payment chain with one-time keys, or a direct key handoff between NFC secure elements.
Each payment adds a signed entry to the banknote's payment chain, using a fresh key that isn't linked to anyone's identity. When the banknote is redeemed, the chain is presented to Ethereum and becomes public, but it shows one-time keys, not people.
Deposit and redemption are on-chain in both modes. High privacy adds no new entries; it doesn't remove earlier ones.
Offline cash needs more than a number on a screen. In HeisenCash, every key can sign exactly once, and secure hardware enforces it. That is what stops the same value from being spent twice.
Uses your phone's built-in secure hardware (Trusted Execution Environment or StrongBox). An optional NFC secure element raises the security level and enables high-privacy transfers.
The phone's hardware determines its security level.On iPhone, an NFC secure-element sticker holds the keys, and it's required to pay and receive. The same sticker enables high-privacy transfers.
High privacy needs an NFC secure element on both sides.Send and receive coins from your wrist, protected by the watch's secure hardware and screen lock. Banknotes are turned into coins when they arrive.
Part of the cross-device working prototype.Each banknote is redeemed through the contract that issued it, created by the depositor's own wallet. Payments in between never touch a HeisenCash server, because there isn't one.
A working prototype on Android, iOS and Wear OS, tested with real USDC on Ethereum. Banknotes, a coin purse and device security come together in one payment experience.
These are actual prototype screens with test balances. Switch both phones between Home and Wallet, or select a screen to take a closer look.
The payment itself needs no internet on either phone: they talk directly over Bluetooth and Wi-Fi. Depositing USDC and redeeming it on Ethereum need a connection. A new deposit becomes spendable offline about 15 minutes after it's final.
Every banknote carries a proof that its deposit exists on Ethereum, signed by Ethereum's own validators. The receiving phone checks it offline in milliseconds. If the receiver happens to be online, it also checks the balance on Ethereum directly.
Every key can sign exactly once, and secure hardware enforces it: the phone's Trusted Execution Environment or StrongBox on Android, or an NFC secure element. Once a banknote has been paid, the key that controlled it can't sign again.
Deposits and redemptions. In standard mode, the banknote's payment chain is presented on redemption; it shows one-time keys, not people. In high-privacy mode, the key moves between NFC secure elements without adding a new entry. Payments themselves never touch the chain.
Both screens show the same robot and six digits. The payer confirms they match before anything is sent.
Banknotes are individual pieces of digital cash with custom faces. A banknote can be turned into coins in your coin purse, which lets you pay any amount. Coins can be redeemed on Ethereum, in full or in part.
Not yet. HeisenCash is a working prototype on Android, iOS and Wear OS. This site introduces the payment model and shows the experience; public downloads aren't available yet.
For the moments between connections.
For value that moves person to person.