Bitcoin Puzzle Solver

Search the defined private-key ranges of unsolved Bitcoin Puzzles using your CPU or GPU directly in the browser. Choose a puzzle, select a search mode, and contribute your device's computing power toward finding its key.

Start key in HEX format.
End key in HEX format.
Target Bitcoin address (P2PKH; compressed).
Number of CPU worker threads from 2 to 16.

Stopped
0 key/s
0
N/A
None

Bitcoin Puzzle Solver FAQ

The Bitcoin Puzzle, also known as the Bitcoin Transaction Challenge, is a cryptographic challenge created in 2015 to demonstrate how the difficulty of a brute-force attack increases with the size of the keyspace. It consists of 160 Bitcoin addresses generated from intentionally weak private keys restricted to progressively larger ranges. Each successive puzzle therefore requires searching a larger range and is more resistant to brute-force attacks.

The Bitcoin Puzzle Solver generates candidate private keys within the selected puzzle range, derives their compressed public keys and HASH160 values, and compares them with the target address. The private-key search runs locally in your browser using either CPU workers or WebGPU.

Select a puzzle from the Search Target list to fill in its target address and private-key range automatically. Select Custom to enter a target address and range manually.

Sequential mode checks each key in order from the beginning to the end of the selected range, providing predictable coverage. Random mode selects random starting points and checks consecutive keys in chunks. It can revisit a previously searched area, but makes it less likely that independent participants will spend all their time searching the same part of the range.

The CPU backend runs WebAssembly calculations in browser workers and lets you choose the number of worker threads. The WebGPU backend performs the search with GPU compute shaders and is usually much faster on supported dedicated graphics cards. Actual performance depends on your hardware, browser, drivers, and power settings.

The solver stops and encrypts the private key in your browser with the server's public key before submitting it. Only the corresponding server-side private key can decrypt the result. If delivery fails, the encrypted result is stored in your browser and the solver attempts to submit it again later.

After a valid private key is confirmed, 80% of the recovered puzzle balance is paid to the Bitcoin payout address you entered. The remaining 20% is the service fee. Payouts are processed manually.

Spending a legacy Pay-to-Public-Key-Hash (P2PKH) puzzle output reveals its public key in the transaction input. To reduce the risk of another party using that information to compete for the reward before confirmation, the claim transaction is submitted through a private transaction relay directly to a participating miner or mining pool instead of first being announced through Bitcoin's public peer-to-peer mempool. This approach is sometimes informally described as using a private mempool.

The probability of finding a private key depends on the size of the puzzle range and the number of unique keys searched. If a range contains R possible keys and you check N unique keys, the approximate probability is N/R. Unsolved puzzle ranges are extremely large, so finding a key can take a very long time even with a fast GPU.

No. In Sequential mode, previously searched ranges are not coordinated or excluded by the server, so different participants or sessions may check the same keys. Random mode can also revisit an area, although the probability of overlap is small relative to the size of the complete puzzle range.

Yes. Select Puzzle #69 Demo (reduced range). It uses the real Puzzle #69 target with a deliberately reduced private-key range, allowing the solver to find the known key quickly and demonstrate the complete search flow.

The selected backend runs an automatic cryptographic self-test before every search. It checks the calculations against known test vectors. If the CPU or WebGPU implementation produces an incorrect result, the search does not start and an error is displayed.

Statistics

Payout Address Search Target Scan Speed Keys Checked
No active users found.

* Statistics refreshes automatically every minute.