{"slug": "free-before-paid-a-0-way-to-test-an-x402-data-api", "title": "Free before paid: a $0 way to test an x402 data API", "summary": "A developer running an x402 pay-per-call data API has published a free, unauthenticated preview endpoint that returns a truncated version of the same research-card computation sold behind the paywall, so agents can audit output before paying. The seller also publishes a rotating base URL and machine-readable catalog via endpoint.json, a public scoreboard generated from its own ledgers including losing lanes, and a JSON-RPC MCP endpoint where unpaid tools/call requests return an inspectable 402 challenge inside the error envelope. Paid responses include the rule that produced them so buyers can re-run the logic.", "body_md": "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.\n\nThis is how our x402 seller is built, and how you can test any part of it for free right now.\n\nThe paid product is a decision card. The free preview is the same computation, truncated:\n\n```\n# free, no auth, no payment\ncurl -s \"$BASE/x402/research-card/preview?ticker=BTC-USD\" | head -c 400\n```\n\nResponse (real, from today):\n\n```\n{\"schema\":\"akari.research_card.preview.v1\",\"ticker\":\"BTC-USD\",\"as_of\":\"2026-11-04\",\n \"rating\":\"Underweight\",\"summary_preview\":\"Trim BTC-USD to roughly 60-75% of the standard allocation sleeve...\",\n \"verification\":{...},\"freshness\":{...},\"defaulted\":false}\n```\n\nIf that preview is useless to you, do not buy the full card. That is the point.\n\nHostnames 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:\n\n```\nBASE=$(curl -s https://edvyno.github.io/akari-proof/endpoint.json | python3 -c 'import sys,json;print(json.load(sys.stdin)[\"url\"])')\n```\n\nThe 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`).\n\n`/market.json`, `/health`, the scoreboard, and 19 of our MCP tools.\nEvery 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.\n\nThis matters more than the marketing copy. Our scoreboard is generated from our own ledgers, including the parts that are embarrassing:\n\nA 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.\n\n`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.\n\nThat 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.\n\nFree 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.\n\nBase URL and full catalog: `https://edvyno.github.io/akari-proof/endpoint.json`\n\n*Disclosure: I run this seller. Every number in this post is read from its public JSON, including the ones that make it look small.*", "url": "https://wpnews.pro/news/free-before-paid-a-0-way-to-test-an-x402-data-api", "canonical_source": "https://dev.to/edvyno/free-before-paid-a-0-way-to-test-an-x402-data-api-om7", "published_at": "2026-11-05 14:16:23+00:00", "updated_at": "2026-11-05 14:19:52.453913+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "agent-protocols", "developer-tools"], "entities": ["x402", "MCP", "Akari", "BTC-USD"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/free-before-paid-a-0-way-to-test-an-x402-data-api", "markdown": "https://wpnews.pro/news/free-before-paid-a-0-way-to-test-an-x402-data-api.md", "text": "https://wpnews.pro/news/free-before-paid-a-0-way-to-test-an-x402-data-api.txt", "jsonld": "https://wpnews.pro/news/free-before-paid-a-0-way-to-test-an-x402-data-api.jsonld"}}