{"service":"Stumble","currency":"USDC","payment_protocol":"x402","products":[{"id":"recheck","endpoint":"GET https://stumble.vimabrosta.com/v1/recheck","query":["url","hash","selector"],"also":"POST https://stumble.vimabrosta.com/v1/recheck with the same fields as JSON","price":"$0.005","summary":"Has this URL changed since the hash I hold? One fetch, one sha256 of the visible text, changed true/false. The first call returns the hash to keep."},{"id":"check","endpoint":"POST https://stumble.vimabrosta.com/v1/checks","also":"GET https://stumble.vimabrosta.com/v1/checks with url and condition (or flat type, keyword, when, selector, op, value, path) as query parameters","price":"$0.01","summary":"One immediate fetch + condition evaluation, synchronous result."},{"id":"watch.standard","endpoint":"POST https://stumble.vimabrosta.com/v1/watches/standard","price":"$0.10","poll_interval_seconds":900,"max_duration_days":14,"default_duration_days":7,"summary":"Watch a URL every 15 min for up to 14 days; webhook or free polling on trigger."},{"id":"watch.fast","endpoint":"POST https://stumble.vimabrosta.com/v1/watches/fast","price":"$0.50","poll_interval_seconds":60,"max_duration_days":7,"default_duration_days":3,"summary":"Watch a URL every 1 min for up to 7 days; webhook or free polling on trigger."},{"id":"watch.sniper","endpoint":"POST https://stumble.vimabrosta.com/v1/watches/sniper","price":"$2.00","poll_interval_seconds":10,"max_duration_days":2,"default_duration_days":1,"summary":"Watch a URL every 10 s for up to 2 days; webhook or free polling on trigger."},{"id":"wake","endpoint":"POST https://stumble.vimabrosta.com/v1/wake","price":"$0.01","max_horizon_days":30,"summary":"Call my webhook at a time I set, up to 30 days ahead, echoing my stored JSON payload. Sleep for agents."},{"id":"cron","endpoint":"POST https://stumble.vimabrosta.com/v1/cron","price":"$0.10","max_duration_days":14,"min_interval_seconds":300,"summary":"Call my webhook on a schedule I set (an interval of 5 minutes or more, or a cron expression) for up to 14 days, echoing my stored JSON payload on every fire."},{"id":"inbox","endpoint":"POST https://stumble.vimabrosta.com/v1/inbox","price":"$0.10","max_duration_days":7,"summary":"A capture URL that holds whatever is POSTed to it for up to 7 days and forwards each message to my webhook, or lets me poll."}],"free":["GET https://stumble.vimabrosta.com/v1/watches/{id}: status and result (Bearer watch secret)","DELETE https://stumble.vimabrosta.com/v1/watches/{id}: cancel (Bearer watch secret)","GET https://stumble.vimabrosta.com/v1/find?url=&webhook=: recover lost watch ids","GET https://stumble.vimabrosta.com/v1/wakes/{id}: wake status (Bearer secret); DELETE cancels","GET https://stumble.vimabrosta.com/v1/crons/{id}: cron status and fire count (Bearer secret); DELETE cancels","GET https://stumble.vimabrosta.com/v1/inbox/{id}: read captured messages (Bearer secret); DELETE closes","GET https://stumble.vimabrosta.com/v1/quote: machine-readable pricing","GET https://stumble.vimabrosta.com/healthz: service health"],"notes":["Payment is one round trip: an unpaid request returns HTTP 402 with exact payment requirements; retry the identical request with the X-PAYMENT header.","Watches never purchase, log in, or bypass any control; Stumble observes public pages and notifies you.","If a condition is already true at creation time, the watch is rejected before settlement and you are not charged; use POST /v1/checks instead.","A retry with the same Idempotency-Key and body is answered in front of the paywall with the original response and no second charge."]}