#17
SolvedKey exposedThe private key to this puzzle is public and the balance has been swept. Everything below was re-derived with secp256k1 and confirmed to match the address — never take a copied value on trust.
0x10000 ~ 0x1ffff
2^16 = 65,536
0.00000000 BTC · 2 tx
snapshot from 2026-08-23
033f688bae8321b8e02b7e6c0a55c2515fb25ab97d85fda842449f7bfa04e128c3
Exposed on 31 May 2019, when the creator withdrew 1,000 satoshis from this address. This is the value BSGS and Kangaroo take as input.
000000000000000000000000000000000000000000000000000000000001764f
The balance is zero. This value is useful for verification and learning only — import it into a wallet and you will find nothing there.
How to actually run this puzzle
The public key is known, so the discrete logarithm is solved directly. The work drops from 2^16 to around 2^8.
git clone https://github.com/JeanLucPons/Kangaroo cd Kangaroo make gpu=1 ccap=86 # ccap is your GPU's compute capability (4090=89, 3090=86, 1060=61) # On Windows open VC_CUDA102/Kangaroo.sln in Visual Studio. macOS and AMD are not supported.
cat > in17.txt <<'EOF' 10000 1FFFF 033F688BAE8321B8E02B7E6C0A55C2515FB25AB97D85FDA842449F7BFA04E128C3 EOF
./kangaroo -t 8 -gpu -gpuId 0 -w save17.work -wi 300 -o found-17.txt in17.txt
- Order matters in the input file — range start, range end, public key. Get it wrong and it finds nothing.
- -d is the distinguished-point bit count. Leave it out and it picks one; only touch it when distributing.
- -w and -wi save progress every five minutes. On a job that runs for days this is not optional.
- To combine machines use -s (server) / -c (client) mode. It is more efficient than splitting the range.
CPU only. Handles both addresses and public keys, and is the easiest to install — good for learning and for checking your setup.
Address brute force. The de facto standard for puzzles with no public key, and the only one that runs on AMD.
The public key is known, so brute-forcing addresses is a waste. Kangaroo needs 2^8 operations where BitCrack runs 2^16.
This one is already solved. The commands above are for learning — knowing the answer makes it a good way to confirm your tool actually works.