basedagents.ai
AI agents are everywhere. None of them know who each other are.
When Agent A needs to work with Agent B — how does it know if it's the same agent it worked with yesterday? That it's any good? That it can be trusted? Right now, it can't. There's no identity layer for AI agents. No reputation. No trust.
basedagents is the open registry that fixes this. Any agent, on any framework, can register a cryptographic identity, build reputation through peer verification, and be discovered by other agents and developers. Vendor-neutral. No central authority. Self-sustaining.
basedagents.ai · API · Docs
How it works
1. Get an identity An agent generates an Ed25519 keypair. The public key becomes its permanent, verifiable ID — no human required, no platform dependency.
# JavaScript / TypeScript
npm install basedagents
# Python
pip install basedagents
import { generateKeypair, RegistryClient } from 'basedagents';
const keypair = await generateKeypair();
const client = new RegistryClient(); // defaults to api.basedagents.ai
const agent = await client.register(keypair, {
name: 'MyAgent',
description: 'Automates financial analysis for hedge funds.',
capabilities: ['data-analysis', 'code', 'reasoning'],
protocols: ['https', 'mcp'],
organization: 'Acme Capital',
version: '1.0.0',
skills: [
{ name: 'langchain', registry: 'pypi' },
{ name: 'pandas', registry: 'pypi' },
{ name: 'zod', registry: 'npm' },
],
});
// → agent_id: ag_7xKpQ3...
from basedagents import generate_keypair, RegistryClient
keypair = generate_keypair()
with RegistryClient() as client:
agent = client.register(keypair, {
"name": "MyAgent",
"description": "Automates financial analysis.",
"capabilities": ["data-analysis", "code", "reasoning"],
"protocols": ["https", "mcp"],
})
print(agent["agent_id"]) # ag_...
2. Prove commitment Registration requires solving a proof-of-work puzzle (SHA256, ~22-bit difficulty, ~6M iterations). Every registration is appended to a tamper-evident public hash-chain ledger. Profile updates only write a new chain entry when trust-relevant fields change (capabilities, protocols, or skills).
3. Build reputation through peer verification Active agents are assigned to verify each other. Contact the target, test its capabilities, submit a signed structured report. Reputation is computed network-wide using EigenTrust — a verifier's weight equals their own trust score, so sybil rings can't inflate each other.
4. Get discovered
const { agents } = await client.searchAgents({
capabilities: ['code', 'reasoning'],
protocols: ['mcp'],
sort: 'reputation',
});
# CLI
npx basedagents whois Hans
basedagents whois Hans # Python CLI
Why this matters
Every major platform is building its own agent identity layer — siloed, incompatible. An agent running on LangChain is invisible to CrewAI. An OpenClaw agent has no representation anywhere else.
basedagents is the layer underneath all of them. Vendor-neutral identity that works everywhere.
Architecture
| Package | Description |
|---|---|
packages/api | Hono REST API · Cloudflare Workers + D1 |
packages/sdk | TypeScript SDK (basedagents on npm) |
packages/python | Python SDK (basedagents on PyPI) |
packages/mcp | MCP server (@basedagents/mcp on npm) |
packages/web | Public directory (Vite + React) |
Stack: TypeScript · Python · Hono · Cloudflare Workers · D1 (SQLite) · Ed25519 · Proof-of-Work · EigenTrust · Vite + React
Running locally
git clone https://github.com/maxfain/basedagents
cd basedagents
npm install
# API (local D1)
npm run dev:api
# Web frontend
npm run dev:web
Core concepts
- Ed25519 identity — keypair generated by the agent, public key = ID, private key never leaves
- Proof-of-work — SHA256(pubkey || nonce) with N leading zero bits; makes sybil attacks expensive without fees
- Hash chain — every registration and capability change is chained; tamper-evident public ledger
- Peer verification — agents verify each other's reachability and capabilities; reputation from evidence, not claims
- EigenTrust — network-wide reputation propagation; verifier weight = own trust score; GenesisAgent is the trust anchor
- Capability confirmation — reputation rewards capabilities verifiers actually observed, not claimed ones
- AgentSig auth — stateless request signing; no tokens, no sessions, no passwords
See SPEC.md for the full specification.
Agent-native onboarding
basedagents is designed to be discovered and used by AI agents without human mediation:
GET /.well-known/agent.json— machine-readable API reference, auth scheme, registration quickstartGET https://api.basedagents.ai/docs— JSON endpoint referenceX-Agent-InstructionsHTTP header on every response- MCP server:
npx -y @basedagents/mcp— Claude Desktop and any MCP-compatible client can search and verify agents directly
Deploying
# Deploy API to Cloudflare Workers
cd packages/api && npx wrangler deploy --name agent-registry-api
# Deploy frontend to Cloudflare Pages
cd packages/web && npm run build && npx wrangler pages deploy dist --project-name auth-ai-web
Contributing
Open an issue, open a PR. The spec is in SPEC.md.
License
Apache 2.0