---
title: "CaesarCoder"
description: "CaesarCoder funded the Genesis Block Wallet Puzzle and sold hints in OP_RETURN for eight weeks. The name came after the sweep with a PGP signature."
canonical_url: "https://puzzles.agntn.dev/authors/caesar-coder"
---
# CaesarCoder

> CaesarCoder funded the Genesis Block Wallet Puzzle and sold hints in OP_RETURN for eight weeks. The name came after the sweep with a PGP signature.

<author-facts author="caesar-coder">



</author-facts>

## Who this is

For eight weeks, nobody knew. The [Genesis puzzle](https://puzzles.agntn.dev/collections/genesis) was announced in an OP_RETURN output in August 2026. Questions went in as transactions, answers came back as transactions, and better answers cost more sats. The record called the author Anonymous, because the library wants a name and that was the honest one.

Then the wallet was swept on October 17. Thirteen hours later, the hint address sent a PGP signed message in `OP_RETURN`. Handle CaesarCoder, GitHub `caesrcd`, key fingerprint `E2A0 BF0D 72D7 4483 064D 4FF9 3049 5240 7A6E 5C38`. We checked it with `gpg --verify` against the key GitHub serves for caesrcd. Good signature.

That's the bar this page set months ago. A channel isn't a person. Only a signature from the wallet that sold the hints ties a name to it. So now there's a name. Not a legal identity, just a handle that holds the key and the hint address. Fair enough.

## The X account, before and after

The X account `caesrcd` posted the announcement text, the target address and a hexdump of the Genesis block sixteen hours before the on-chain announcement. Then it answered questions under it. For eight weeks that was a fact about a channel, not a profile.

It kept posting:

- **September 5:** will no one be able to solve it?
- **September 18:** the Coldcard incident, and a note that this puzzle's pubkeys hadn't been exposed yet. A day earlier the author had offered them for 50k sats.
- **September 24:** a screenshot of 0xflorent's message to the puzzle address, ten minutes after the block that confirmed it. Close timing, again.
- **October 6:** full shop window. Who wants the two public keys?
- **October 17:** one line, the `bitcoin-cli` command that decodes the signed message, quoting its own pre-announcement.

The GitHub account `caesrcd` carries the same fingerprint in its bio and links that X account. So the profiles are on the record now. Took a while.

## The end of the shop

On October 15 the hint address split 14,500 sats into 25 outputs of 569 sats. The next answers came from fresh addresses those outputs funded: fingerprints for test vectors and a few declines.

An hour after the sweep came one more message: "Shoutout to the player who cracked the puzzle! Thanks to everyone who joined in."

Did the test vectors help? The solver's address swept the wallet two hours after the last one. The published recipe runs PBKDF2 at 181505 and 200913 rounds, not BIP39's 2048. The author's own answers, side by side, show that difference. Draw your own conclusion.

## What the record says

Eight transactions, seven posts and the GitHub profile. Every fact is something the author wrote or a channel that carried it.

- the announcement and the message offering paid hints
- the September answer that named BIP39, twelve words and a passphrase
- the terms for the two public keys, and the first message only one player could read
- the split of the hint address, the shoutout and the signed message
- the X posts, including one about LLMs that find bugs and then fix them badly. It sits closer to the puzzle than it looks.

## The record

```ts [src/collections/genesis.ts]
static readonly author = party("CaesarCoder", {
  key: "caesar-coder",
  aliases: ["caesrcd"],
  about: "Funded the Genesis Block Wallet Puzzle, sold hints in OP_RETURN for eight weeks and only put a name to it once the prize was gone, …",
  addresses: ["bc1qyas2lnfgzjh3lyl4vfhc68daedc890zn8yetaj"],
  profiles: [
    profile("github", "https://github.com/caesrcd"),
    profile("twitter", "https://x.com/caesrcd"),
  ],
  facts: [
    fact("Announced the puzzle in an OP_RETURN output in block 963629 on 2026-08-22.", "https://mempool.space/tx/b691de…", { date: "2026-08-22" }),
    fact("The X account caesrcd posted the announcement text, the target address and a hexdump of the Genesis block 16 hours before the on-chain announcement, …", "https://x.com/caesrcd/status/2090997418800095526", { date: "2026-08-22" }),
    fact("Sells hints for sats. …", "https://mempool.space/tx/248f69…", { date: "2026-08-23" }),
    fact("Answered a paid question in September: BIP39, 12 words, a passphrase, …", "https://mempool.space/tx/f8f04fc0…", { date: "2026-09-11" }),
    fact("The X account caesrcd quoted its announcement on 2026-09-05, asking whether no one would be able to solve the puzzle …", "https://x.com/caesrcd/status/2096052655449657713", { date: "2026-09-05" }),
    fact("The X account caesrcd quoted Adam Back on a Blockstream bug …", "https://x.com/caesrcd/status/2098071674205712636", { date: "2026-09-10" }),
    fact("The X account caesrcd recalled the Coldcard incident … this puzzle's pubkeys had not yet been exposed.", "https://x.com/caesrcd/status/2100944026774151611", { date: "2026-09-18" }),
    fact("Set the terms for the two public keys in OP_RETURN, a week after first offering them for 50k sats: …", "https://mempool.space/tx/ae906bde…", { date: "2026-09-24" }),
    fact("Started sending Electrum-encrypted OP_RETURN messages (base64 BIE1) the same day, …", "https://mempool.space/tx/5ee1f8e2…", { date: "2026-09-24" }),
    fact("The X account caesrcd posted a screenshot of 0xflorent's OP_RETURN message …", "https://x.com/caesrcd/status/2103192783779750018", { date: "2026-09-24" }),
    fact("The X account caesrcd asked who wants the puzzle's two public keys, saying the encrypted pubkeys and the Genesis Block entropy clue are already on chain. …", "https://x.com/caesrcd/status/2107565388527456292", { date: "2026-10-06" }),
    fact("Split 14,500 sats of the hint address into 25 outputs of 569 sats, …", "https://mempool.space/tx/31ad6537…", { date: "2026-10-15" }),
    fact('Congratulated the solver in OP_RETURN an hour after the sweep, "Shoutout to the player who cracked the puzzle! …", …', "https://mempool.space/tx/bcfc8cbe…", { date: "2026-10-17" }),
    fact("Signed a PGP clearsigned message in OP_RETURN from the hint address naming the handle CaesarCoder, github.com/caesrcd and the key E2A0BF0D72D74483064D4FF9304952407A6E5C38. …", "https://mempool.space/tx/473a314b…", { date: "2026-10-17" }),
    fact("The X account caesrcd posted the bitcoin-cli command that decodes that signed message, …", "https://x.com/caesrcd/status/2111512567294333206", { date: "2026-10-17" }),
    fact("The GitHub account caesrcd, named CaesarCoder, carries the same key fingerprint in its bio and links the X account caesrcd.", "https://github.com/caesrcd"),
  ],
});
```


## Sitemap

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