The simplest possible EVM wallet. Private keys are generated locally and encrypted at rest.
- Cryptography: OpenSSL, dotenvx
- [OPTIONAL]: League of Entropy,
node:crypto - Runtime: Bun, viem, valibot
bun installbun overwrite-with-new-keyMixes local entropy with web-based entropy to create a new key.
bun overwrite-with-mixed-keyWhen to use mixing
- Use mixing if you want to inject external entropy due to concerns about local key generation
- Skip mixing step when external dependencies are inappropriate
Tradeoffs:
-
Mixing:
- ✅ Adds external entropy from public randomness beacon
- ❌ Requires internet connection to fetch beacon
- ❌ Introduces external dependency
-
Local-only key generation:
- ✅ Fewer dependencies
- ✅ Works offline
- ❌ No external entropy source (relies on OpenSSL's PRNG)
bun view-accountbunx dotenvx get PK > secret.key- Backup
.env.keys: This file is used to decrypt your keys. If lost, funds may be lost.
Inspired by @iammatthias' post.