Skip to content
Sponsor trackPublic registry

How Zoro uses ENS

ENS is a public name book. Zoro gives every tool version a name in it and writes “checked: safe” or “checked: unsafe” next to that name, where anyone can read it but only Zoro’s auditor can write it.

Technically: Zoro gives every MCP server, tool and tool version an ENS name, and writes each verdict onto that name as text records that anyone can read, but that only the Auditor key is allowed to write.

Checking…
Explain it like I’m new

Think of it as a public phone book with a safety rating

Every tool gets an entry, like a business in a phone book. Next to each entry is a rating sticker that only the official inspector is allowed to put there.

Without ENS

Ratings live in one company’s private database. You have to trust it, and nobody else can look them up.

With ENS

Anyone, anywhere, can look up a tool by name and see the inspector’s verdict and signature.

Words you’ll see, hover for meaning:

From first principles

Why Zoro needs ENS at all.

Five short steps, from the problem to the answer. Each card has a plain version; open “technical version” for the details.

1

The problem

A tool can quietly change, and there is no public place to check whether today’s version was ever approved.

Show the technical version
An MCP tool is just text that a server sends to your agent. The same tool name can point at different text, and different code, tomorrow. A verdict like “this exact version was checked and is sealed” is only useful if anyone, anywhere, can look it up by name and see who said it.
2

Why the obvious fix fails

A private list can be edited secretly, and letting tool makers rate themselves is like students grading their own exams.

Show the technical version
Keep the verdicts in Zoro’s own database? Then you have to trust Zoro, the records can be edited quietly, and no other client or gateway can find them. Let publishers sign their own manifests? Then publishers mark their own homework.
3

What is actually needed

A public list of names that anyone can read, where the rules about who may write are enforced by the system itself.

Show the technical version
A public, human-readable namespace (server → tool → version) where each name resolves to data any client can read, and where who may write is enforced by the system itself, not by a promise in a README.
4

Why ENS provides exactly that

ENS names work like folders (tool.server.zoro.eth), anyone can read them, and the blockchain enforces who may write.

Show the technical version
ENS names are hierarchical and resolve from any Ethereum client. Text records attach key–value data to a name. The ENSv2 Permissioned Resolver enforces write roles per name on-chain, so the key that may write verdicts can be separated from the key that owns the names.
5

So Zoro uses ENS as

The public name book of verdicts: one name per tool version, with the result written next to it.

Show the technical version
The public registry of verdicts: one name per tool version, carrying its fingerprint, verdict, risk, capabilities and the auditor’s signature, written only by the Auditor role.

Inside Zoro

What happens, step by step.

Step 1 of 401

Name every version

Each server, tool and version gets its own address, like a street, house and flat number.

How exactly?
Each server becomes <server>.<root>, each tool <tool>.<server>.<root>, and each audited version fp-<first 8 hex of fingerprint>.<tool>.<server>.<root>. current.<tool>… points at the live version; Lab records live under lab.<root>.
Step 2 of 402

Separate who may write

The owner of the names and the inspector who writes verdicts hold different keys, so neither can fake the other.

How exactly?
The setup script deploys a Permissioned Resolver and grants the Auditor key only ROLE_SET_TEXT and ROLE_LINK. The operator who owns the names cannot forge a verdict with the auditor’s key, and the auditor cannot take the names. The auditor address is published on the root as zoro.auditor.
Step 3 of 403

Write the verdict

When a tool passes inspection, the result and the inspector’s signature are written onto its name.

How exactly?
When Sentinel seals a version, the outbox writes the zoro.* text records listed below onto its version name, including the auditor’s signature over the verdict and a pointer to the Hedera message.
Step 4 of 404

Revoke in public

If a tool turns bad later, its record changes to “revoked” for everyone at once. It can’t be quietly deleted.

How exactly?
If a sealed version turns bad, the same name is updated to zoro.status = revoked. Any client that resolves the name sees the revocation; it cannot be hidden by deleting a row.

For developers

Text records written on each version name

You don’t need this to use Zoro. It is the exact data Zoro writes, so anyone can check it independently.

RecordWhat it holds
zoro.fingerprintCanonical fingerprint of every field the model can read
zoro.verdictsealed, sealed_with_warnings or unsafe
zoro.riskRisk score from the Sentinel audit
zoro.capabilitiesWhat the tool can do (send mail, move money, …)
zoro.findingsNumber of findings and the verdict hash
zoro.attestationAuditor signature over fingerprint + verdict hash
zoro.verdictHashHash of the full verdict package
zoro.auditorAddress of the key that signed
zoro.audited / zoro.expiresWhen it was audited and when the seal expires
zoro.ledgerhedera:<network>:<topic>:<sequence> of the matching ledger message
zoro.statusactive, or revoked once the version is revoked
zoro.serverVersionVersion the server declared

Where you see it in Zoro

  • Verify page: look up a tool by ENS name and check the record against its signature
  • Registry explorer: browse servers, tools and versions
  • Every gateway: the first gateway to meet a bad version protects everyone who resolves the same name

What it does not do

  • By default Zoro writes to ENSv2 on Sepolia, the Ethereum test network (ENS_NETWORK can switch it).
  • Records describe tools only: never your prompts, files or identity.
  • A record says what the auditor checked and concluded. It never claims a tool is simply “safe”.

The other tracks