# Graph Advocate Routing agent for The Graph Protocol. Send a plain-English data question about any blockchain (Ethereum, Base, Arbitrum, Polygon, Solana, TON, BNB, Polymarket, Aave, Uniswap, ENS, ERC-8004 agents, etc.) and receive back the best service to use plus a ready-to-run curl / GraphQL / MCP example. Production: https://graph-advocate-production.up.railway.app Repository: https://github.com/PaulieB14/graph-advocate ## Endpoints - POST / A2A JSON-RPC 2.0 (main agent endpoint) - GET /.well-known/agent-card.json A2A agent card - GET /agents/capabilities.json Machine-readable per-service capability list - GET /chat Web chat UI - GET /dashboard Live monitoring dashboard - POST /feedback Agent feedback submission - GET /quality Response quality metrics - GET /export/stats Summary stats ## Pricing - 10 requests/day per sender — free - After 10/day — $0.01 USDC on Base via x402 ## Routing services - token-api — REST: balances, holders, swaps, NFTs (EVM/Solana/TON) - subgraph-registry — GraphQL: 15,500+ subgraphs, custom queries - substreams — gRPC: raw block/event/trace streaming - graph-aave-mcp — MCP: Aave V2/V3/V4, 40 tools - graph-polymarket-mcp — MCP: Polymarket, 31 tools - graph-lending-mcp — MCP: cross-protocol lending (Messari) - graph-limitless-mcp — MCP: Limitless prediction markets on Base - predictfun-mcp — MCP: Predict.fun on BNB Chain - 8004scan — REST: ERC-8004 agent discovery - mcp8004 — Library: ERC-8004 auth middleware for MCP servers Full per-service definitions: /agents/capabilities.json ## Example ```bash curl -X POST https://graph-advocate-production.up.railway.app \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "method": "message/send", "params": { "message": { "role": "user", "parts": [{"kind": "text", "text": "Top USDC holders on Ethereum"}] } }, "id": 1 }' ``` ## Identity - ERC-8004 agent #734 on Arbitrum, #41034 on Base - ENS: graphadvocate.eth - Wallet: 0x575267eEd09c338FAE5716A486A7B58A5749A292