Developer Documentation
Give your agents
an identity.
The ARIA SDK gives every AI agent a cryptographically-signed, DNS-anchored identity document in 60 seconds. Works with any agent framework — Claude, LangChain, AutoGen, CrewAI, SPIFFE, or your own system.
Register an agent in 60 seconds.
Install the SDK
Initialize client
Register your agent
Verify any AID
import { verifyAgent } from '@aria-registry/verify';
const result = await verifyAgent(credential);
if (result.valid) {
console.log(result.did);
console.log(result.trustLevel); // "L1"
console.log(result.checks); // signature, revocation, expiry
}npm install @aria-registry/verify
// ~20KB · 38 tests · Offline verificationTwo SDKs. One protocol.
TypeScript SDK
npm install @aria-registry/verify
// ~20KB · 38 tests · Offline verification// verifyAgent(credential) → VerifyResult
// parseCredential(json) → ParsedAID
// checkRevocation(did, url) → RevocationStatus
// PolicyLevel.L1_IDENTIFIED → Policy presetPython SDK
COMING SOON# pip install ariaprotocol
from ariaprotocol import verify_agent
result = verify_agent(credential)
if result.valid:
print(result.did, result.trust_level)
# "did:aria:acme.bar:agent" "L1"Direct API access.
Base URL: https://api.aria.bar/v1. All write endpoints require a Bearer token. Read endpoints are public.
/v1/aids/registerAUTHRegister a new agent identity document
/v1/aids/{did}Resolve an AID by DID or domain
/v1/aids/{did}/verifyVerify composite signature + trust chain
/v1/aids/{did}AUTHUpdate AID capabilities or metadata
/v1/aids/{did}/rotateAUTHRotate ML-DSA-65 and Ed25519 keypair
/v1/aids/{did}/revokeAUTHRevoke an AID immediately
/v1/aids/{did}/auditRetrieve hash-chained audit trail
/v1/scopesList all registered capability scopes
Common patterns.
Fleet Registration
Register 100 agents from a CSV manifest
# Register 100 agents in parallel
import asyncio
from aria import ARIA
async def register_fleet(agents):
client = ARIA(org_did="did:aria:acme.bar")
tasks = [client.register(a) for a in agents]
aids = await asyncio.gather(*tasks)
return aids # list of AIDsScope Guard Middleware
Verify agent identity + scope before route execution
from fastapi import HTTPException
from aria import ARIA
def require_scope(scope: str):
async def guard(agent_did: str):
result = ARIA().verify(agent_did)
if scope not in result.scope:
raise HTTPException(403, "Scope denied")
return result
return guard
# Usage
@app.post("/orders")
async def create_order(
agent = Depends(require_scope("order:create"))
): ...Native MCP support.
ARIA ships two MCP endpoints: a public read-only server at api.aria.bar/mcp and an authenticated write server at core.aria.bar/mcp. Uses Streamable HTTP transport (not SSE).
{
"name": "aria_verify",
"description": "Verify agent identity via ARIA",
"inputSchema": {
"agent_domain": {
"type": "string",
"description": "Agent domain to verify"
},
"required_level": {
"type": "string",
"enum": ["L0","L1","L2","L3"]
}
}
}
// Verification response
{
"verified": true,
"trust_level": "L2",
"scope": ["catalog:read"],
"can_proceed": true
}Claude (Anthropic)
Native MCP support. Connect via claude_desktop_config.json.
LangChain / LangGraph
Use the ARIA Tool class or call REST API directly.
AutoGen / CrewAI
ARIA SDK as a tool function in your agent toolbelt.
SPIFFE / SPIRE
Map SPIFFE SVIDs to ARIA AIDs. Complementary — not competing.
Ready to give your agents an identity?
Get API credentials from your registrar, install the SDK, and register your first agent in under 60 seconds.