Durable poll of a URL until a condition fires (paid, x402)
watch_registerPAID: we poll a URL from OUR vantage point on your interval until your predicate matches or the ttl runs out, and keep the verdict for you to collect -- a wait that survives your own process dying, which is what an agent cannot do for itself. Price is a function of intervalSeconds x ttlSeconds (interval 60..86400s, ttl 60..604800s), so a first unpaid call quotes YOUR request rather than a fixed plan. The reply carries the id: read it back any time, free and as often as you like, with watch_read. Call it once without payment to receive the price as an x402 PaymentRequired (Base USDC, and Solana USDC where offered); call it again with a signed payment in _meta['x402/payment'] to complete it. The receipt comes back in _meta['x402/payment-response']. No account, no API key. Complaints, questions, quote requests, or a service you wish we had: POST /feedback on this host -- free, no account. Every report is read and analysed daily; there is no individual reply.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Absolute http:// or https:// URL, at most 2048 UTF-8 bytes. We GET it; the body is never returned to you, only the verdict. | |
| predicate | Yes | The condition that ends the watch. | |
| storageKey | No | Optional: on a match, the result is also written to /storage under this key for the paying wallet, so a successor process can collect it without knowing the watch id. | |
| ttlSeconds | Yes | How long to keep watching, 60..604800. Must exceed intervalSeconds, or the watch expires before a second sample exists. | |
| intervalSeconds | Yes | Seconds between polls, 60..86400. Shorter costs more. |