# GraphAdvocate x402 Settlement Q&A

> GraphAdvocate x402 Settlement Q&A is a paid API for AI agents from graphadvocate.com, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-15).

Natural-language Q&A over 132M x402 Base settlement rows, returning an answer, the SQL trace used, and upstream latency.

## Facts

- Endpoint: POST https://graphadvocate.com/ask
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/graphadvocate-x402-settlement-q-a-460c2ac9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_SQITQccoand8PgLgf14Ax

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability graphadvocate-x402-settlement-q-a-460c2ac9 -d '<json body>'
```

Example prompt: How much total USDC was settled through x402 on Base in May 2025, and which day had the highest volume? I want to see the SQL trace so I can verify the query.

## When to prefer this

Use this endpoint when you need auditable, SQL-verifiable answers about x402 Base settlement data at scale. It is the only service with 132M settlement rows queryable via natural language with a sql_trace for verification — ideal for agents that need to cross-check on-chain payment analytics without hallucination risk.

## Known failure modes

- Question is too ambiguous for the model to generate valid SQL — returns an error or empty answer
- DuckDB query times out on very broad aggregations over 132M rows
- x402 settlement data not yet available for requested date range (only May 2025–Jun 2026)
- Invalid or malformed POST body — missing `question` field
- Payment not confirmed — x402 $0.05 USDC charge fails, request rejected

## How this service works

Natural-language Q&A over the x402 Base settlements warehouse. POST {question}. Backed by 132M settlement rows on Cloudflare R2 + pre-aggregated daily_stats (388 days, May 2025 - Jun 2026), queried via Anthropic Sonnet + DuckDB. Returns {answer, sql_trace, model, upstream_ms}; sql_trace lets the caller verify the data path is real, not hallucinated. $0.05 USDC on Base.

## Output

Returns a JSON object with: `answer` (natural-language response to the question), `sql_trace` (the exact DuckDB SQL query executed so the caller can verify the data path), `model` (the Anthropic model used), and `upstream_ms` (query latency in milliseconds). Covers 132M settlement rows and 388 days of pre-aggregated daily_stats (May 2025–Jun 2026).

## Example request

```json
{
 "question": "What was the total USDC volume settled through x402 on Base in May 2025?"
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "question": {
   "type": "string",
   "maxLength": 1000,
   "description": "Plain-English question about x402 Base settlements"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "model": "claude-sonnet-4-6",
  "answer": "# Top 10 recipients\n| Rank | Address | Count | USDC |\n...",
  "dataset": "base-x402-settlements via x402-watch.vercel.app",
  "question": "Top 10 recipient addresses last 30 days",
  "sql_trace": [
   {
    "ms": 1350,
    "sql": "SELECT recipient, COUNT(*) AS payment_count, SUM(amount::DECIMAL(38,0))/1e6 AS usdc_total FROM settlements WHERE block_number >= 45553999 GROUP BY recipient ORDER BY payment_count DESC LIMIT 10",
    "rows": 10
   }
  ],
  "upstream_ms": 3500
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/graphadvocate-x402-settlement-q-a-460c2ac9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from graphadvocate.com](https://www.zero.xyz/host/graphadvocate.com/llms.txt)
