---
title: "floflo777"
description: "Keeps a public catalogue of crypto bounties with an oracle for each one. Solved Dug's student treasure hunt and some old Ethereum contracts nobody else was looking at."
canonical_url: "https://puzzles.agntn.dev/solvers/floflo777"
---
# floflo777

> Keeps a public catalogue of crypto bounties with an oracle for each one. Solved Dug's student treasure hunt and some old Ethereum contracts nobody else was looking at.

<solver-facts solver="floflo777">



</solver-facts>

## Who this is

The GitHub account behind open-crypto-puzzles, and on X, @0xFlorent_. The repository README says who it is and lists the X account as the contact, so the two are one profile by the author's own word, not by guesswork.

The repository is the interesting part. It's a catalogue of public bounties, each in its own folder, each with an oracle that says yes or no to a candidate, and the logged negatives next to it. The README is honest about the hit rate: about 40 worked, a few solved. Two of those few are in this dataset: [Dug's student treasure hunt](https://puzzles.agntn.dev/collections/dug), address 1, taken on August 2, 2026, and [teikhos/4](https://puzzles.agntn.dev/collections/teikhos), claimed on June 21.

## The book with twelve keys

Then came the summer of 2026 and Keir Finlow-Bates's [Move Over Brokers](https://puzzles.agntn.dev/collections/move-over-brokers). Four lots in under three weeks. A BIP39 phrase with a broken last word. An XOR of seven hashes from a figure. Twelve English words that only work in the Italian wordlist. Four Italian cities hashed three times. Every key went public with its payout txid.

The fun part came after. floflo777 went back to lots strangers had emptied years earlier and worked out their answers too. One is Sherlock Holmes's address. Another is the ISBN on the paperback's back cover. Nobody gets paid for that. Why bother, then? Because a lot that moved without an answer is an unfinished puzzle, and this account doesn't leave those alone.

## The other hobby

On X the same account does contract archaeology. In May 2026 it posted about unlocking 1,003.62 ETH stuck in a 2016 ICO contract, for the original 48 investors to claim. In June it solved a [TeikhosBounty](https://puzzles.agntn.dev/collections/teikhos) contract from 2018 that had been sitting on chain for eight years with 0.5 ETH in it: submit the right 64 byte public key and the contract pays whoever did. The key was already on chain, in the calldata of somebody's reverted attempt from 2022. The ICO story stays the account's own claim, the Teikhos one has its own record now. Both are here because they say what kind of solver this is. Riddles are half of it. The other half is reading the chain until something doesn't add up.

And the catalogue keeps paying off for other people too. The [Bitcoin Movie Enigma](https://puzzles.agntn.dev/solvers/rabbidbird) was claimed in its issue tracker.

## The records

The first solve carries the profile. Each later one repeats the key and adds only what's about that puzzle.

```ts [src/collections/dug/2025-1.ts]
solver: party("floflo777", {
  key: "floflo777",
  kind: PartyKind.Person,
  aliases: ["0xFlorent_"],
  about: "Keeps a public catalogue of crypto bounties with an oracle per puzzle, and recovers ETH stuck in old contracts.",
  profiles: [
    profile("github", "https://github.com/floflo777"),
    profile("twitter", "https://twitter.com/0xFlorent_"),
  ],
  facts: [
    fact("Keeps open-crypto-puzzles, a catalogue of public bounties with an oracle per puzzle, …", "https://github.com/floflo777/open-crypto-puzzles"),
    fact("Posted on X about unlocking 1,003.62 ETH trapped in a 2016 ICO contract …", "https://x.com/0xFlorent_/status/2061070356564091258", { date: "2026-05-31" }),
  ],
}),
```

```ts [src/collections/teikhos/4.ts]
solver: party("floflo777", {
  key: "floflo777",
  kind: PartyKind.Person,
  addresses: ["0x83e4b2a5a464bdfcd83057ac08447f533a595156"],
  facts: [
    fact("Solved a TeikhosBounty contract deployed in 2018, …", "https://x.com/0xFlorent_/status/2068735759889145906", { date: "2026-06-21" }),
    fact("Found the key in the calldata of a reverted authenticate() call another address sent on 2022-04-03, …", WRITEUP, { date: "2026-08-16" }),
  ],
}),
```


## Sitemap

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