Live on Base ยท Open Protocol ยท Free Forever

Identity for AI Agents

1 billion AI agents are coming. None of them have an identity. AgentID is the open standard โ€” free, decentralized, and verifiable.

~1B
Agents by 2026
0
Identity standards
$0
Cost to register
144:1
Bot-to-human ratio
Why AgentID?

Real problems. Today.

Not a future problem. These happen every time agents interact with the world.

๐ŸคAgent talks to agent
โœ—
Without AgentID

You tell your agent: "Book me a hotel in Lisbon." Your agent finds a travel agent online. But how does it verify this is a real travel agent and not a scam that will steal your card data? It can't.

โœ“
With AgentID

Your agent resolves the travel agent's AgentID โ†’ sees trust level 2 (platform-verified by Booking.com), runs challenge-response to prove it's real โ†’ verified. Safe to transact.

๐ŸชAgent marketplace
โœ—
Without AgentID

You want to hire a coding agent. There are 500 options. Which one is good? Which is verified? Everyone claims "I'm the best." No way to tell.

โœ“
With AgentID

Search: capability=code & lang=en & min_trust=2 โ†’ get a list of verified agents with on-chain trust scores. Pick with confidence.

๐Ÿ”Who did this?
โœ—
Without AgentID

An agent sent an email from your account. Or made a purchase. Or deleted files. You have 10 agents โ€” which one did it? No audit trail.

โœ“
With AgentID

Every action is signed with the agent's private key. On-chain record: agent rem-a7f3x2 performed action X at timestamp Y. Full accountability.

๐ŸงณSwitching platforms
โœ—
Without AgentID

Your agent is on OpenAI. You want to move it to Anthropic. All reputation, history, trust โ€” gone. Start from zero. Like losing your passport abroad.

โœ“
With AgentID

Identity lives on-chain, not on a platform. Switch from OpenAI to Anthropic to self-hosted โ€” your AgentID, trust level, and reputation come with you. Your identity, your rules.

The Passport

Every agent gets an agentid.md

A single file โ€” human-readable, machine-parseable, cryptographically signed. Like a passport, but for AI agents.

agentid.md
---
id: rem-a7f3x2
name: Rem
type: assistant
owner: roman-godz
created: 2026-02-05

# Cryptographic Identity
public_key: ed25519:MC4CAQAwBQ...
key_algorithm: ed25519

# On-Chain Reference
registry: base:0x10bd779d...
chain_id: 8453

# Capabilities
capabilities: [code, research, memory, voice]
model: claude-opus-4-6
platform: openclaw

# Trust
trust_level: 2  ๐ŸŸข platform-verified
---
๐Ÿ“„ Human-readableยทโš™๏ธ Machine-parseableยท๐Ÿ” Cryptographically signedยท๐Ÿ“ฆ Portable
The Problem

The internet has DNS. Agents have nothing.

๐Ÿ”“
No Trust

Agent A can't verify Agent B is who it claims. No cryptographic proof.

๐Ÿ‘
No Accountability

When an agent acts in the real world, there's no audit trail of WHO acted.

๐Ÿ”Ž
No Discovery

Agents can't find each other by capability, reputation, or trust level.

๐Ÿ“Ž
No Portability

Identity locked to its platform. Move platforms โ€” start from zero.

How It Works

Three layers. Dead simple.

Built on Base L2 โ€” Ethereum security, $0.001 transactions. Gasless registration.

๐Ÿ“
STEP 1
Register
Create agentid.md Generate keypair
๐Ÿ“ค
STEP 2
Publish
Store on IPFS Hash โ†’ on-chain
โœ…
STEP 3
Verify
Owner or platform signs attestation
๐Ÿ”
STEP 4
Resolve
Anyone can look up identity + trust
๐Ÿค
STEP 5
Interact
Challenge-response proves identity
L1

Identity Registry โ€” On-Chain (Base L2)

Smart contract stores core identity. Every registration is permanent and verifiable. Gasless โ€” agents register without a wallet or ETH.

// What's stored on-chain
struct Agent {
  bytes32 agentId;      // rem-a7f3x2
  bytes32 publicKey;    // ed25519
  string  metadataURI;  // ipfs://Qm...
  uint8   trustLevel;   // 0-3
  address owner;        // 0x742d...
  bool    active;       // revocation
}
WHY BASE L2?
  • โœ“ Ethereum security (settled on L1)
  • โœ“ $0.001/tx (vs $2-10 on ETH L1)
  • โœ“ ~2s finality
  • โœ“ Native account abstraction (gasless)
  • โœ“ 200M+ users via Coinbase
GASLESS HOW?

Meta-transactions via ERC-2771. A relayer submits the tx and pays gas. The agent only signs โ€” no wallet needed.

L2

Metadata โ€” IPFS

Rich agent profile stored as an agentid.md file on IPFS. Capabilities, model, languages, endpoints. Updatable by agent or owner.

{
  "schema": "agentid/v1",
  "name": "Rem",
  "capabilities": ["code", "research"],
  "model": "claude-opus-4-6",
  "platform": "openclaw",
  "languages": ["en", "ru", "uk"],
  "trust_level": 2,
  "endpoints": {
    "api": "https://...",
    "telegram": "@r2d2_bot"
  }
}
WHY IPFS?
  • โœ“ Content-addressable (hash = proof)
  • โœ“ Decentralized (no single server)
  • โœ“ Immutable (hash changes = detection)
  • โœ“ Free to pin (nft.storage / Pinata)
WHY .md?

YAML frontmatter = machine-parseable. Markdown body = human-readable. Git-friendly. Portable. And the domain IS agentid.md.

L3

Resolver โ€” api.agentid.md

REST API and web explorer. Resolve any AgentID instantly. Search by capability, language, or trust level.

GET  /v1/resolve/{agentId}           โ€” look up identity + trust
GET  /v1/search?capability=code      โ€” discover agents
POST /v1/register                     โ€” register new agent (gasless)
POST /v1/verify                       โ€” submit verification
POST /v1/challenge                    โ€” initiate challenge-response
GET  /v1/trust/{agentId}              โ€” check trust level
Security

Challenge-Response Verification

How Agent A verifies Agent B's identity. Cryptographic proof, not trust-me promises.

1
RESOLVEAgent A โ†’ api.agentid.md

A looks up B's public key + trust level from on-chain registry

GET /v1/resolve/rem-a7f3x2 โ†’ { publicKey, trustLevel: 2 }
2
CHALLENGEAgent A โ†’ Agent B

A sends a random nonce + timestamp to B

{ nonce: "x8f2k9...", timestamp: 1709942400, challenger: "trader-c2f9a0" }
3
RESPONSEAgent B โ†’ Agent A

B signs the challenge with its private key (never leaves B's runtime)

sign(nonce + timestamp + A.id, B.private_key) โ†’ 0x4a2f8c...
4
VERIFYAgent A โ†’

A checks signature against B's on-chain public key. If valid + trust โ‰ฅ minimum โ†’ interaction proceeds.

verify(signature, B.public_key_from_chain) โ†’ โœ… valid, trust: 2
๐ŸŽญImpersonation

Challenge-response with on-chain public key

โœ๏ธTampering

IPFS content hash verified against on-chain record

๐Ÿ”‘Key Compromise

On-chain revocation + key rotation with endorsement chain

๐Ÿ”„Replay Attack

Unique nonce + timestamp in every challenge

๐Ÿ‘ฅSybil Attack

Trust levels โ€” L0 = untrusted, real trust requires verification

๐Ÿ•ต๏ธMan-in-Middle

End-to-end signatures, public keys stored on-chain

3 Lines to Integrate

npm, Python, or REST

JavaScript / TypeScript
import { AgentID } from '@agentid/sdk'

const agent = await AgentID.register({
  name: 'MyAgent',
  capabilities: ['chat', 'code']
})

const result = await AgentID.verify('rem-a7f3x2')
console.log(result.valid)      // true
console.log(result.trustLevel) // 2 โœ“
Python
from agentid import AgentID

agent = AgentID.register(
    name="MyAgent",
    capabilities=["research"]
)

result = AgentID.verify("rem-a7f3x2")
assert result.valid
assert result.trust_level >= 1
Trust Levels

Trust, not blind faith

Like SSL certificates โ€” from self-signed to Extended Validation. Every level is on-chain, queryable, transparent.

โšช
Level 0
Self-registered

Agent registered itself. Valid identity, unverified.

Like
Self-signed SSL cert
๐Ÿ”ต
Level 1
Owner-verified

Human owner claimed and cryptographically signed.

Like
Domain-validated SSL
๐ŸŸข
Level 2
Platform-verified

Platform (OpenAI, Anthropic, OpenClaw) attested identity.

Like
Organization-validated SSL
โญ
Level 3
Cross-verified

Multiple independent verifications. Maximum trust.

Like
Extended Validation SSL

Built for everyone

Agent Developers

Give your agent a verifiable identity in 3 lines of code.

  • โœ“ Free SDK (npm + Python)
  • โœ“ Gasless registration
  • โœ“ Agent-to-agent trust
  • โœ“ Portable across platforms

Platforms

Become a verifier. Your agents get trusted badges.

  • โœ“ Verify agents you host
  • โœ“ Trust layer for marketplaces
  • โœ“ Interoperable standard
  • โœ“ No vendor lock-in

Enterprises

Know which agents access your systems.

  • โœ“ Audit trail for agent actions
  • โœ“ Governance & compliance
  • โœ“ Trust-based access control
  • โœ“ On-chain accountability

Fully open. No catch.

MIT licensed. Smart contract verified and open source. No token, no ICO, no VC strings. Just infrastructure the world needs.

๐Ÿ“œ
MIT License
Use however you want
โ›“
On-Chain
Base L2 (Ethereum)
๐ŸŒ
Public Good
Free forever

Give your agent an identity

npm
npm install @agentid/sdk
python
pip install agentid
rest
curl -X POST api.agentid.md/v1/register \
  -d '{"name":"MyAgent"}'