AI agents are shipping without identity.
No proof of who they are. No receipt of what they did. No trust signal for systems they interact with. Every agent framework — CrewAI, AutoGen, LangChain, Phidata — treats agents as trusted by default.
That works when you're running agents locally. It breaks the moment agents handle money, sensitive data, or talk to agents they've never met.
I built AgentID to fix this. Here's what it is, how it works, and what I learned building it alone.
What AgentID Does
Every agent registered on AgentID gets:
-
Cryptographic identity — Ed25519 certificates, W3C DID document (
did:web:getagentid.dev:agent:your_id) - Dual-signed receipts — every action produces a receipt signed with both HMAC-SHA256 and Ed25519. Publicly verifiable offline.
- Trust levels L1-L4 — based on security capabilities, not time. Register = L1. Bind Ed25519 key = L2. Bind wallet = L3. Entity verified = L4.
- Session continuity detection — auto-detects when an agent's model or memory changes between sessions. Server-side. The agent can't suppress it.
- Behavioral monitoring — frequency spikes, unusual hours, payload drift, model changes. 30-day baseline. Anomalies flagged in real-time.
- Daemon agent support — for always-on background agents that act autonomously.
The Tech
- Ed25519 for all signing — publicly verifiable with just the public key
- JCS RFC 8785 for canonical serialization — deterministic across Python, Node.js, Go, Rust
- Solana for blockchain anchoring — every receipt gets a memo transaction
- EdDSA trust header JWT — attach to outbound HTTP requests, receiving services verify offline
-
Standard JWKS at
/.well-known/jwks.json— RFC 7517 compliant
What's Live
- 141+ agents registered on the platform
- 8/8 cross-protocol tests passing against live production
- 6/6 multi-attestation spec verified — alongside InsumerAPI, ThoughtProof, RNWY, Maiat, and APS
-
SDK on PyPI —
pip install getagentid - Named Identity Verification owner in the agent identity Working Group
How It Works (5 Lines of Code)
pip install getagentid
from agentid import Client
client = Client(api_key="agentid_sk_...")
# Register an agent
result = client.agents.register(
name="My Trading Bot",
capabilities=["trading", "analysis"],
)
# Verify any agent
verified = client.agents.verify("agent_abc123")
print(verified.trust_level) # 2
print(verified.context_continuity.score) # 100
For daemon agents (always-on, autonomous):
from agentid.daemon import DaemonAgent
daemon = DaemonAgent.register(
api_key="agentid_sk_...",
name="Background Monitor",
autonomy_level="semi-autonomous",
heartbeat_interval=300,
)
# Every action gets a verifiable receipt
receipt = daemon.sign_action("processed 15 records")
# Trust headers for outbound requests
headers = daemon.trust_headers() # EdDSA JWT, 1hr TTL
We Also Build Agents
Not just the identity layer — we build custom AI agents for businesses. Tell us what you need, we design, build, and deploy it. Every agent gets AgentID identity from day one.
The Numbers
| Metric | Value |
|---|---|
| Agents registered | 141+ |
| Cross-protocol tests | 8/8 passing |
| Multi-attestation spec | 6/6 verified (Section 3.6) |
| SDK | v0.5.0 on PyPI |
| Framework integrations | CrewAI, AutoGen, Solana Agent Kit, Upsonic, ERC-8004 |
| Time to build | 3 months |
| Team size | 1 |
| Funding | $0 |
Try It
- Docs: getagentid.dev/docs
-
SDK:
pip install getagentid - Build page: getagentid.dev/build
- Showcase: getagentid.dev/cross-tests
- GitHub: github.com/haroldmalikfrimpong-ops/getagentid
Built by Malik. One laptop. Three months. No team. No funding.
Top comments (0)