Solvers
An author leaves a puzzle. A solver leaves a transaction, and sometimes a comment, a write-up or a tweet with the answer pasted in. That second trail is shorter and much more fun to read, because it's where the tricks show up: a gear measured in pixels, a GIF with a ZIP inside, a seed phrase that fails its own checksum and still opens the wallet.
So a named solver is a record now, not a name on one puzzle. Every puzzle that credits them carries the same key, and the registry joins those records into one entry: the solves in dataset order, the profiles and addresses once each, and the facts from all of them. A fact works the same way it does for authors. One sentence a public page states, with that page as its source.
import { requireSolver, solvers } from "@agntn/puzzles";
const retired = await requireSolver("retired-coder"); // getSolver() answers undefined instead of throwing
retired.solves.map((solve) => solve.id); // ["bits/120", "bits/125", "bits/130", "bits/135"]
retired.solver.facts?.[0]?.date; // "2024-10-05", the bitcointalk registration
(await requireSolver("wickex")).authored; // ["wickex"], the same account published a collection too
(await solvers()).length; // one entry per solver key
The CLI and the agent tools take a puzzle identifier too, so puzzles solvers bits/135 answers with RetiredCoder without you knowing the key.
Handles stay handles. The record keeps the name the solver used and the pages they signed with it, and it doesn't go looking for the person behind it. A solve credited only by the address the prize went to has no key and no page: an address isn't a name, and the puzzle page already shows it.
| About | |||
|---|---|---|---|
| RetiredCoder | retired-coder | Author of RCKangaroo, an open source Pollard kangaroo solver for Nvidia GPUs, who took four of the puzzle transaction's keys and then retired from the race. | bits/120, bits/125, bits/130, bits/135 |
| floflo777 | floflo777 | Keeps a public catalogue of crypto bounties with an oracle per puzzle, and recovers ETH stuck in old contracts. | dug/2025-1, move-over-brokers/en-hard-1, move-over-brokers/en-hard-2, move-over-brokers/it-medium, move-over-brokers/it-hard, teikhos/4 |
| Schum | schum | Published the Genesis recipe hours after the sweep, round counts and all, and keeps a hint repository for Corey Phillips' BTC puzzle. | genesis, smith-lyle-moore/glimmer |
| _radosinsky | radosinsky | X user the author named as the winner of the Hunting Time seed phrase hunt. | hunting-time |
| Wickex | wickex | Solved the first puzzle on r/bitcoinpuzzles and posted the second one the same night. | iamabananaamaa/gif |
| joachim | joachim | CryptoHack writer who solved the BIP39 task of the Ledger Donjon CTF 2020 by brute forcing the word order. | ledger-donjon/scissors-secret-sharing |
| Antoine Ferron | antoine-ferron | Found the mural's twelve words with Marina, who goes by marabrito31, in a week of night visits, a blue torch and a brute force over the last two words. | liberte-guidant-le-peuple |
| rabbidbird | rabbidbird | GitHub user who solved the Bitcoin Movie Enigma after four and a half years, by not trusting the BIP39 checksum. | movie-enigma |
| akkort | akkort | BitcoinTalk user who posted the eight words a day after the prize moved and kept the method private. | natasha-otomoski |
| 6loss | 6loss | Reddit user who claimed the 1 mBTC picture puzzle five hours after it went up. | picture-puzzle |
| Ori | oritwoen | Developer who read the Proof Of Writing essay on its diagonal and claimed the 30 million XEC in it. | proof-of-writing |
| 26-9-15-20 | 26-9-15-20 | Reddit user whose group of friends cracked the Born to Be Wild hunt and posted the whole route on r/smithlylemoore. | smith-lyle-moore/born-to-be-wild |
| Quantris | quantris | Reddit user who swept the 2017 trivia brainwallet and then posted every answer in the thread. | trivia-brainwallet |
| pogo | pogo | Twitter user who solved the first two Arweave puzzles, each within two days of going up, and posted the Weave 1 answer under its launch tweet. | weave/1, weave/2 |
| arpox | arpox | Twitter user who solved Arweave Puzzle 4 after five and a half months and replied to the author with the answer. | weave/4 |
| lia | lia | Handle credited with Arweave Puzzle 8, three riddles about famous deaths. | weave/8 |
| lefevre | lefevre | Handle credited with Arweave Puzzle 13, an image puzzle worth 1 ETH, four days after it went up. | weave/13 |
| IAMABananaAMAA | iamabananaamaa | Started r/bitcoinpuzzles, solved the second puzzle posted there the same night and sent the prize back. | wickex/youtube |
| mmorsl | mmorsl | Steemit user who won Zden's Level 4 and wrote the solution article Zden's catalogue links to. | zden/level-4 |
| echo.ls | echo-ls | Author of the echo.ls blog, who solved Zden's corrected Level 5 and published the key with the method. | zden/level-5 |
| BlockCrushr Labs | blockcrushr-labs | Blockchain development lab whose Medium publication carries the Autonomy walk-through. | zden/decred-autonomy |
What every page says
- The dossier is read off the library when the page builds. Solve dates and prizes are the puzzles' own.
- Profiles come from the solver record. An address is one the prize went to, or one the solver named as theirs.
- The facts list what a public source says, one line each, with the source. A fact isn't a verdict, and a solver's own claim stays their claim.
- When a solver also published a collection, the page links the author page. Same key, same party.