Generate random keypairs until the derived address starts with your chosen prefix. The result is a brand-new keypair you control — keep the private key safe.
Same vanity engine as above, but every candidate private key is drawn only from a range you choose. Any match found is mathematically guaranteed to fall inside Lo → Hi. Same hot-path functions are reused, so speed matches the unbounded search.
Generate random keypairs until the derived Ethereum address (Keccak-256 of the uncompressed public key) starts with your chosen hex prefix. The result is a brand-new keypair you control — keep the private key safe.
Hash any UTF-8 string with SHA-256, computed locally in-browser. Updates as you type.
Enter a private key (hex or decimal) to derive all address formats. Use this to validate solver results or test known keys.
Instantly derive and display all addresses for private keys 1 → 80. Use to verify your browser's secp256k1 implementation is correct against known puzzle answers.
Solves in O(2n/2) EC ops instead of O(2n). Requires the public key — only puzzles with exposed pubkeys are eligible. Select one below or enter manually.
This is the same search engine as the Solver tab, but pointed at a single combined range — from puzzle #1's start key to puzzle #160's end key — checked against all 160 target addresses at once. Nothing is pre-revealed: it's a genuine brute-force walk that happens to turn up a match whenever it naturally reaches a puzzle's real private key, and it keeps going afterward. Given how astronomically large the range gets past roughly 70 bits, don't expect it to ever finish — treat matches beyond the easy end as a very long shot.
In 2015 an unknown creator sent BTC to 256 addresses derived from sequential private keys in growing bit-length ranges. Each puzzle's private key lies within a specific bit range — puzzle #n's key is between 2^(n-1) and 2^n-1.
As of 2024, puzzles up to #66 and several higher ones have been solved. The remaining puzzles represent real on-chain BTC — anyone who finds the correct private key within the range can claim the funds.
This tool implements pure-JS secp256k1 elliptic curve math (no libraries) to brute-force keys within any range and compare derived addresses to puzzle targets.
• All cryptography runs 100% in-browser — no data is ever sent anywhere.
• SHA-256 and RIPEMD-160 are pure JS with pre-allocated fixed buffers (no GC pressure).
• secp256k1 uses Jacobian coordinates (one modinv/key) + precomputed G table (additions only, no doubling per bit).
• Pubkey written directly from BigInt to Uint8Array — no hex string round-trip.
• Unbiased rejection-sampling RNG sized to the actual range bit-width.
• Worker runs a continuous loop; UI updates via requestAnimationFrame only.
• For GPU-scale searching, use BitCrack or Kangaroo.