Tech Stack
Every library and its exact version, client and server.
Client (Flutter)
| Library | Version | Role |
|---|---|---|
| flutter_riverpod | 3.3.2 | State management |
| sodium_libs | 4.0.1 | libsodium bindings — Argon2id |
| nfc_manager | 4.2.1 | NFC UID reading |
| blockchain_utils | 6.0.0 | BIP39 / BIP32 / SLIP-0010 |
| bitcoin_base | 7.1.0 | Bitcoin address construction |
| web3dart | 3.0.3 | EVM signing |
Server (Node / TypeScript)
| Library | Version | Role |
|---|---|---|
| fastify | 4.28.1 | HTTP server & schema validation |
| better-sqlite3 | 11.3.0 | Local dev storage |
| @upstash/redis | 1.38.0 | Production storage (Vercel) |
| pino | 9.4.0 | Structured, secret-safe logging |
| typescript | 5.5.4 | Language |
| vitest | 2.1.1 | Test runner |
Two storage backends exist behind the exact same route logic — see Deployment Architecture for why, and how the same code runs identically against both.