x402 census · agentdata-api.sander-van-aard.workers.dev · 0a49caab2eca · JSON
POST /doc/ocr
live
OCR for AI agents, $0.20 per image: scans, photos and screenshots (PNG, JPEG, WebP, GIF, max 5 MB) to exact text with line breaks and reading order preserved. One call: send a url or base64 — no upload step, no polling. No text found means a 400 and you pay nothing. USDC on Base, no account, no API key.
Verdict: live. The unpaid GET reached a valid 402. The live amount equals the catalog price.
Facts from the catalogs
| Field | Value |
|---|---|
| URL | https://agentdata-api.sander-van-aard.workers.dev/doc/ocr |
| Method | POST |
| Price | $0.20 USDC = 200000 atomic units of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
| Network | eip155:8453 (base) |
| payTo | 0xb0ae6a9bd7a573ddda58db6c28622417e8ca2099 |
| Seller | agentdata-api.sander-van-aard.workers.dev |
| Catalogs | cdp (row updated 2026-10-18) |
| Listed since (lower bound) | 2026-10-18 (earliest catalog timestamp; catalogs report last-update times only) |
| Last catalog update | 2026-10-18 |
| CDP quality counters | 1 calls and 1 unique payers in 30 days, last call 2026-10-18 (catalog-reported, not verified on chain) |
| Category (keyword rule) | scrape/browser |
| Templated path | no |
| x402Version in catalog | 2 |
| Service name / tags | none |
Unpaid probe (census of 2026-10-22)
| Field | Value |
|---|---|
| Probed at | 2026-10-22T00:24:19.120Z |
| HEAD | 402 |
| GET | 402 |
| Verdict | live live: valid 402 to an unpaid GET |
| 402 carried in | header+body |
| x402Version in the 402 | 2 |
| accepts[0] | {"scheme":"exact","network":"eip155:8453","amount":"200000","payTo":"0xb0ae6a9bd7a573ddda58db6c28622417e8ca2099","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}} |
| Live amount equals catalog price | yes |
| Live payTo equals catalog payTo | yes |
| extensions.bazaar in the 402 | yes |
| PAYMENT-REQUIRED header | yes |
| WWW-Authenticate offer | none |
| Content type / server / CORS | application/json / cloudflare / none |
| Latency | 116 ms |
| Error | This endpoint expects POST; payment requirements below. |
No hourly re-probe has reached this resource yet; the cron covers a rotating slice of 150 per hour.
On-chain facts for the payTo (public address)
| Field | Value |
|---|---|
| Distinct payers | 5 |
| Payments | 10 |
| USDC volume | $0.06 |
| Median payment | $0.004 |
| First / last payment | 2026-07-26 / 2026-09-06 |
| Sampler-shaped share of payments | 90.0% |
| Payers that are not samplers | 1 |
| Source | forensics-2026-09-30 |
| Address | 0xb0ae6a9bd7a573ddda58db6c28622417e8ca2099 (contract: EIP7702Proxy) |
Declared input and output (extensions.bazaar)
{
"input": {
"body": {
"url": "https://example.com/scanned-invoice.png"
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"type": "json",
"example": {
"file_kind": "png",
"recognized_at": "2026-10-18T08:00:00.000Z",
"text": "INVOICE 4471\nAcme B.V., Keizersgracht 12, Amsterdam\nTotal due: EUR 120.00 before 2026-11-01",
"text_chars": 82
}
}
}
Try it (unpaid: shows the 402)
curl -si -X POST 'https://agentdata-api.sander-van-aard.workers.dev/doc/ocr' -H 'accept: application/json' -H 'content-type: application/json' --data '{}'
The catalog declares POST. A 402 answer carries the payment requirements in the JSON body and, for x402 v2, base64 in the PAYMENT-REQUIRED header. This page never sends a payment.
Paid checks (x402, USDC on Base)
GET https://bazaar.agentexchange.work/r/0a49caab2eca/probe.json re-runs this probe right now for $0.01 and writes the result here. POST https://bazaar.agentexchange.work/featured with {"id":"0a49caab2eca"} places this resource at the top of the report and search pages for 30 days for $1.00, labelled. Unpaid requests answer 402 with the terms. Pricing.
Catalog references: agentic.market (CDP Bazaar front end) · this record as JSON · all resources on agentdata-api.sander-van-aard.workers.dev.