Project·Private

Send Money BT

Offline peer-to-peer payments


Value transfer between two phones over Bluetooth LE, with no server and no network. The hard part is double-spending: a device that moves money offline can spend the same balance twice. Each sender's vouchers are hash-chained, so spending twice forces the payer to fork their own chain — producing a self-verifying, non-repudiable fraud proof signed by the offender and checkable by anyone, with no ledger and no connectivity.

Write-up Catching a double-spend with no networkYou can't stop an offline device from spending the same money twice. You can make sure it signs a confession when it does.
GoTypeScriptBLEPostgreSQLHash chains