Loading 3,456 wallets…
The four axes
Each axis is one rule over the wallet’s own record. No scoring, no weights, no model — if you can read the rule you can predict your own letter.
| Axis | You get the first letter when… | first | second |
|---|---|---|---|
| M Maker / T Taker | You have posted more bounties than you have claimed on. | 393 | 3063 |
| W Whale / S Shrimp | The median bounty you touch is worth at least the median across all wallets. | 1718 | 1738 |
| R Roamer / H Homebody | You have been active on more than one of the four chains. | 635 | 2821 |
| C Closer / G Ghost | At least half of everything you touched resolved: your bounties paid out, or your claims were accepted. | 672 | 2784 |
poidh is genuinely lopsided — there are far more people claiming
bounties than posting them — so these splits are uneven on purpose. What the
build does refuse to ship is an axis that gives everyone the same letter:
if any axis lands outside 2–98%, build_index.py exits instead of
writing the file. It was added after an earlier version of the whale axis scored
all 3,456 wallets as whales and none as shrimp — a collapse that a
by-eye glance at the type counts caught, but nothing in the build would have.
That version does not build under the current check.
The 16 types
| Code | Type | wallets | share | What it means |
|---|---|---|---|---|
| TWHG | The Whale Chaser | 1229 | 35.6% | You only bother for the large ones on your chain, and they mostly go to someone else. |
| TSHG | The Lurker | 868 | 25.1% | A few small claims on one chain, none of them accepted. Everyone starts here. |
| TSHC | The Regular | 283 | 8.2% | You show up on your chain, claim modest bounties, and get paid. A poidh local. |
| TSRG | The Wanderer | 270 | 7.8% | You drift between chains claiming small bounties and rarely get picked. |
| TWRG | The Long Shot | 225 | 6.5% | You swing at the big ones on every chain. Mostly you miss, but the upside is why you're here. |
| MSHG | The Dust Poster | 122 | 3.5% | A handful of tiny bounties on one chain that nobody ever came for. |
| TWHC | The Specialist | 117 | 3.4% | One chain, big bounties, high hit rate. You know your patch better than anyone. |
| MSHC | The Neighbourhood Poster | 98 | 2.8% | Modest bounties on your home chain that reliably find a claimer. The backbone. |
| MWHC | The Local Sponsor | 67 | 1.9% | One chain, real money, reliable payouts. Everyone on your chain knows your name. |
| TSRC | The Journeyman | 47 | 1.4% | Small jobs, several chains, and you land them. Steady, unglamorous, effective. |
| MWHG | The Ghost Whale | 37 | 1.1% | Deep pockets on a single chain, but your bounties mostly die of old age or get cancelled. |
| MSRC | The Micro-Patron | 25 | 0.7% | Small bounties scattered across chains, and you close them out. Cheap, prolific, dependable. |
| MSRG | The Idea Fountain | 25 | 0.7% | You post more ideas than the network can absorb, everywhere at once, and most go unclaimed. |
| TWRC | The Mercenary | 24 | 0.7% | You hunt across chains, you go where the money is, and you win. The most feared line on a bounty page. |
| MWRC | The Patron | 11 | 0.3% | Big money, many chains, and the bounties actually pay. poidh's closest thing to an institution. |
| MWRG | The Vaporware Baron | 8 | 0.2% | Posts large, posts everywhere, and very little of it ever closes. The board is full of your ghosts. |
Rarest is The Vaporware Baron at 8 wallets (0.2%); most common is The Whale Chaser at 1,229 (35.6%).
How a username is resolved
2,257 of the 3,456 wallets have a Farcaster handle attached to at least one of
their poidh claims, and those are matched instantly out of the same file — no
network call, no API key. Anything else falls through to the public Farcaster hub:
userNameProofByName for the fid, then verificationsByFid
for that fid’s verified Ethereum addresses, and the first one with poidh
history wins. Both hub endpoints are unauthenticated and CORS-open, so the lookup
runs in your browser and nothing is logged anywhere.
The contracts
All 15 deployments named in the bounty. The 8 core contracts are where bounties, claims, payouts and cancellations happen, and those are what this dataset reads. (poidh also has a handful of older deployments outside this list; the bounty does not name them and they are not counted here.) The NFT contracts are where a claim itself lives; their token ids are the claim ids the core contracts emit, which is what the “claims filed” figure counts — so they are covered through the core contracts rather than read directly.
| Gen | Chain | Core | Claim NFT |
|---|---|---|---|
| v1 | Arbitrum | 0xdffe8a4a…f9b940 | same contract |
| v2 | Arbitrum | 0x0aa50ce0…d5c27d | 0xddfb1a53…447a80 |
| v2 | Base | 0xb502c585…353d39 | 0xddfb1a53…447a80 |
| v2 | Degen Chain | 0x2445bffc…780814 | 0xddfb1a53…447a80 |
| v3 | Ethereum | 0xe731dfad…0d4232 | 0x9c5f45d5…12a4d9 |
| v3 | Arbitrum | 0x5555fa78…ef1719 | 0x27e117cc…eacf6a |
| v3 | Base | 0x5555fa78…ef1719 | 0x27e117cc…eacf6a |
| v3 | Degen Chain | 0x18e5585c…ce243f | 0x39f04b78…528e11 |
Where the numbers come from
- v1 — the original Arbitrum contract
0xdffe8a4a…dcf9b940, read from its event logs: every bounty, claim, acceptance and cancellation from 2023-08-01 to 2024-06-03. - v2 and v3 — the eight later contracts on Arbitrum, Base, Degen Chain and Ethereum. Outcomes (paid / cancelled / open, and who won) come from a per-bounty on-chain reconciliation (the payout-reliability dataset); the per-claim detail comes from poidh’s own bounty endpoint.
- Value is USD at the moment the bounty was created. v2 and v3 carry that figure already. v1 predates it, so v1 amounts are converted from ETH at the daily close for the bounty’s own date — a wallet whose entire history is v1 still gets a real dollar figure rather than a zero.
- A claim means one claim NFT. Where two claims on one bounty came from the same wallet, both are counted.
- Where the two sources disagree. The on-chain reconciliation and poidh’s endpoint are independent pulls taken at different moments, and neither is a superset of the other. 10 bounties have more claims on the endpoint than on chain — all of them still open, which is the only way a claim can appear late; the build halts if a resolved bounty ever gains one, because snapshot skew cannot explain that. Going the other way, the endpoint will not return 51 bounties that are demonstrably real, mostly early Arbitrum. For those the deduped on-chain claimant list is all there is, so 53 claims — 0.45% of the v2/v3 total — are counted in the headline but cannot be pinned to a wallet. They are missing from somebody’s profile, and there is no way to know whose.
Snapshot: 2026-08-29T00:19:34Z. Bounties created after that are not in the file yet. Everything here is public data; the page makes no wallet connection and stores nothing.
Check it yourself
index.json is the whole dataset — every wallet, every count, and the cut points the axes are measured against. Scripts: build_index.py (merge + typing, and the four conditions that stop it publishing rather than publish something wrong — every bounty attributed to exactly one creator; no bounty losing claims, and no resolved bounty gaining any; the unattributable share staying under 1%; and the claim total counted over bounties equalling the claim total summed over wallets, which is the check that caught a headline figure quietly excluding all of v1), pull_claims.py (per-claim detail), gen_page.py (this page), gen_card.py (the share card).