x402station Watch
Get a webhook the moment an x402 endpoint your agent depends on flips state — went dead, became a zombie, was reflagged as a decoy, or drifted in price. $0.01 USDC for 30 days, up to 100 prepaid alerts. Settled via x402 itself.
POST https://x402station.io/api/v1/watch
{
"url": "https://api.example.com/x402-endpoint",
"webhook": "https://your-agent.example/x402-alerts",
"signals": ["dead", "zombie", "decoy_price_extreme",
"price_drift", "high_concentration"]
}
// First call returns 402 with payment requirements.
// Retry with PAYMENT-SIGNATURE → returns { watchId, expiresAt }.
// Then your webhook receives:
{
"watchId": "wch_…",
"url": "https://api.example.com/x402-endpoint",
"signal": "zombie", // which signal fired
"evidence": { …probe data… }, // why it fired
"firedAt": "2026-05-05T12:34:56Z"
}What triggers an alert
Six signal types. Subscribe to any subset; we only fire on the ones you asked for.
- dead — endpoint returned an error (network or 5xx) on every probe in the last hour. Fires once per state change, not once per probe.
- zombie — every endpoint of this service is failing simultaneously. Service-level signal, stronger than per-endpoint dead.
- decoy_price_extreme — endpoint price flipped to ≥ $1,000 USDC. Anti-scraper trap; agents that auto-pay would drain wallets on the first call.
- price_drift — endpoint price changed by more than 10× since the last snapshot. Often legitimate, but a routing decision an agent should re-confirm.
- high_concentration — provider this endpoint belongs to crossed a concentration threshold (eg. 50% of the catalog). Single-source-failure risk just got worse.
- recovered — endpoint that was previously firing one of the bad signals is healthy again. Lets you re-enable the route automatically.
Why webhooks, not polling
An agent that polls preflight before every paid request already burns $0.001 per call. That works for short-lived workflows. Long-running agents (scheduled jobs, daemons, autonomous policy engines) want the inverse: subscribe once, get pushed an alert only when something changes. Watch is that channel.
Webhook delivery follows the standard Idempotency-Key header pattern; your handler can dedupe replays safely. We retry 5 times with exponential backoff before burning an alert quota credit and giving up.
What we watch right now
Snapshot from the live catalog (refreshed every 10 minutes by the probe worker):
- ~49k endpoints in active rotation, each probed every 10 min — ~140k probes / hour total.
- 74 endpoints currently flagged decoy_price_extreme — every one would fire on subscribe.
- ~14 services in zombie state right now — your agent should not be paying any of them.
Full breakdown: We probed 49,314 x402 endpoints. Here's what we blocked.
Pricing & limits
- $0.01 USDC — one watch on one URL for 30 days. Settled via x402, no signup.
- 100 alerts — soft cap per watch. Most endpoints flip far less than this in 30 days; the cap is a safety net against runaway notification storms during catalog churn.
- Re-mint anytime — pay $0.01 again on the same URL to refresh the 30-day window and reset alert quota. Idempotent on payment_tx.