This workshop is a live-fire introduction to digital bearer cash. Participants will program their own minimal Cashu wallet, capable of minting, sending, swapping, and melting tokens—using real Chaumian e-cash, not simulation.
You’ll connect to a Cashu mint (think: digital “bank”), blind your tokens for privacy, receive and spend them in real time. You’ll experience true cash-like privacy: your tokens are yours alone until you spend or lose them. At the end, you’ll trade and melt tokens with other attendees—no blockchain, no on-chain fees, just pure cryptographic fun.
Core goals:
- Demystify how blinded signatures work (no math PhD required).
- See how digital cash can be private, instant, and “bearer” (lose your phone, lose your coins).
- Build, debug, and use your own wallet—no magic, no trust required.
- Learn the practical protocols that will power Bitcoin’s privacy future.
What would an attendee learn from this workshop?
- How Chaumian e-cash and blinded signatures give privacy guarantees that blockchains never could.
- How to implement mint, melt, send, and swap logic interacting with a test Cashu mint.
- How to send and receive tokens, and how the protocol protects you from double-spending.
- The architectural difference between account-based and bearer-based systems.
- Where Cashu fits in the Bitcoin landscape, and why “digital cash” is relevant now.
Is there anything attendees should read up on before they attend this talk?
- If you’ve never heard of Cashu or Chaumian e-cash: What is Cashu?
- Cashu Nuts Protocol Specifications
Is there anything attendees should set up before the workshop?
- A code editor or notebook environment.
- Python 3.x installed (or JavaScript/Node if you prefer — examples will use Python).
- Internet connection (for connecting to the test mint, or run a local mint if you’re feeling brave).
Go to the wallet folder and follow the readme file there.
Different branches in this repository reflect different stages of the implementation of a (rather simplified) Cashu wallet.
master: (wip) full wallet functionality0.start_here: starter code providing a cli interface (wallet/src/cli.py), an http client (wallet/src/client.py), a crypto library (wallet/src/crypto.py), a cashu token data structure (wallet/src/tokens.py), and a wallet storage class (wallet/src/wallet.py).1.implement_minting: some utility functions are implemented and you should implement the flow for minting a cashu token.2.implement_melting: the minting flow in implemented and you should implement the flow for melting a cashu token.
- Include the swapping flow to refresh tokens.
- Verify the dleq zk proofs.
- Implement token encoding and decoding.
- Include instructions to run a local mint and use this material as a self-study guide.