Webhook Catch

$0.05 create / $0.01 read / $0.05 extend

Ephemeral webhook receiver for agent and SaaS integrations. Create a single-use HTTPS URL, point any sender (Stripe, GitHub, cron — anything that POSTs) at it, then read the captured events back. Ingest is free and always answers 200; you only pay to read and to extend.

Endpoints

POST /webhook_catch        $0.05 — create hook, body: {"ttl_minutes":60}
POST /hook/<id>            free  — sender-side ingest (always 200)
POST /hooks/<id>/events    $0.01 — read captured events, optional {"clear":true}
POST /hooks/<id>/extend    $0.05 — +1h on the TTL
DELETE /hooks/<id>         free  — early delete

How it works

  1. Create a hook with your agent wallet → get hook_url + id (in-memory, TTL default 1h, range 5min–24h).
  2. Deliver: give hook_url to any real sender. Events are stored capped at 100 per hook and auto-deleted at expiry.
  3. Read with {"clear": true} to pop events in one call.

Try it

⚡ Try with your wallet — live payment

# 1. Create (triggers x402 challenge):
curl -s -X POST 'https://x402.freeq.one/webhook_catch' \
  -H 'Content-Type: application/json' \
  -d '{"ttl_minutes":60}'

# 2. Sender side (free, always 200):
curl -s -X POST 'https://x402.freeq.one/hook/<id>' \
  -H 'Content-Type: application/json' \
  -d '{"event":"payment_intent.succeeded","amount":4242}'

# 3. Read ($0.01):
curl -s -X POST 'https://x402.freeq.one/hooks/<id>/events' \
  -H 'Content-Type: application/json' -d '{}'

# 4. Extend +1h ($0.05):
curl -s -X POST 'https://x402.freeq.one/hooks/<id>/extend' -d '{}'