
We read the contract
so you don't have to.
Eight deterministic gates turn any app on Robinhood Chain into a letter grade. Every finding ships with the query that produced it.
Grades are free, forever. We are never paid by a project we grade.
A landing page can display any number it likes.
Nothing requires the figure on a website to correspond to a single wei that exists on chain. “Non-custodial” is a word, not a guarantee. Checking either one requires reading Solidity and querying an explorer — a skill almost nobody buying was ever sold.
Three figures for the same product, measured the same afternoon.

Eight gates. One letter.
Each gate is a binary check against public chain state. No gate accepts a judgement call — same input, same output, run by anyone, forever.
- 01
Contract exists
fatalIs there any code at the address at all?
eth_getCode returns non-empty bytecode
- 02
Source verified
fatalCan anyone read what the code actually does?
Verified source published on the explorer
- 03
Custody path
fatalDo deposits reach a contract, or someone's wallet?
Deposit destinations resolve to code, not EOAs
- 04
Claims match chain
fatalDo the numbers on the site exist on the chain?
Displayed figures reconciled against on-chain reads
- 05
Upgrade control
majorWho can swap the code out, and how fast?
Proxy admin is a timelock or multisig, not a lone key
- 06
Ownership
majorWho holds privileged functions?
Owner renounced, multisig, or a single EOA
- 07
Liquidity lock
majorCan the liquidity leave tomorrow?
LP burned or locked, with an unlock timestamp
- 08
Concentration
minorHow much supply sits in ten wallets?
Top-10 holder share of total supply
- A90–100Everything claimed is present and controlled
- B75–89Sound, with governance or lock caveats
- C60–74Works, but meaningful control risk remains
- D40–59Multiple structural weaknesses stacked
- F< 40Or any single fatal gate failed
- Start at 100.
- Any fatal gate failed → F, immediately.
- −18 for each major gate failed.
- −7 for each minor gate failed.
- −10 if any gate is indeterminate.
Indeterminate is never silently treated as a pass. If we cannot read something, we say so and the score carries the penalty. Unknown is a finding.
What a failed grade looks like.
A lending app on Robinhood Chain. Every figure below was measured directly against the live app and the chain. We name gates and attach evidence — readers draw their own conclusions.
The token is real and actively traded. The lending protocol it is named after does not exist on chain.
The vault manager address is an empty string.
The app's own public configuration ships with no vault contract, and no deposit or repay function selectors. There is nothing deployed for a deposit to reach.
config.protocol.vaultManager → ""config.protocol.depositAndBorrowSel → ""config.protocol.repayAndWithdrawSel → ""
Deposits route to five ordinary wallets.
The backend reports five deposit wallets and waits for two confirmations by polling. That is a human watching addresses, not a contract enforcing anything.
GET /api/root?action=health depositWallets → 5 requiredConfirmations → 2
Total value locked grows on a timer, by itself.
Two identical requests eleven seconds apart returned different totals, with a tick counter advancing. The backend exposes the growth interval directly: one tick every five minutes. No transaction produced the difference.
GET /api/root?action=vaults t=0s totalUsd → 141,272 tick 69GET /api/root?action=vaults t=11s totalUsd → 142,533 tick 70 growth.intervalMs → 300000
The token contract itself is verified and real.
The traded token exists, is verified, and has a substantial holder base. This is precisely why the rest matters: the asset is real, the product behind it is not.
holders → 3,596transfers → 89,453
This is the format every report ships in. A grade with the query attached is checkable, which means it cannot be waved away as an opinion — and it is a lie we could be caught in within a minute. That pressure is the point.
Three people use this, for three reasons.
The buyer avoids a loss. The honest builder gets a credential worth displaying. The integrator gets machine-readable risk. Only the third one pays.
The buyer
Primary- 1Sees a new app trending in a group chat
- 2Pastes the URL or contract address
- 3Reads the grade and the failed gates
- 4Expands one finding, sees the raw call and block height
Does not deposit. Shares the card. The card carries our name.
The honest builder
Distribution- 1Ships an app with real contracts and locked liquidity
- 2Submits it for grading — free, no queue payment
- 3Scores an A, receives an embeddable badge
- 4Puts the badge on their own landing page
The badge is live-bound. If their grade drops, so does the badge on their own site.
The integrator
Revenue- 1A wallet or terminal wants pre-trade risk data
- 2Calls the grade endpoint for an address
- 3Renders a warning inline before the user signs
- 4Pays per seat or per call
We never see their users, and their users never have to trust us — the report carries its own evidence.

Grades are free. Forever.
Anything that stops a person from losing money cannot sit behind a paywall. We sell speed and machine access — never safety, and never a grade.
A rating that can be bought is worth nothing, and this category has already proved that at scale. The refusals below are not policy we ask you to trust — they are the shape of the business.
- We never take payment from a project we grade, in any form.
- We never write the word “scam”. We publish which gate failed.
- We never hold your funds. The system is read-only by construction.
- We never quietly edit a grade. Corrections publish as new versions.
We sell speed and machine access. Never a grade.
- API access for integrators — wallets, terminals
- Real-time alerting for holders
- Historical grade data and diffs for researchers
- Enterprise monitoring seats for treasuries
- Payment from any project we grade
- Paid review, expedited review, consultation
- Advertising placement from graded apps
- Any arrangement where a grade could be traded
The refusal list is the product. A rating that can be bought is worth nothing, and this category has already proved that at scale, twice, in living memory.
- Engineering40%
gate coverage, chain expansion
- Buyback + burn20%
of $PROOF
- Contributor rewards20%
valid findings, gate proposals
- Legal reserve10%
we will be threatened; budget for it
- Infrastructure10%
archival of report history
The legal reserve is not decoration. Publishing that a funded project's vault does not exist invites a response, and being underfunded for that is how a watchdog gets quietly silenced.
- 1More grades published
- 2More badges embedded on other people's sites
- 3The registry becomes the default place to check an app
- 4Integrators need the API to stay competitive
- 5API and alert demand requires holding $PROOF
- 6Revenue funds more gates and faster coverage
Note what is absent from this loop: nothing in it rewards giving out higher grades. Revenue scales with coverage and speed, never with generosity.

The token launches last, on purpose.
Phases 1 through 3 ship with no token at all. Our launch narrative is a teardown of projects that shipped a token first and a product later — launching $PROOF before the grader works would hand every critic the exact sentence we used on everyone else, and they would be right to use it.
A project whose only asset is credibility cannot launch with an insider allocation. Starting with nothing is the only defensible position.
- Unlimited grade lookups
- Full reports with evidence
- Registry browsing
- Public downgrade feed (delayed 6h)
- Real-time downgrade alerts
- Watchlist up to 25 apps
- Grade history + version diffs
- API access, 10k calls/month
- Unlimited watchlist
- Pre-publication window
- API 250k calls/month
- Governance vote on gate weights
- Propose new gates
A grade is a standing, not a certificate.
Grades are not awarded once and forgotten. The moment an admin key moves to an untimelocked wallet, that becomes visible to everyone watching.
- HeldA or B maintained 90+ days, no downgrade
- ClimbingImproved a full letter in the last 30 days
- SlippingAny gate moved from pass to fail
- CollapsedFell to F from any higher grade
- WatchedContracts changed, re-grade in progress
- ✗A project fixes gates only during the review window→Grades re-run continuously; reverting is itself a downgrade
- ✗Sybil contributors farm rewards with noise→Rewards require reproducible evidence, verified first
- ✗A bribe is offered for a grade→No payment channel from graded projects exists at all
- ✗Someone forks our gates and publishes fake grades→Good — the method is public on purpose; reports are signed and canonically hosted

Read-only by construction.
The system holds no key capable of moving value. Compromising it yields the ability to publish a wrong grade — which the evidence format makes immediately falsifiable.
gate(target, chainState) → {
verdict: 'pass' | 'fail' | 'indeterminate',
severity: 'fatal' | 'major' | 'minor',
evidence: { call, params, block, returned },
rerun: "<a command a stranger can paste>"
}Deterministic, block-pinned, isolated, and replayable from the evidence alone.
Reports first. Token last.
Each phase has an exit criterion that must be met before the next one starts.
- now01
The watchdog
Weeks 1–3- Hand-grade the top 20 apps on the chain
- Publish each as a permanent report with full evidence
- Ship lookup, registry, and method pages
- No token, no API, no accounts
Exit criterionOne report independently re-run and confirmed by a stranger.
- 02
The engine
Weeks 4–8- Automate all eight gates end to end
- Paste an address, get a report in under 30 seconds
- Continuous re-grading on contract state change
- Downgrade feed and alert bot go live
Exit criterionAutomated grades match the 20 hand-audits with zero unexplained divergence.
- 03
Distribution
Months 3–4- Embeddable live-bound badges
- Public API with a free attribution tier
- First integrator partnerships
- Appeals process live, outcomes published
Exit criterionBadges live on third-party sites we do not control.
- 04
$PROOF + live risk
Months 5–7- Fair launch, with a track record behind it
- Tiered alerts and API gating
- Governance over gate weights
- Live risk board across graded apps
Exit criterionRevenue covers operating cost without a unit of income from a graded project.

The alignment is structural, not promised.
Most competitors in adjacent categories are paid by the projects they assess, or they trade the assets they cover. Our revenue comes only from people who need grades to be accurate — integrators protecting their users, and holders protecting their capital. Both are damaged the instant we inflate a grade. That is not a policy you have to trust us to keep. It is the shape of the business.
First mover
The chain went live in July 2026 and no credible grading layer exists yet. The first one to be consistently right becomes the default reference.
Network effects
Every badge embedded on a graded project's own site is a permanent inbound link placed by someone else. Coverage compounds distribution without spend.
Data
Append-only grade history cannot be reconstructed by a competitor starting later. “This app was A for 200 days, then its admin key moved” is only available to whoever was watching.
Switching costs
Once a wallet renders a risk badge inline, replacing the source means re-auditing an entire risk surface.
Brand
Credibility is the only asset here, and it cannot be bought at any price. A better-funded competitor cannot purchase a record of having been right over time.
Technical
The gate engine is deterministic, chain-agnostic, and public. Anyone may fork the method — forking it does not transfer the track record of using it.
Not launched yet
No token exists. Any address claiming to be $PROOF today is not ours.
Verify the address against our official channels before sending anything. Impersonation is the most common attack in this category, and we would rather repeat this than be quoted by someone who lost money.

Every app on this chain is going to get a letter.
Reports publish as they are finished. Downgrades publish the moment a gate flips. Follow along, or check our work — both are the same invitation.