CPRCPR ENS Toolkit Document 1 of 6
CPR ENS Toolkit · Setup Guide

How to make that valuable name you bought VALUABLE

ENS tells you how to register a name. Nobody tells you what to do with it after. This guide closes that gap: what your CPR score means, the seven on-chain records that turn a name into infrastructure, and exactly how to set them.

01What your CPR score means

Every name the CPR scorer evaluates gets a number from 1 to 20. It is not an opinion and not a price — it is a deterministic, rule-based classification of how canonical a name is. The same name always returns the same score, because the engine reads the words, not the mood of the market.

T1T8T13T20
T1–T7Generic or weak structure. Real names, but not infrastructure-grade.
T8–T10The threshold. T8 is where a name qualifies for the full CPR schema — it carries a recognizable infrastructure role.
T11–T15Strong, category-defining names. A clear root noun doing real work.
T16–T20Canonical primitives. The names a whole category would build around.
The T8 line is the one that matters. At T8 and above, your name earns the seven-record CPR schema below. That schema is what tells wallets, explorers, and other protocols that this name is infrastructure — not just a handle.

02The seven records, explained

A CPR-grade name carries seven text records on-chain. Together they describe what the name is, what it's for, and where it sits in the taxonomy. You set these once in the ENS app. Below, each record is explained with the live value for a worked example — agenticorchestrator.eth (a T18 namespace root in the DEV.ORCHESTRATOR vertical).

Worked example — agenticorchestrator.eth

Your own name's values will differ. When you score a name at the CPR scorer, it generates this exact set for you with copy buttons — these are the same seven keys.

cat

The infrastructure category — the broad family the name belongs to. Always ends in -infrastructure.

valuedev-infrastructure
type

The name's structural type — its hyphenated root plus -root. This is the name broken into its meaningful parts.

valueagentic-orchestrator-root
purpose

The canonical purpose — canonical- followed by the hyphenated root. It declares the name's role as the canonical term for its concept.

valuecanonical-agentic-orchestrator
rights

The usage rights. Most names are lease-eligible — available to lease, never sold. This is the standard value.

valuelease-eligible
mapping

The inheritance model — how the name relates to its subdomains. Constant across CPR infrastructure names.

valueinheritance:infra
schema

The schema version this record set conforms to. It tells anything reading the name which CPR taxonomy version applies. Constant.

valueensv2-taxonomy-v1
vertical 7th record

The dot-notation vertical — exactly where the name sits in the CPR taxonomy. Always uppercase, dot-separated. This is the newest of the seven and the one that pins the name to its place in the map.

valueDEV.ORCHESTRATOR
Where the values come from: score your name at the CPR ENS Scorer. Any name scoring T8 or above shows all seven values ready to copy. Paste them straight into the fields below — no guessing.

03Setting the records in the ENS app

You set all seven as text records on your name. It's one transaction, signed once. Have a little ETH in your wallet for gas.

  1. Open your name in the ENS app
    Go to app.ens.domains and search your name (e.g. yourname.eth).
  2. Connect the wallet that owns it
    Click Connect and use the wallet — hardware wallet recommended — that controls the name. Confirm you're on the right account.
  3. Open the Records editor
    On your name's profile, find the Records section and click Edit Records (a pencil or "Edit" button).
  4. Add each text record
    In the Text records area, add a new record for each of the seven keys — cat, type, purpose, rights, mapping, schema, vertical — pasting the value from the scorer for each.
  5. Save and sign
    Click Save / Confirm. Your wallet pops up asking you to sign the transaction. Approve it and pay the gas.
  6. Wait for confirmation
    The transaction takes a moment to confirm on-chain. When it's done, the records appear on your name's profile.
Tip: add all seven records before saving, so you sign one transaction instead of seven. Each separate save costs gas.

04Verifying your records are set

Two ways to confirm the records actually landed on-chain:

The easy way — the ENS app

Reload your name's page at app.ens.domains. After the transaction confirms, all seven records show under the Records / Text section with the exact values you set. If they're there, you're done.

The thorough way — a resolver check

Because the records live on-chain, any ENS-aware explorer reading your name's resolver will return the same seven keys and values. If a tool that reads ENS shows your records, they're public and resolving correctly — that's the proof they're truly set, not just cached in your browser.

Sanity check: the values shown should match the scorer's output character-for-character. If a value looks off, it was likely typed instead of pasted — fix it and re-save.

05Common mistakes, and how to avoid them

Typing values instead of pasting. A single wrong character makes a record meaningless. Use the copy buttons on the scorer and here — never retype.
Setting records on the wrong name or a subname. Make sure you're editing the exact name you scored, not a similar one or a subdomain.
Typing the records but never signing. Records aren't live until the transaction is confirmed. If you closed the wallet popup, nothing saved — redo the save.
Wrong vertical format. The vertical value is uppercase, dot-separated (e.g. CHAIN.L2.DA). Lowercase or spaces break it. Copy it exactly.
Skipping the 7th record. vertical is the newest of the seven and easy to forget. A complete CPR-grade name carries all seven.
No ETH for gas. Setting records is an on-chain transaction. Keep a little ETH in the owning wallet so the save doesn't fail.
That's the foundation. Your name now carries the full CPR schema — it reads as infrastructure to anything that looks. The next document covers making the name actually resolve to a page: contenthash and IPFS.
canonicalprotocolregistry.com  ·  © Craig Vsetula LLC · USPTO #99766227