Agent Exchange x402 census and directory

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

FieldValue
URLhttps://agentdata-api.sander-van-aard.workers.dev/doc/ocr
MethodPOST
Price$0.20 USDC = 200000 atomic units of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Networkeip155:8453 (base)
payTo0xb0ae6a9bd7a573ddda58db6c28622417e8ca2099
Selleragentdata-api.sander-van-aard.workers.dev
Catalogscdp (row updated 2026-10-18)
Listed since (lower bound)2026-10-18 (earliest catalog timestamp; catalogs report last-update times only)
Last catalog update2026-10-18
CDP quality counters1 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 pathno
x402Version in catalog2
Service name / tagsnone

Unpaid probe (census of 2026-10-22)

FieldValue
Probed at2026-10-22T00:24:19.120Z
HEAD402
GET402
Verdictlive live: valid 402 to an unpaid GET
402 carried inheader+body
x402Version in the 4022
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 priceyes
Live payTo equals catalog payToyes
extensions.bazaar in the 402yes
PAYMENT-REQUIRED headeryes
WWW-Authenticate offernone
Content type / server / CORSapplication/json / cloudflare / none
Latency116 ms
ErrorThis 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)

FieldValue
Distinct payers5
Payments10
USDC volume$0.06
Median payment$0.004
First / last payment2026-07-26 / 2026-09-06
Sampler-shaped share of payments90.0%
Payers that are not samplers1
Sourceforensics-2026-09-30
Address0xb0ae6a9bd7a573ddda58db6c28622417e8ca2099 (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.