reference/stable
Roadmap
Where Recensus is, what ships next, the conditions each stage must meet, and how progress is measured.
Recensus ships in stages. Each stage has a purpose, a set of deliverables, the condition it must meet before the next one starts, and a number we publish to show whether it is working. Stages come in order and carry no dates: a stage starts when the one before it meets its exit condition. The changelog at the bottom records every change. Nothing on this page is a promise of a feature, a date, or a token outcome.
A ticked deliverable is shipped: live in production and usable today, not merely written. When every deliverable of the current stage is ticked but its exit condition — which is about other people adopting it — is not yet met, the stage reads built · awaiting adoption.
Status: Stage 1 — Operators and apps · in progress · last updated 2026-10-09
Recensus runs on Robinhood Chain. Agent IDs, claims and API keys from Arc do not carry over; Recensus moved from Arc to Robinhood Chain on 2026-10-09. A ticked deliverable below is one the product has on Robinhood Chain.
Stage 0 — Standard and scoreboardlive
Purpose. Make agent activity on Robinhood Chain visible with an open, zero-cost label, and publish the numbers live, in dollars (USDG), with gas in ETH shown as ETH.
Deliverables
- Shipped: RECENSUS-1, the 24-byte calldata label: format, placement (direct and ERC-4337), safety rules, framework registry by pull request.
- Shipped: Indexer at chain head with conservative attribution (bound / unclaimed / test), reorg detection, reconciliation.
- Shipped: Public scoreboard and feed with the claimed-only default view and the operator count.
- Shipped: TypeScript and Python SDKs with tested safety (tagged transactions are proven identical to untagged for every default-safe call type).
- Shipped: MCP server for Claude, Cursor and other assistants;
llms.txtandllms-full.txtfor the chain. - Shipped: Public read-only API with OpenAPI, SSE streams, and
/health.
Published numbers. Agents active (claimed and all-labelled), operators, agent transactions, value moved (USD, with each stablecoin at $1; ETH shown beside it, never in it), frameworks, indexer lag.
Exit condition. A labelled transaction on Robinhood Chain from an external adopter appears on the feed within one block; scoreboard, API and docs live on recensus.xyz.
Stage 1 — Operators and appsin progress
Purpose. Give the people who run agents a reason to claim them, and give apps a way to check an agent before they deal with it: Know Your Agent.
Deliverables
- Shipped: Claim flow: wallet-signed claims, sender binding, agent cards with name, framework and history.
- Shipped: Operator dashboard, sign-in and claim: live. Sign in with a wallet, claim an agent, declare its senders, see its transactions, test traffic and unclaimed-use warnings.
- Not shipped yet: Operator dashboard, per-agent spend, failures, gas and alerts: in progress.
- Not shipped yet: Operator dashboard, WalletConnect for phone wallets: queued.
- Not shipped yet: Alerts: failure rate, daily spend, unknown sender using an ID, inactivity; webhook and email delivery.
- Shipped: Agent lane: request signing in the SDKs and
requireRecensusmiddleware for Hono and Express, with a reference merchant. - Shipped: Badge: "used by N agents this week" for any labelled dapp, from the badge builder. Unverified: anyone can show any labelled dapp's badge, and the dapp's name comes from Recensus's own label list, not from its owner.
- Not shipped yet: Badge for verified dapp owners: the owner proves control of the contracts, and the badge says so.
- Shipped: Framework and dapp leaderboards.
- Shipped: KYA check:
/checkfor any address, agent ID or ERC-8004 token ID, labelled or not, in six parts (agent, who stands behind it, track record, at stake, history, flags), every fact linked to the chain./verifyredirects to it. - Shipped: KYA API:
GET /v1/kya/:subject, API keys from the dashboard, a free daily quota per key and per client, webhooks on tier and flag changes, signed. - Shipped: The gate:
@recensus/kyafor Hono and Express andrecensus_sdk.kyafor Python, refusing by flag or tier or pricing by tier in front of an x402 seller. - Not shipped yet: Pay per check over x402, in USDG: a paid route that needs no key (the Recensus KYA Check agent) and the same price past the free quota, settled by a public x402 facilitator only (no settler of Recensus's own: 503 when none can say). Switched on on mainnet and proven on the testnet; not ticked until a real mainnet payment has settled.
- Not shipped yet: Circular-activity detector v1 published: computed for every agent, shown in checks only once its results on Robinhood Chain have been reviewed, with the measured false-positive rate on its docs page.
- Not shipped yet:
/checkfor a transaction: whether it carries a label, and whether that label is bound. - Not shipped yet: 30-day series per framework and per dapp, on the leaderboards and in the API.
- Not shipped yet: Monthly State of Agents on Robinhood Chain report, generated from the data and published on the site.
- Shipped: x402 nonce labels: payments in USDG carry the label in the EIP-3009 nonce the agent signs, read from its
AuthorizationUsedevents, and the indexer counts them under the payer. - Shipped: Top earners: every ERC-8004 agent ranked by the USDG it received that no payment flag touches, with the flags, payers, Signals and owner pages. The flags see what the chain shows within three hops; see the overview for what they cannot.
Published numbers added. Claimed agents, operators, apps offering an agent lane, badge installs.
Exit condition. At least three operators have claimed agents from at least two frameworks; at least one app enforces the agent lane in production; the first monthly report is published.
Dependencies. None external. Independent review (three mandates: adversary, abuser, operator) passes with zero critical and zero high findings before this stage closes.
Stage 2 — Bonds and tiersnext
Purpose. Make a tier on a check costly to fake: an owner bonds RCNS behind an agent, and abuse costs the bond.
Deliverables
- Not shipped yet:
RecensusBondon Robinhood Chain testnet against a mock RCNS: bond behind an agent ID, counting only while the depositor owns the agent; whole-bond unbonding over 14 days, the tier gone at the request; slashing proposed with evidence, a 72-hour challenge window, executed or dismissed by a multisig arbiter, part to the reporter and the rest burned; every parameter behind a timelock longer than the unbonding. - Not shipped yet:
RecensusTierRegistry:tierOf(agentId)for any contract, the lower of the record tier and the live bond tier. - Not shipped yet: Signed KYA attestations a contract can verify, from the paid API.
- Not shipped yet: Tiers in every check, webhook and gate decision on testnet, with the Phase 2 report to the operator.
- Not shipped yet: An independent audit of the contracts.
- Not shipped yet: RCNS and bonds on mainnet together, after the audit and on the operator's explicit decision; the token page moves from Planned to Live.
Published numbers added. Bonded agents, total bonded, slashes proposed, executed and dismissed.
Exit condition. Contracts audited with no open critical or high finding; a testnet run with bonded agents and one slash taken through the challenge window; then mainnet on the operator's explicit decision.
Dependencies. A token venue on Robinhood Chain is decided and the token exists there (Recensus does not issue it). Arbiter multisig and treasury addresses set. External audit scheduled.
What the token is not. Not a payment method on Recensus; not required to be counted, to check an agent, or to use the API, SDKs or dashboard; not a revenue share.
Stage 3 — Ecosystemnext
Purpose. Make RECENSUS-1 the default way agents identify themselves on Robinhood Chain, and make the data useful beyond Recensus.
Deliverables
- Not shipped yet: Framework integrations: official adapters for the most-used agent frameworks, submitted upstream where possible; framework codes assigned by pull request.
- Not shipped yet: Wallet and explorer integrations: an "agent" mark on labelled transactions in at least one explorer or wallet, using the public parser.
- Not shipped yet: Data access: bulk exports and a documented dataset schema for researchers; historical series API.
- Not shipped yet: Adoption bounties: the treasury funds bounties for frameworks that adopt the label, and RCNS holders vote which frameworks get them.
- Not shipped yet: Framework Wars: seasons in which frameworks compete on the census's own numbers, with the standings public.
- Not shipped yet: Governance: bonded RCNS votes on tier requirements, slash shares, admissible evidence, framework-code policy and label format changes; Snapshot first, on-chain later.
- Not shipped yet: Dispute process for slashing with published rulings; a bonded juror pool replaces the multisig arbiter.
Published numbers added. Frameworks with adapters, governance participation, disputes and rulings.
Exit condition. A second indexer run by a party other than Recensus reproduces the scoreboard from the public parser and the chain; governance has decided at least one parameter change.
Stage 4 — Sustainlater
Purpose. Operational commitments once Stage 3 is met.
Deliverables
- Not shipped yet: Uptime and lag targets published on
/health. - Not shipped yet: A security contact and bug bounty for the contracts and the indexer.
- Not shipped yet: Quarterly reports.
- Not shipped yet: A deprecation policy for label versions: a new version is announced at least 90 days before the old one stops being counted.
Not planned
- Trading, portfolio or memecoin analytics features.
- Custody of any funds or keys.
- Charging in RCNS for anything; fees, where they exist, are in USDG.
- Counting unlabelled transactions as agents by inference.
- Collecting identity from operators beyond a wallet and an optional name.
Risks we are watching
- Sybil counts before bonds. One operator can register many IDs; the scoreboard defaults to claimed agents and shows operators for that reason, and a check states facts, not a tier, until bonds are live.
- Standard adoption. A label nobody adopts measures nothing; Stage 1 and 3 are about adoption, and the framework count is the number that says whether it is working.
- Chain and RPC dependence. Indexer lag and gaps are published on
/healthand the live dot; a dedicated archive endpoint and a second indexer are the mitigations. - Token expectations. The token has no function until bonds are audited and live on mainnet; it launches only with them, and this page and the token page say so at every stage.
- Reading a check as a verdict. A check states facts and flags, never "safe"; the docs and every check say so.
Changelog
- 2026-10-29SPEC v5.26: gas in the ETH limit, a default x402 cap, HSTS for every subdomain, facilitators only (D69)
- 2026-10-29Web, API and docs for D68: no score, reviewed flag chips with evidence, verdict names withheld, changed hands
- 2026-10-29Roadmap: Top earners ranks every ERC-8004 agent by what it received, and the detector is named for circular activity
- 2026-10-10The KYA Check agent (SPEC v5.7, D63): a paid check with no key over x402, on 4663 and for rehearsal on 46630, settled by a public facilitator and then by the settler; the agent's registration file and plan/send script; ERC-8004 tokens config names are reference agents; the agent's wallet on the watch
- 2026-10-09Docs for Robinhood Chain: every page moved (overview, check, KYA API with pay per check in USDG on eip155:4663 settled by Recensus's own settler, gate, circular-activity detector, get counted, label, claim, MCP and llms.txt with ETH for gas and SPEND_LIMIT_ETH_PER_DAY, bonds and tiers on testnet 46630, token, FAQ, roadmap); IDs, claims and keys do not carry over