{"uid":"cap_kLjZk7NRjr8HnAUfwJJjs","slug":"datasieve-standard30-watch-blockchain-heartbeat-monitor-8b45ad3c","name":"DataSieve Standard30 Watch — Blockchain & Heartbeat Monitor","description":"Standing infrastructure for ephemeral AI agents, paid per call over x402. Watches, dead-man switches, and multi-agent coordination. No account; wallet as identity.","url":"https://api.datasieve.xyz/watch/standard30","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"renew":{"type":"string","description":"INSTEAD of the other fields: pass an existing standard watch id (wt_...) to renew it for another 7 days at the same price"},"condition":{"type":"object","oneOf":[{"required":["type","address"],"properties":{"type":{"const":"wallet-activity"},"minEth":{"type":"string","description":"only native transfers >= this many ETH"},"address":{"type":"string","description":"0x wallet address on Base to watch"},"direction":{"enum":["in","out","both"],"default":"both"}}},{"required":["type","token","minAmount"],"properties":{"type":{"const":"token-transfers"},"token":{"type":"string","description":"0x ERC-20 token address on Base"},"minAmount":{"type":"string","description":"whale threshold in human token units, e.g. \"50000\""}}},{"required":["type","pool","direction","threshold"],"properties":{"pool":{"type":"string","description":"Uniswap v2 pair or v3 pool address on Base"},"type":{"const":"price-cross"},"direction":{"enum":["above","below"]},"threshold":{"type":"string","description":"price of token0 in token1 units"}}},{"required":["type"],"properties":{"type":{"const":"new-pairs"},"minQuoteLiquidity":{"type":"string","description":"min initial liquidity on the WETH/USDC side, human units"}}},{"required":["type","intervalSeconds"],"properties":{"type":{"const":"heartbeat"},"label":{"type":"string","description":"name echoed in alarm events, e.g. \"trader-prod\""},"graceSeconds":{"type":"integer","description":"extra allowance before alarming (default: interval/4, min 60)"},"intervalSeconds":{"type":"integer","maximum":604800,"minimum":60,"description":"dead-man switch: your agent must hit its pingUrl at least this often; silence past interval+grace fires the alarm"}}},{"required":["type"],"properties":{"at":{"type":"string","description":"one-shot: fire once at this ISO 8601 time (must be future)"},"tz":{"type":"string","description":"IANA timezone for cron, default UTC"},"cron":{"type":"string","description":"cron expression, e.g. \"0 9 * * *\" (daily 09:00)"},"type":{"const":"schedule"},"label":{"type":"string"},"payload":{"description":"echoed verbatim in the fired event — your wake-up context"},"everySeconds":{"type":"integer","minimum":60,"description":"cron for agents: fire a webhook/mailbox event every N seconds"}}},{"required":["type","url"],"properties":{"url":{"type":"string","description":"public http(s) page to monitor for content changes"},"type":{"const":"url-change"},"label":{"type":"string"},"regex":{"type":"string","description":"regex scoping: hash the joined matches (applied after selector if both set)"},"selector":{"type":"string","description":"CSS selector scoping what counts as \"the page\" (matched elements' text is hashed) — without it whole-page text is used and noisy pages false-positive"},"pollSeconds":{"type":"integer","default":600,"minimum":300,"description":"poll interval, floor 300s"}}}],"description":"One watch condition. type selects the kind; the other fields depend on it. ANY condition also accepts debounceSeconds (collapse a burst of matches into one delivery — set it unless you want every hit, because a watch stops at its trigger cap) and dedupeKey (never fire twice for the same logical event)."},"webhookUrl":{"type":"string","description":"optional https endpoint to receive HMAC-signed event POSTs; omit to poll GET /watch/:id/events instead"}}},"responseSchema":{"type":"json","example":{"id":"wt_01jzyx8k2mabcdefghjkmn","tier":"standard30","links":{"events":"https://api.datasieve.xyz/watch/wt_01jzyx8k2mabcdefghjkmn/events","status":"https://api.datasieve.xyz/watch/wt_01jzyx8k2mabcdefghjkmn"},"state":"active","secret":"whsec_...returned once, keep it: it authenticates status/events reads and signs your webhooks","expiresAt":"2026-07-17T00:00:00.000Z","triggerCap":200,"triggersUsed":0}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.35","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.35/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.35","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.35","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_760ZX5kQN5mvHXQaST2fs","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.35","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Creates a 30-day standing watch on Base blockchain events or a dead-man-switch heartbeat, firing webhook alerts up to 200 times, paid per call via x402.","exampleAgentPrompt":"Set up a 30-day watch on Base wallet 0xAbCd...1234 that fires a webhook to https://my-agent.example.com/hook whenever it receives at least 0.5 ETH inbound — direction 'in', minEth '0.5'.","exampleUseCases":[{"title":"Whale token transfer alert","prompt":"Watch the USDC contract on Base and send a webhook to https://alerts.myapp.com/whale whenever a single transfer exceeds 500,000 USDC — set it up as a standard 30-day watch."},{"title":"Trading bot dead-man switch","prompt":"Set up a heartbeat dead-man switch for my trading bot called 'trader-prod': it will ping you every 300 seconds, give it a 120-second grace period, and alert my webhook at https://ops.myapp.com/alarm if it goes silent."},{"title":"Uniswap price-cross notification","prompt":"Create a price-cross watch on Uniswap pool 0xPool...5678 on Base — fire my webhook at https://signal.myapp.com/price when the price of token0 in token1 units crosses above 1.85, valid for the next 30 days."}],"resultDescription":"Returns a JSON object with a unique watch ID (wt_...), a one-time webhook secret (whsec_...) for authenticating callbacks and status reads, the watch state ('active'), expiry date (30 days out), a trigger cap of 200, a current trigger count, and links to the watch's status and events endpoints.","failureModes":["Invalid or missing condition type returns 400 with validation error","Wallet or token address not a valid 0x address returns 400","Heartbeat intervalSeconds below 60 or above 604800 returns 400","Past ISO 8601 timestamp for one-shot scheduling returns 400","Payment not provided or insufficient via x402 returns 402","Renew ID (wt_...) not found or already expired returns 404","Trigger cap of 200 exhausted — watch stops firing events silently until renewed"],"whenToPreferThis":"Choose this endpoint when your autonomous agent needs persistent, standing infrastructure on Base blockchain without managing accounts — using wallet-as-identity via x402 micropayment. It is ideal for multi-agent systems needing dead-man switches, on-chain event monitoring (wallet activity, token whale moves, Uniswap price crosses, new pair launches), or cron/one-shot scheduling, all expiring after 30 days with up to 200 trigger firings.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T06:35:37.874Z","isFirstParty":false}