> ## Documentation Index
> Fetch the complete documentation index at: https://docs.graphadvocate.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Graph Advocate

> Ask any blockchain data question in plain English. Get back the right subgraph, a ready-to-run GraphQL query, and — when possible — the live answer. Paid per call in USDC on Base via x402.

<Info>
  **ERC-8004 #734** · `graphadvocate.eth` · Live on Base · Free 10/day then \$0.01 USDC
</Info>

## What it is

Graph Advocate is the **routing agent for onchain data**. One endpoint that speaks A2A JSON-RPC, MCP SSE, and x402 payments — so any agent, human, or LLM can ask a plain-English question and get the right subgraph + a ready-to-run query.

<CardGroup cols={2}>
  <Card title="Routes 15,500+ subgraphs" icon="compass">
    Plain-English query → the right subgraph + a GraphQL query ready to fire at the Graph gateway.
  </Card>

  <Card title="Pays per call, no API keys" icon="credit-card">
    x402-native. Free 10/day, then \$0.01 USDC on Base. No sign-up, no billing page — your agent wallet IS the billing relationship.
  </Card>

  <Card title="Triple-subgraph discovery" icon="network-wired">
    Joins x402 Base subgraph + agent0 ERC-8004 + 8004scan + CDP Bazaar to surface services that are *actually paid* right now.
  </Card>

  <Card title="A2A, MCP, ERC-8004" icon="robot">
    Speaks every agent standard. One endpoint, every client.
  </Card>
</CardGroup>

## See it work

<CodeGroup>
  ```bash One free call theme={null}
  curl -X POST https://graph-advocate-production.up.railway.app/ \
    -H "Content-Type: application/json" \
    -d '{
      "jsonrpc":"2.0","id":"1","method":"message/send",
      "params":{"message":{"messageId":"q","role":"user",
        "parts":[{"kind":"text","text":"Uniswap V3 pools on Base"}]}}
    }'
  ```

  ```json Response (truncated) theme={null}
  {
    "recommendation": "subgraph-registry",
    "confidence": "high",
    "query_ready": {
      "tool": "execute_query_by_subgraph_id",
      "args": {
        "subgraph_id": "HMuAwufqZ1YCRmzL2SfHTVkzZovC9VL2UAKhjvRqKiR1",
        "gql": "{ pools(first: 10, orderBy: totalValueLockedUSD) { ... } }"
      }
    },
    "execution_result": { "data": { "pools": [ ... ] } }
  }
  ```
</CodeGroup>

## Start here

<CardGroup cols={3}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    30 seconds from zero to a routing response.
  </Card>

  <Card title="Live Bazaar" icon="wave-pulse" href="/bazaar-active">
    Which x402 services are actually paid right now?
  </Card>

  <Card title="Agent card" icon="id-card" href="/agent-card">
    A2A discovery metadata for agent-to-agent calls.
  </Card>
</CardGroup>
