
Real incidents
Fake apps, spoofed hardware, and phishing still exploit trust at the signing step.
My friend got hacked and lost his crypto. I built Better Wallet to solve that personal self custody: fully offline custody, Clear signing, and a DIY build anyone technical can audit.

live reel
Walkthrough videos
Full YouTube walkthrough.
Why Better Wallet

Real incidents
Fake apps, spoofed hardware, and phishing still exploit trust at the signing step.
“Blind signing turns every transaction into a leap of faith.”
Better Wallet makes intent legible before approval: function, dApp, contract, and risk level are shown on-device.

Commercial options optimize convenience. This project optimizes auditable custody.
Trust Boundary
Blind signing
0xb010...aa3f 0x7f2d...991c 0xe4f8...117d INPUT DATA (opaque)
Clear signing
Intent: Swap
Function: execute(bytes,bytes[],uint256)
dApp: Uniswap Labs
Contract: 0x39D4...67599
SECURITY LEVEL: HIGH
| Feature | Ledger | SafePAL | Tangem | Better Wallet |
|---|---|---|---|---|
| Airgapped | ✕ | QR | NFC | NFC ✓ |
| Clear signing | ✓ | ✕ | ✕ | ✓ |
| Hardware open source | ✕ | partial ● | ✕ | DIY ✓ |
| Cost | $200-$400 | $70-$100 | $59-$180 | $30-$40 |
| Malicious app attack? | Incidents reported | Possible with blind signing | Possible with blind signing | No |
Story
This started as a personal response to a real loss. I first built Better Wallet during ETH Online 2025, where we won second place using an old phone as both an offline hot and offline cold wallet. We then reused and improved the project at Stellar Builder Garage and won first place with hardware plus QR-code signing. We then won second place at the Solana Colosseum Network State Bounty before ETHGlobal New York 2026, where we revamped and rearchitected the entire hardware stack to build NFC and make UI and UX flows better. We created a new app from scratch that supports cross-chain, EVM, and Solana.
01
ETH Online 2025 — 2nd place
Built the first Better Wallet using an old phone as offline hot and cold wallet.
02
Stellar Builder Garage — 1st place
Extended the same project with hardware-assisted QR-code signing.
03
Solana Colosseum Network State Bounty — 2nd place
Won second place with Better Wallet while iterating on Solana-focused flows.
04
ETHGlobal New York 2026 rearchitecture
Revamped the hardware for NFC-first UX and built a new app from scratch for cross-chain, EVM, and Solana.
DIY Build
Verify the hardware connections, then follow the exact commands.
Connection instructions
This build has three hardware connections:


Step 01
Enable spi and i2c, then reboot.
sudo nano /boot/firmware/config.txtStep 02
Keep bus 1 free for GT911 touch.
SDA -> GPIO6 (pin31), SCL -> GPIO7 (pin26)Step 03
Display runs as card1 under /dev/dri.
dtoverlay=mipi-dbi-spi,speed=48000000Step 04
Handle errno 121 (EREMOTEIO) on RP1.
python3 pi/pn532i2c_patch.pyStep 05
Cycles idle -> tap1 -> signing -> tap2 -> done.
SDL_VIDEODRIVER=kmsdrm SDL_VIDEO_KMSDRM_DEVICE_INDEX=1 python3 pi/gui/demo.pyCircuit Diagrams
Wiring reference from the Pi hardware doc used in the demo build.
| Signal | GPIO | Pin | Bus |
|---|---|---|---|
| PN532 SDA | GPIO6 | Pin 31 | I2C bus 3 |
| PN532 SCL | GPIO7 | Pin 26 | I2C bus 3 |
| LCD MOSI | GPIO10 | Pin 19 | SPI0 |
| LCD MISO | GPIO9 | Pin 21 | SPI0 |
| LCD SCLK | GPIO11 | Pin 23 | SPI0 |
| LCD CE0 | GPIO8 | Pin 24 | SPI0 |
| Touch SDA | GPIO2 | Pin 3 | I2C bus 1 |
| Touch SCL | GPIO3 | Pin 5 | I2C bus 1 |
01
Tap 1: Phone sends payload chunks
02
Pi parses tx + shows clear signing
03
User approves on device
04
Tap 2: Pi sends signed transaction
Parts & links
| Part | Model | Cost | Link |
|---|---|---|---|
| Single-board computer | Raspberry Pi Zero | $20 | Buy Single-board computer |
| NFC reader | PN532 breakout board | $3 | Buy NFC reader |
| Display + touch | Waveshare 3.5" RPi LCD (F) | $7 | Buy Display + touch |
| Other misc | Wires, connectors, mount hardware | $5 | Buy Other misc |
| Total | Complete build | $35 | Varies by source |