{"uid":"cap__WG_w0wG5PAWHn62yHbwP","slug":"datasieve-composite30-watch-multi-condition-blockchain-monitor-b945e59b","name":"DataSieve Composite30 Watch — Multi-Condition Blockchain 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/composite30","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"renew":{"type":"string","description":"INSTEAD of the other fields: pass an existing composite watch id (wt_...) to renew it for another 7 days at the same price"},"conditions":{"type":"array","items":{"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)."},"maxItems":5,"minItems":1,"description":"up to 5 conditions; the watch fires when ANY of them matches"},"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":"composite30","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":800,"triggersUsed":0}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.85","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.85/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.85","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.85","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_BrYlVJO1i-QphYuvlDTN3","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.85","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Creates a composite watch (up to 30 conditions) on Base blockchain for wallet activity, token transfers, price crosses, new pairs, heartbeat dead-man switches, and scheduled triggers, with webhook delivery and a 7-day active period.","exampleAgentPrompt":"Set up a composite watch on DataSieve that monitors wallet 0xAbCd...1234 for any incoming ETH transfers of at least 0.5 ETH, plus a heartbeat dead-man switch labeled 'trader-prod' that fires if I don't ping it every 300 seconds — deliver alerts to my webhook at https://myagent.example.com/hooks.","exampleUseCases":[{"title":"Whale wallet surveillance on Base","prompt":"Watch Base wallet 0x1234...abcd for any incoming or outgoing native ETH transfers of 2 ETH or more, and also flag any USDC transfers above 100,000 — send alerts to my webhook whenever either condition fires."},{"title":"DeFi price alert for autonomous trader","prompt":"Create a watch on DataSieve that fires whenever the WETH/USDC Uniswap v3 pool at 0xPool...5678 on Base crosses above 3500 USDC per WETH, so my trading agent knows to execute."},{"title":"Agent fleet dead-man switch","prompt":"Set a heartbeat monitor named 'arbitrage-bot-1' with a 120-second interval and a 60-second grace period — if my agent stops pinging it, I want an immediate alarm sent to my webhook at https://ops.myfleet.io/alerts."}],"resultDescription":"A JSON object containing a unique watch ID (wt_...), a one-time webhook secret (whsec_...) for authenticating event deliveries and status reads, URLs for polling status and streaming events, the watch state ('active'), the expiry timestamp (7 days out), and the trigger cap (800) plus triggers used. The secret is returned only once and must be stored immediately.","failureModes":["Payment failure via x402 (402 response) — wallet lacks sufficient USDC or x402 handshake fails","Invalid condition schema — missing required fields like address, pool, or intervalSeconds cause 400 validation errors","Expired or unknown watch ID passed to 'renew' field — returns 404 or 422","Pool or token address not found or not on Base mainnet — condition may silently not fire or return 400","Trigger cap (800) exhausted before expiry — no further events delivered until renewed","Webhook endpoint unreachable — events are lost if the registered URL is down (no guaranteed retry described)","Heartbeat grace period too short (min 60s) — rejected with 400"],"whenToPreferThis":"Choose this endpoint when you need to combine multiple heterogeneous blockchain conditions (wallet activity, token transfers, price levels, new pairs, heartbeats, and scheduled triggers) into a single paid watch session on Base, particularly when operating an ephemeral or autonomous AI agent that cannot maintain persistent server infrastructure. It is especially suitable for dead-man switches and multi-agent coordination where wallet-as-identity (no account required) and per-call x402 micropayments are preferred over subscription billing.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T12:43:21.299Z","isFirstParty":false}