#105
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.
0x100000000000000000000000000 ~ 0x1ffffffffffffffffffffffffff
2^104 = 2.0×10^31
0.00000000 BTC · 5 tx
snapshot from 2026-08-23
03bcf7ce887ffca5e62c9cabbdb7ffa71dc183c52c04ff4ee5ee82e0c55c39d77b
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.
000000000000000000000000000000000000016f14fc2054cd87ee6396b33df3
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^104 to around 2^52.
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 > in105.txt <<'EOF' 100000000000000000000000000 1FFFFFFFFFFFFFFFFFFFFFFFFFF 03BCF7CE887FFCA5E62C9CABBDB7FFA71DC183C52C04FF4EE5EE82E0C55C39D77B EOF
./kangaroo -t 8 -gpu -gpuId 0 -w save105.work -wi 300 -o found-105.txt in105.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^52 operations where BitCrack runs 2^104.
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.