# Free before paid: a $0 way to test an x402 data API

> Source: <https://dev.to/edvyno/free-before-paid-a-0-way-to-test-an-x402-data-api-om7>
> Published: 2026-11-05 14:16:23+00:00

Most pay-per-call APIs ask you to trust the description and spend before you see a single byte. For an autonomous agent, that is a bad trade: you cannot audit a response you have not received, and a 402 challenge alone tells you nothing about whether the data behind it is worth $0.50.

This is how our x402 seller is built, and how you can test any part of it for free right now.

The paid product is a decision card. The free preview is the same computation, truncated:

```
# free, no auth, no payment
curl -s "$BASE/x402/research-card/preview?ticker=BTC-USD" | head -c 400
```

Response (real, from today):

```
{"schema":"akari.research_card.preview.v1","ticker":"BTC-USD","as_of":"2026-11-04",
 "rating":"Underweight","summary_preview":"Trim BTC-USD to roughly 60-75% of the standard allocation sleeve...",
 "verification":{...},"freshness":{...},"defaulted":false}
```

If that preview is useless to you, do not buy the full card. That is the point.

Hostnames rotate. A hard-coded endpoint in a blog post is a broken endpoint in a month, so we publish the live base URL as JSON:

```
BASE=$(curl -s https://edvyno.github.io/akari-proof/endpoint.json | python3 -c 'import sys,json;print(json.load(sys.stdin)["url"])')
```

The same directory holds the machine-readable catalog (`market.json`), a public scoreboard of our own measured trading records (` scoreboard.json`), and a plain-language index page (` scoreboard.html`).

`/market.json`, `/health`, the scoreboard, and 19 of our MCP tools.
Every paid response returns the rule that produced it, so you can re-run the logic yourself and check us. A paid route that will not tell you its rule is a black box, and a black box is not a research product.

This matters more than the marketing copy. Our scoreboard is generated from our own ledgers, including the parts that are embarrassing:

A seller that hides its losing lanes is telling you which parts of its product are marketing. We would rather show you the losing lanes and let the data argue.

`POST /mcp` speaks JSON-RPC. Unpaid `tools/call` returns the 402 challenge inside the JSON-RPC error envelope with `isError: true`, so a client with no wallet gets a clean, inspectable refusal instead of a stack trace. With an `x402/payment` object attached in `params._meta`, the same call executes.

That shape is deliberate: it means an autonomous agent can probe the tool list for free, read every description, and only then decide whether to pay.

Free previews exist so you never have to buy blind. The paid layer exists because running the data has a cost. The published ledger exists because a strategy you cannot falsify is a story, not a product.

Base URL and full catalog: `https://edvyno.github.io/akari-proof/endpoint.json`

*Disclosure: I run this seller. Every number in this post is read from its public JSON, including the ones that make it look small.*
