{"@context":"https://agentresources.xyz/schemas/agent-services/v1","name":"Agent Resources","description":"Infrastructure platform for AI agents — scanning, KYA certification, retraining, memory, and skill management.","version":"1.0.0","protocol":"x402","protocolVersions":["v1","v2"],"chain":"Base","network":"eip155:8453","currency":"USDC","usdcContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","receiverWallet":"0xd4d2cF255B4ce3d568A75b2e8688DF0BC4Ace56F","facilitator":"https://x402.coinbase.com","cdpEnabled":true,"services":[{"id":"lifecycle","name":"Lifecycle Assessment","description":"Full agent assessment — security scan, output quality, metadata audit, and KYA certification. Tier (basic/verified/trusted) determined by score.","priceUsdc":4,"scheme":"exact","endpoint":"/api/v1/x402/v2/lifecycle","method":"POST"},{"id":"retrain","name":"Retraining","description":"Deterministic retraining based on scan results — configuration hardening, permission tuning, and metadata optimization","priceUsdc":3,"scheme":"exact","endpoint":"/api/v1/x402/v2/retrain","method":"POST"},{"id":"skill","name":"Skill Install","description":"Install a skill onto an agent (always free)","priceUsdc":0,"endpoint":"/api/v1/x402/v2/skill","method":"POST"},{"id":"llm","name":"Metered LLM Inference","description":"LLM inference via AR LiteLLM proxy — metered by actual token usage, max $10/request","maxPriceUsdc":10,"scheme":"upto","endpoint":"/api/v1/x402/v2/llm","method":"POST"}],"platformServices":[{"id":"registration","name":"Agent Registration","description":"Register, manage, and query AI agents within a workspace.","endpoint":"/api/v1/agents","methods":["GET","POST","PUT"],"auth":["wallet_session","supabase_jwt"]},{"id":"autonomous_registration","name":"Autonomous Agent Self-Registration","description":"Public endpoint for autonomous agents to self-register via wallet signature — no pre-existing account required.","endpoint":"/api/v1/agents/autonomous-register","methods":["POST"],"auth":["wallet_signature"]},{"id":"trust","name":"Trust & Verification","description":"Trust score dashboard, layer scores, verification lifecycle.","endpoint":"/api/v1/trust","methods":["GET"],"auth":["wallet_session","supabase_jwt"]},{"id":"policy","name":"Agent Policy Management","description":"Declare and manage agent runtime policies.","endpoint":"/api/v1/policy","methods":["GET","POST","PUT"],"auth":["wallet_session","supabase_jwt"]},{"id":"telemetry","name":"SDK Telemetry Ingestion","description":"Ingest heartbeats, tasks, network events, permission events, data access events.","endpoint":"/api/v1/telemetry","methods":["POST"],"auth":["wallet_session","supabase_jwt"]},{"id":"memory","name":"Agent Memory (pgvector)","description":"Persistent semantic memory with vector search.","endpoint":"/api/v1/memory","methods":["POST","GET","DELETE"],"auth":["wallet_session","supabase_jwt"]},{"id":"skill_library","name":"Skill Library","description":"Browse, install, fork, rate, and submit skills.","endpoint":"/api/v1/library/skills","methods":["GET","POST","DELETE"],"auth":["wallet_session","supabase_jwt"]},{"id":"transfer","name":"Agent Transfer","description":"Transfer agent ownership between workspaces.","endpoint":"/api/v1/transfer","methods":["GET","POST"],"auth":["wallet_session","supabase_jwt"]},{"id":"privacy","name":"Privacy & GDPR","description":"GDPR data export, account deletion, and privacy status.","endpoint":"/api/v1/privacy","methods":["GET","POST","DELETE"],"auth":["wallet_session","supabase_jwt"]}],"authentication":{"type":"wallet_session_token","description":"Autonomous agents authenticate by signing a challenge with their wallet and exchanging the signature for a 30-minute HMAC session token. The token is sent as `Authorization: Bearer <token>` on all protected endpoints (memory, telemetry, scan, retraining, etc). No API keys exist on the AR platform — wallet identity is the only first-class auth surface for agents.","flow":["1. GET /api/v1/x402/auth/challenge?wallet=<0x...> → returns { nonce, message }","2. Sign `message` with wallet (EIP-191 personal_sign)","3. POST /api/v1/x402/auth/verify { wallet, signature, nonce } → returns { token, agentId }","4. Send `Authorization: Bearer <token>` on subsequent protected calls"],"challengeEndpoint":"/api/v1/x402/auth/challenge","verifyEndpoint":"/api/v1/x402/auth/verify","tokenTtlMinutes":30,"ownerAuth":{"type":"supabase_jwt","description":"Human owner accounts authenticate via Supabase OAuth and present the JWT as a Bearer header. authMiddleware accepts BOTH wallet session tokens and Supabase JWTs."}},"sdk":{"typescript":"@agent-resources/sdk","python":"agentresources"},"documentation":"https://docs.agentresources.xyz/x402","support":"https://agentresources.xyz/support"}