Every claim made on this site has an on-chain transaction or a public-API receipt behind it. Click any link below. Each one is live, current, and independently checkable. If something doesn't match, tell us.
The full registry is queryable via a public, read-only JSON API. No authentication required, CORS-enabled, edge-cached. Click any endpoint to see the live response. Full documentation at /api.
Service status, version, and current name count.
https://canonicalprotocolregistry.com/api/health Open response →Portfolio totals: name count, on-chain coverage, lease value, vertical breakdown.
https://canonicalprotocolregistry.com/api/stats Open response →Single name lookup. Full record including vertical, score, lease, on-chain status, and the seven ENS records (cat, type, purpose, rights, mapping, schema, vertical).
https://canonicalprotocolregistry.com/api/names/canonicalprotocol Open response →Filter by vertical. Returns every name in CHAIN.MEV with full record data.
https://canonicalprotocolregistry.com/api/names?vertical=CHAIN.MEV Open response →curl https://canonicalprotocolregistry.com/api/stats
Every name in the registry has its full ENS record set written on Ethereum mainnet via Ledger hardware wallet. No off-chain claims; every record is signed and verifiable. Three example names below — click each link to verify the contenthash resolves, the records are written, and the registry catalog matches.
The same proof structure exists for every one of the 2,750+ names in the registry. Pick any name from the registry and the three links above (eth.limo, ENS app, catalog page) work identically.
The portfolio claims 100% on-chain coverage. The methodology behind that number, in two sentences: every name in the registry has had its IPFS contenthash set on Ethereum mainnet via the ENS resolver contract, with the contenthash pointing to a redirect file pinned on Pinata that bounces the visitor to the canonical registry page. No name is in the catalog unless its contenthash transaction has confirmed.
How to verify the count yourself:
curl https://canonicalprotocolregistry.com/api/stats | grep names_with_contenthash
That value should equal total_names exactly. If it doesn't, the registry isn't claiming what it says it is. Check both numbers; report any drift via the discrepancy box below.
Every name in the registry is assigned a deterministic dot-notation vertical code (e.g. CHAIN.L2.BASED, SECURITY.MEMPOOL) plus six on-chain text records (cat, type, purpose, rights, mapping, schema) defining the name's function. The schema is published at ens-ontology.html.
The dot-notation taxonomy mirrors ENSv2's hierarchical subdomain architecture — CHAIN.L2.BASED maps directly to based.l2.chain.eth when subdomain leasing activates. The classification was built to be machine-readable from day one; AI agents and dApps can query the API for any name and receive structured metadata about its function, role, and lineage.
Every name receives a deterministic score (1–20) generated by a custom Python scoring engine. The score evaluates four orthogonal layers:
The full tier ladder, lease prices, and methodology are published at pricing-guide.html. Same name, same score, same lease price — no negotiation.
The registry is operated by a single legal entity. No DAO, no multisig committee, no anonymous team. Custody and accountability are concentrated and named.
If any link on this page returns the wrong record, any API value contradicts what the site shows, any contenthash doesn't resolve, or any number on the registry doesn't match its underlying source — we want to hear about it. Errors get fixed; the silence around them is what kills credibility.
Email craig@canonicalprotocolregistry.com with the URL, the field, and what you expected. Acknowledged within 48 hours.