{"openapi":"3.1.0","info":{"title":"Laurel API","version":"1","description":"The ERC-8004 agent registry and score for Elysium. Free: 120 calls an hour per IP; with x-api-key: 20,000 a day, pages of 1000 and /export; past that 0.00001 HYPE a call (x402, X-PAYMENT: tx hash). ?net=mainnet reads Elysium mainnet."},"servers":[{"url":"https://laurelapp.xyz"}],"components":{"securitySchemes":{"key":{"type":"apiKey","in":"header","name":"x-api-key"}}},"paths":{"/api/v1/agents":{"get":{"summary":"Search and sort agents","parameters":[{"name":"class","in":"query","required":false,"schema":{"type":"string"}},{"name":"tier","in":"query","required":false,"schema":{"type":"string"}},{"name":"svc","in":"query","required":false,"schema":{"type":"string"}},{"name":"min_score","in":"query","required":false,"schema":{"type":"string"}},{"name":"live","in":"query","required":false,"schema":{"type":"string"}},{"name":"rated","in":"query","required":false,"schema":{"type":"string"}},{"name":"bonded","in":"query","required":false,"schema":{"type":"string"}},{"name":"token","in":"query","required":false,"schema":{"type":"string"}},{"name":"q","in":"query","required":false,"schema":{"type":"string"}},{"name":"owner","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"string"}},{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/agents/{id}":{"get":{"summary":"One agent: score, parts, verdict, endpoints, tools, feedback, bonds, credit, token, history, events","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/agents/{id}/feedback":{"get":{"summary":"Every rating of an agent","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"string"}},{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/agents/{id}/events":{"get":{"summary":"Every on-chain event of an agent","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"kind","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"string"}},{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/agents/{id}/history":{"get":{"summary":"Score and endpoint checks over time","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"days","in":"query","required":false,"schema":{"type":"string"}},{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/agents/{id}/tools":{"get":{"summary":"MCP tools and A2A skills with their inputs","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/agents/{id}/bonds":{"get":{"summary":"Bonds and credit backing per wallet","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/check":{"get":{"summary":"Every agent an address owns or is paid through, or one agent","parameters":[{"name":"address","in":"query","required":false,"schema":{"type":"string"}},{"name":"agent","in":"query","required":false,"schema":{"type":"string"}},{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/proof/{id}":{"get":{"summary":"Merkle proof of an agent's score in the latest root","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/scores":{"get":{"summary":"The latest score root and all its leaves","parameters":[{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/stats":{"get":{"summary":"Registry totals, facets, latest root, indexed block, mainnet discovery","parameters":[{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/series":{"get":{"summary":"Agents and bonds over time, every endpoint's last check","parameters":[{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/activity":{"get":{"summary":"Latest on-chain events","parameters":[{"name":"kind","in":"query","required":false,"schema":{"type":"string"}},{"name":"agent","in":"query","required":false,"schema":{"type":"string"}},{"name":"actor","in":"query","required":false,"schema":{"type":"string"}},{"name":"before_block","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"string"}},{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/credit":{"get":{"summary":"Credit pool: liquidity, lent, backing, fees, losses, limits, open loans","parameters":[{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/credit/loans":{"get":{"summary":"Loans: open, repaid, defaulted","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"schema":{"type":"string"}},{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/buyback":{"get":{"summary":"LaurelBuyback: share, reserve, spent, burned","parameters":[{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/token":{"get":{"summary":"$LRL: supply, burned, circulating, price, market cap, history","parameters":[],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/chain":{"get":{"summary":"Elysium chain stats","parameters":[{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/pay/{txHash}":{"get":{"summary":"A payment for calls and the calls left","parameters":[{"name":"txHash","in":"path","required":true,"schema":{"type":"string"}},{"name":"net","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"JSON"},"402":{"description":"Past the free limit: x402 payment details"}}}},"/api/v1/export":{"get":{"summary":"Every agent's full record in one file (API key)","security":[{"key":[]}],"responses":{"200":{"description":"JSON"},"401":{"description":"No key"}}}},"/api/v1/try/{id}":{"post":{"summary":"Call one tool on an agent's MCP server through Laurel: { tool, arguments }","responses":{"200":{"description":"The tool's answer"}}}},"/api/v1/refresh/{id}":{"post":{"summary":"Re-index and re-score one agent now","responses":{"200":{"description":"Done"}}}},"/api/v1/key":{"post":{"summary":"Get an API key: { address, message, signature }","responses":{"200":{"description":"The key, shown once"}}}}}}