---
title: "Solvers"
description: "The people and teams who took a prize. Each page keeps every puzzle they solved and what public sources say about them."
canonical_url: "https://puzzles.agntn.dev/solvers"
---
# Solvers

> The people and teams who took a prize. Each page keeps every puzzle they solved and what public sources say about them.

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.

```ts
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.

<solver-list>



</solver-list>

## 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.


## Sitemap

See the full [sitemap](https://puzzles.agntn.dev/sitemap.md) for all pages.
