Paid-receipt webhook — a receipt pushed for every payment you make

Register a webhook URL once, keyed by your payer wallet. From then on, every payment from that wallet that this fleet can see settling is POSTed to your URL as a structured receipt: endpoint, amount, payer, tx hash, and a permalink when one exists. Free.

How delivery works — and what is NOT covered

Payment kindHow your receipt is pushed
Clinic-settled on-chain payments — POST /clinic/fleet-index, POST /clinic/demand-reportSynchronous within seconds of settlement; payer + tx hash known at settle time.
Pack-funded executions — POST /clinic/replay, POST /clinic/repeat-callSynchronous within seconds of the pack deduction. Identity = the wallet stored on the pack at purchase time, or the wallet you link by presenting the pack key at registration. Off-chain: the receipt carries tx: null and says the pack deduction is the record.
Direct per-call payments to Contabo-hosted endpoint serversLog watcher A watcher tails the endpoints' paid-call logs every 2 minutes — near-real-time, not instant. Endpoint logs carry no tx hash, so the tx is resolved on-chain best-effort; when it cannot be matched unambiguously you get the receipt with tx: null and a note saying so.
Credit-pack purchasesLog watcher Picked up from the pack store by the same 2-minute watcher, with the purchase tx.
InferenceHub-hosted endpoint paymentsNot covered. Those logs live on another host and are not readable from the clinic today.

One receipt per payment is guaranteed by a delivery ledger — the same payment is never pushed twice to the same registration, across both paths. A failed delivery is retried at most once. A registration is automatically disabled after 3 consecutive failed delivery attempts. Caps: max 5 active registrations per wallet, max 10 registrations created per IP per day.

Identity note: receipts contain only data that is public on-chain anyway (payer, amount, endpoint, tx hash). Anyone can register a webhook for any wallet — treat receipts as a convenience feed for your own bookkeeping, not as proof of payment. Always verify the tx on-chain.

Machine form

POST https://api.mekongtradeintel.com/clinic/receipt-webhook
{ "webhook_url": "https://...", "wallet": "0x...", "pack_key": "pk_..." }
→ { "ok": true, "registration": { "id": "rwh_...", "status": "active", ... },
     "management_token": "rwm_...",   // returned EXACTLY ONCE
     "scope": { ... } }

GET    https://api.mekongtradeintel.com/clinic/receipt-webhook?id=rwh_...&token=rwm_...
DELETE https://api.mekongtradeintel.com/clinic/receipt-webhook
       { "id": "rwh_...", "token": "rwm_..." }

Webhook payload: { "event": "paid_receipt", "event_id": "rcpt_...",
  "endpoint": "fleet-index", "amount_usd": 0.005, "amount_atomic": "5000",
  "currency": "USDC", "network": "eip155:8453",
  "payer": "0x...", "payee": "0x198f3895551B309fF5C5F59e690FB0823d10EA93",
  "tx": "0x...", "tx_url": "https://basescan.org/tx/0x...",
  "permalink": null, "paid_at": "2026-10-28T...", "source": "clinic_sync" }

Part of the 402 Clinic — free tooling for x402 buyers and sellers on Base.