#31
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.
0x40000000 ~ 0x7fffffff
2^30 = 1.1×10^9
0.00000000 BTC · 2 tx
snapshot from 2026-08-23
0387dc70db1806cd9a9a76637412ec11dd998be666584849b3185f7f9313c8fd28
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.
000000000000000000000000000000000000000000000000000000007d4fe747
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^30 to around 2^15.
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 > in31.txt <<'EOF' 40000000 7FFFFFFF 0387DC70DB1806CD9A9A76637412EC11DD998BE666584849B3185F7F9313C8FD28 EOF
./kangaroo -t 8 -gpu -gpuId 0 -w save31.work -wi 300 -o found-31.txt in31.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^15 operations where BitCrack runs 2^30.
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.