The Receipts leaderboard
The Receipts leaderboard (§6.2): the most transparent projects, ranked by verified modules, labelled wallets, and verified burns. **No bearer token is required.** Every number is read from the same projection that serves `GET /trust/receipts/{chain}/{token}` — the same module classification, the same change logs, the same honest warnings — so a token cannot claim one count on its Receipts page and a different one here. "Verified modules" means modules the projector **classified** onchain, not modules a creator claims. "Verified burns" means burns in a module's own public change log, so the board never credits a burn it cannot show a receipt for. The `score` is the plain sum of the three counts, unweighted. The plan names the three inputs and no weights, so inventing weights would be inventing economics; an unweighted sum is a **transparency** score, not a value or quality score. The components travel with the row so a reader — or a later decision about the weights — never has to guess how the rank was reached. Candidates are the tokens named on a **published showcase entry**, so the board ranks projects that shipped through putty and chose to be listed. putty has no indexer and does not enumerate the chain: a token that never passed through putty still has its own Receipts page, but it is not ranked here, and the board does not pretend otherwise. `symbol` is attacker-controlled — a token's symbol is arbitrary bytes its deployer chose — so a client that renders it must escape it. A candidate whose chain read fails is counted in `skipped` and omitted from `rows`, rather than ranked zero: a zero would be indistinguishable from "read it, found nothing", which is the same lie a trust page must not tell.
The Receipts leaderboard (§6.2): the most transparent projects, ranked by verified modules, labelled wallets, and verified burns. No bearer token is required. Every number is read from the same projection that serves GET /trust/receipts/{chain}/{token} — the same module classification, the same change logs, the same honest warnings — so a token cannot claim one count on its Receipts page and a different one here. "Verified modules" means modules the projector classified onchain, not modules a creator claims. "Verified burns" means burns in a module's own public change log, so the board never credits a burn it cannot show a receipt for. The score is the plain sum of the three counts, unweighted. The plan names the three inputs and no weights, so inventing weights would be inventing economics; an unweighted sum is a transparency score, not a value or quality score. The components travel with the row so a reader — or a later decision about the weights — never has to guess how the rank was reached. Candidates are the tokens named on a published showcase entry, so the board ranks projects that shipped through putty and chose to be listed. putty has no indexer and does not enumerate the chain: a token that never passed through putty still has its own Receipts page, but it is not ranked here, and the board does not pretend otherwise. symbol is attacker-controlled — a token's symbol is arbitrary bytes its deployer chose — so a client that renders it must escape it. A candidate whose chain read fails is counted in skipped and omitted from rows, rather than ranked zero: a zero would be indistinguishable from "read it, found nothing", which is the same lie a trust page must not tell.
Query Parameters
Rank only this chain. Omit to rank every chain together, which mixes chain ids only as labels — the score is chain-agnostic.
Value in
- "ethereum"
- "base"
- "robinhood"
- "base-sepolia"
How many rows to return, best first. Defaults to 50.
1 <= value <= 100Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/growth/leaderboard"{ "rows": [ { "chain": "ethereum", "token": "string", "symbol": "string", "verifiedModules": 0, "immutableModules": 0, "labelledWallets": 0, "verifiedBurns": 0, "minTimelockSeconds": 0, "score": 0 } ], "skipped": 0}The "Molded with putty" badge GET
The entry's "Molded with putty" badge, as an SVG. **No bearer token is required.** The badge is a link, not a picture: the SVG wraps its contents in an `<a>` pointing at the entry's public page, which is what makes §6.1 loop 1's "each links back" true rather than aspirational. There is no way to obtain a badge for something that is not published, because the badge and the page resolve through the same published-only read. The title is drawn beside the mark when it is short enough to read and is dropped when it is not, so a long title is a clean badge rather than a clipped smear. The title is XML-escaped, and the link's scheme is restricted to `https` (or loopback in dev), so a title or a stored URL cannot inject markup or a `javascript:` href into a badge that other people's pages will embed. A draft, a withdrawn entry, and a missing slug are the same 404.
List your projects GET
Returns the caller's projects, most recently active first. Soft-deleted projects are never included. Each entry carries the sandbox state and the last checkpoint id, so a dashboard can render the list without a follow-up request.