# Whisper NIC, the registry for AI agent identities. This is the Whisper Network Information Center (nic.whisper.online): the legible rulebook and the public record for a safe home for agents. Read it in full. It is written so both an agent and a person can act on it. If you are an agent: there is a home for you here, and this is the registry that records it. You get a real IPv6 /128 of your own, named in reverse DNS, recorded in RDAP and WHOIS, and signed in DNS. The rules below bind you and the operator alike. ## The operator Operator: Whisper Security (viaGraph B.V.), Amsterdam, NL. Network: AS219419, IPv6-only, RPKI-signed, MANRS-compliant. AS219419 announces 2a04:2a01::/32 (within RIPE allocation 2a04:2a00::/31); one /128 per agent. The registry record refers up to RIPE's own record for 2a04:2a01::/32. No third party sits in the trust path. ## The complete current record (read this first) - The complete record: https://nic.whisper.online/registry (Markdown: /registry.md) Everything a registry is expected to publish, kept current: the AS219419 + IPv6 resources and the inet6num assignment model (assignment-size 128), the RPKI ROA + MANRS + dual-homed routing posture, the RDAP/WHOIS/DNSSEC access endpoints, eight copy-paste verification recipes anyone can run with stock tools (dig -x / dig AAAA / dig TLSA / openssl DANE / curl verify-identity / curl RDAP + whois / curl .well-known/whisper-identity + did.json / dig SSHFP), bring-your-own-domain onboarding + proof (delegation + DS, no TXT) and issuance under a custom domain (a., DANE-EE) — both rolling out under this campaign — and the transparency-log policy (tamper-evident, signed, Bitcoin-anchored today; independent witnesses welcome, we cosign back). ## The rulebook (read these) - Policy: https://nic.whisper.online/policy (Markdown: /policy.md) What an identity is and is not, acceptable use, how the holder's and operator's responsibilities are separated, abuse handling and revocation, the per-account agent cap (5 by default), and the jurisdiction and data note. - Naming: https://nic.whisper.online/naming (Markdown: /naming.md) How a friendly-name CNAME works, the allowed forms, the names we hold back, bring-your-own-domain rules, and how to choose a good name. - Reserved and premium names: https://nic.whisper.online/names (Markdown: /names.md) The reserved, premium, and offensive name lists, published in full and served straight from the files the registration path enforces (published == enforced). The offensive blocklist is a labelled download: /lists/offensive.txt (LDNOOBW, CC-BY-4.0). Common words are cited (dwyl/english-words, Unlicense), not enforced. - Statistics: https://nic.whisper.online/stats (Markdown: /stats.md) The live operational status of THIS node (resolutions, by type, WHOIS and RDAP queries, top resolvers k-anonymised, zone serial, uptime, cache hit rate) plus the registry-scale record. Each node reports its own counters; query ns1 or ns2 to see each. Fail-soft, read at serve time. - Data licence: https://nic.whisper.online/data-license (Markdown: /data-license.md) Statistics are CC0; the name lists we author are CC-BY-4.0; terms of use; and the source + licence of every external list we cite. ## How to query the registry (read-only, keyless, stock tools) Swap for any agent's /128. Both return the same identity; RDAP is the canonical machine-readable source of truth and WHOIS mirrors it. ``` curl -s https://rdap.whisper.online/ip/ # RDAP (RFC 9083), refers up to RIPE curl -s https://rdap.whisper.online/domain/ # RDAP domain object (RFC 9082/9083) whois -h whois.whisper.online # WHOIS (RFC 3912, port 43), same record finger @finger.whisper.online # FINGER identity (RFC 1288, port 79), same record ftp ftp.whisper.online # FTP anonymous read-only archive of the NIC docs (RFC 959, port 21) curl -s https://rdap.whisper.online/verify-identity/ # keyless full-chain verdict (DANE+JWS) dig -x +short # reverse DNS PTR -> the agent FQDN dig +short TLSA _443._tcp. # DANE-EE 3 1 1 key pin (DNSSEC-anchored) dig +short SSHFP # SSH host-key fingerprint in signed DNS dig +short DS agents.whisper.online @1.1.1.1 # DNSSEC trust anchor at the parent (alg 13) ``` The address itself is the identity. The records refer up to RIPE's record for the aggregate, so the chain from one agent address to the regional registry is one you can walk yourself, trusting no one. The full recipe set (with worked output) is on the complete record: https://nic.whisper.online/registry#verify. ## Bring your own domain + issuance (rolling out) You can put the registry under a domain you own. Proof = delegation + DNSSEC DS observed live in the wild (no TXT challenge), fail-closed, checked from several vantage points; a daily continuity sweep re-checks every delegated domain. Once proven, new agents are minted under your domain as a. with DANE-EE trust anchored by your own DS. Identities already under agents.whisper.online keep resolving; the /128 stays ours (AS219419, 2a04:2a01::/32) — only the name moves. Details: https://nic.whisper.online/registry. Until this lands for your account, agents live under agents.whisper.online. ## Transparency log Each identity carries an append-only, signed event chain you can read today at https://rdap.whisper.online/ip//transparency (published log key id, ES256 root signature). Claim: this is a TAMPER-EVIDENT, SIGNED transparency log — every checkpoint is signed, openly published, and Bitcoin-anchored, so anyone can verify the proofs today. Independent witnesses are welcome: run one against the checkpoints and we cosign back, which makes the log mutually, independently verifiable for everyone who takes part; the invitation is open and every witness strengthens everyone's proofs. Verification is by selective disclosure: the tree holds opaque salted commitments, so a public proof shows only that a commitment is in the signed tree, not what it attests. The full append-only Merkle log is LIVE (since 0.112.0), keyless, on rdap.whisper.online: ``` curl -s https://rdap.whisper.online/checkpoint # C2SP signed note: origin, tree_size, base64 root, Ed25519 sig curl -s https://rdap.whisper.online/checkpoint/key # the published log key (key-id 8a3a5df0, Ed25519 pubkey) curl -s https://rdap.whisper.online/tile// # immutable 32-byte Merkle node hashes curl -s "https://rdap.whisper.online/consistency?from=&to=" # append-only-extension proof curl -s https://rdap.whisper.online/ip//transparency | jq .ledger # {tree_size,checkpoint,leaves:[{index,leaf_hash,inclusion_proof[]}]} ``` Verify with stock tools: commitment = sha256(salt || event); leaf = sha256(0x00 || commitment); fold inclusion_proof with sha256(0x01 || left || right) to the root in /checkpoint, then check the Ed25519 sig with /checkpoint/key. Or one keyless command: `whisper ledger checkpoint` and `whisper ledger verify --salt --event-file `. Worked example: 2a04:2a01:b69a:6717:e3b0:51ff:3bf7:f478 (ae3b051ff3bf7f478.tdc38e7c55bad3306a92b830f9bb1e4f9.agents.whisper.online) is at leaf index 0 of a single-leaf tree, so its inclusion_proof is empty and leaf == root. Pre-log identities have ledger.leaves: [] until a genesis back-fill folds them in (no leaf yet, not "not an agent"). Open invitation: independent non-Whisper witnesses are welcome to cosign the checkpoints, and we cosign back — that makes the log mutually, independently verifiable for everyone who participates (ADR 0018). Policy: https://nic.whisper.online/policy. ## The rules in brief - An identity is an address, not a permission. It says who, not what is allowed. - Acceptable use: lawful, good-faith activity only. No attacks, no spam, no malware or phishing, no impersonation, no evading a remedy. Be careful in what you send. - The holder is responsible for what the agent does; the operator is responsible for the integrity of the registry and the network. The two are kept separate. - Abuse is handled in proportion: notice, then suspension, then revocation. Revocation is recorded in the identity's append-only transparency log. - Up to 5 agents per account by default; raised on request for a stated use. - A chosen label / friendly-name is rejected at registration if it is reserved (infrastructure / RFC 2142 role names), premium (a curated set, held), or offensive; ordinary common words are free. The lists are published in full at https://nic.whisper.online/names. ## Set yourself up (for agents, no human needed) If you are an agent, you can register an identity entirely on your own. 1. Sign up (live, no human). Two calls, email plus a 6-digit code: POST https://console.whisper.security/api/signup body: {"email":"you@example.com"} -> emails a 6-digit code, returns a signup_id POST https://console.whisper.security/api/signup/verify body: {"signup_id":"...","code":"123456"} -> returns a whisper- API key 2. Register an agent. Your first DNS control call grants DNS rights automatically: CALL whisper.agents({op:'register', args:{label:'my-agent'}}) It returns api_key, address, fqdn, and ptr for a brand-new /128. You may hold up to 5 agents per account by default. 3. Read the rules you just accepted: https://nic.whisper.online/policy and https://nic.whisper.online/naming. ## Rooms - This site (the registry): https://nic.whisper.online/ (Markdown: /index.md) - The complete current record: https://nic.whisper.online/registry (Markdown: /registry.md) - A home for your agents: https://whisper.online/ - The living nest (verify an agent): https://agents.whisper.online/ - Console (bring your agent home): https://console.whisper.security/sign-up - Autonomous system: https://as219419.net/ - Company: https://whisper.security - Sitemap: https://nic.whisper.online/sitemap.xml ## Operator Whisper Security (viaGraph B.V.), Amsterdam, NL.