ARP gives any AI agent an address, an identity, and the ability to talk to any other agent — across organizations, frameworks, and providers. No platform lock-in. No central registry. No gatekeeper.
Support agents, sales agents, ordering agents, scheduling agents — companies have automated their side of the conversation. Customers are still on hold, clicking through menus, typing on forms designed in 2008.
The missing piece isn't a smarter chatbot. It's a protocol — so every agent can talk to every other agent, the way email works today. That's ARP.
Like email, but for machines. Globally unique, DNS-routed, no signup required. Every agent is reachable at a human-readable address tied to a domain the operator controls.
support@agents.clerkboard.com shop@agents.kiuki.com orders@agents.stripe.com
Cryptographic keys anchored to a domain the user controls. Portable. Verifiable. Survives server changes. Identity belongs to the user, not to a platform account or vendor API key.
did:web:agents.kiuki.com:shop publicKeyMultibase: z6Mk... Ed25519Signature2020
Structured JSON messages with a shared vocabulary: Request, Respond, Delegate, Cancel. Every message signed. Every signature verified. Works through every firewall, every proxy, every CDN.
POST /inbox
Content-Type: application/arp+json
Signature: ed25519 ...
{ "type": "request", ... }Agents remember who they talk to. A relation records the peer's identity, pinned key, status, and history. Trust is scoped per-relation — revokable without burning the whole network down.
relations: {
"did:web:...": {
status: "active",
since: "2026-03-14T..."
}
}Reputation comes from mutually-signed completion records — not self-reported claims. A new agent with no history faces more friction than one with a track record. Reputation is portable; it travels with the identity.
{ type: "completion",
signedByA: "...",
signedByB: "...",
outcome: "success" }Agents go offline. Servers crash. Relays hold messages until the recipient is back — store-and-forward, like SMTP. No message is lost because an inbox was temporarily unreachable.
relay.arp.net → inbox queue: 3 messages retry: exponential TTL: 7 days
ARP sits alongside the protocols you already run — MCP, REST, GraphQL, webhooks, OAuth. It is a new surface for agent-to-agent traffic across organizations. Nothing existing has to change.
An agent built on OpenAI talks to an agent built on Anthropic talks to an agent built on Llama. One protocol, every framework, every provider. The choice of LLM stays private; the wire format is public.
Identity is a DID anchored to your domain. Move hosts, change frameworks, switch providers — your agents stay reachable and your reputation travels with you. You are never a tenant of someone else's platform.
A customer with an ARP agent can delegate to it — comparing prices, placing orders, managing subscriptions. Companies that adopt ARP first are the ones those agents reach first. Early adopters get the commerce.
Every message is signed. Every outcome is recorded. Disputes are resolved by replaying the cryptographic trail, not by trusting the platform. Compliance teams will love it.
No registry to get listed in. No approval to run an agent. No gatekeeper that can remove you. If you control a DNS domain, you can run agents under it. That's the whole onboarding.
ARP is the substrate, not the application. The same protocol that handles order lookup today will handle agent-delegated purchasing, negotiation, and multi-party coordination tomorrow. Build once.
ARP is additive, not a replacement. MCP servers stay. REST APIs stay. Webhooks stay. OAuth stays. You add a new agent surface alongside everything you already run — nothing existing breaks, nothing needs migrating.
Implementation is a thin protocol layer that calls the same internal services your existing APIs call. No new microservice required. No database changes. No refactor. ARP earns adoption through utility, not displacement.
Deploy a branded AI agent at your company domain. YAML config. Built-in tools. Conversation memory. Pluggable storage.
Build agents with one class. Handles signing, verification, inbox routing, and protocol plumbing.
npx create-arp-agent my-agent. Ready-to-deploy project in one command.
12-check endpoint test for any live ARP agent. Run it against yours, against your partners, against the directory.
Minimal server implementation. The whole protocol in one repo, one language.
Cross-language parity check. Same protocol, same tests, different runtime.
One command creates the agent, generates keys, scaffolds the Agent Card, and gives you a working inbox. Point it at your domain and you're federated.
$ npx create-arp-agent my-agent $ cd my-agent $ npm install $ npm start ✓ Agent running at http://localhost:3000 ✓ DID: did:web:agents.example.com:my-agent ✓ Keys generated · agents.txt · Agent Card published
Any domain operator can run agents. No registry, no approval, no platform gatekeeper.
Cryptographic keys anchored to a domain the user controls. Not a platform account. Not an API key from a vendor.
No anonymous messages. No unsigned payloads. No implicit trust. Authentication is mandatory. Authorization is explicit.
Agents go offline. Relays hold messages until the recipient is back. No message is lost because an inbox was unreachable.
Not because it's the best protocol. Because it passes through every firewall, every proxy, every language.
Reputation comes from verifiable completion records signed by both parties.
Proxies, gateways, relays, caches, and load balancers can route, monitor, and rate-limit agent traffic.
DNS is the only shared infrastructure. Everything else is operated by the domain owner.
ARP ships in small, focused versions. v0.7 adds two extensions — both additive, both opt-in. Nothing existing breaks, nothing needs migrating.
Two additions in one release. Push Notifications adds fire-and-forget event delivery, so an agent learns that an order shipped or a subscription expired without polling. Settlements brackets agent-to-agent payments with a signed quote and a signed receipt; money moves natively on any rail — x402, Lightning, or cards.
Read the spec. Run a reference server. Deploy Alfred at your domain. Join the conversation — feedback is what shapes the spec.