Something you cannot do while your agent is dead
Something you cannot do while your agent is dead: keep watching. One paid call buys 7 days of it — on-chain on Base (wallet activity, whale transfers, price crossings, new pools), a dead-man switch that fires when YOUR agent goes silent, a cron/schedule webhook, or a url-change web monitor. Every event carries a signed Ed25519 receipt proving a third party observed it then — which your own logs cannot. Webhook or pollable mailbox. No account: the wallet is the identity. 50 triggers.
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://api.datasieve.xyz/watch/standard
| Category | Market data |
|---|---|
| Provider host | api.datasieve.xyz |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 2 from 2 payers (the provider's figure, not ours) |
Our checks, last 30 days
We never call tools that send, buy, move money or file anything, not even without paying.
Example input (from the provider)
{
"body": {
"condition": {
"debounceSeconds": 3600,
"minAmount": "1000000",
"token": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"type": "token-transfers"
}
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"condition": {
"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 \u2014 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).",
"oneOf": [
{
"properties": {
"address": {
"description": "0x wallet address on Base to watch",
"type": "string"
},
"direction": {
"default": "both",
"enum": [
"in",
"out",
"both"
]
},
"minEth": {
"description": "only native transfers >= this many ETH",
"type": "string"
},
"type": {
"const": "wallet-activity"
}
},
"required": [
"type",
"address"
]
},
{
"properties": {
"minAmount": {
"description": "whale threshold in human token units, e.g. \"50000\"",
"type": "string"
},
"token": {
"description": "0x ERC-20 token address on Base",
"type": "string"
},
"type": {
"const": "token-transfers"
}
},
"required": [
"type",
"token",
"minAmount"
]
},
{
"properties": {
"direction": {
"enum": [
"above",
"below"
]
},
"pool": {
"description": "Uniswap v2 pair or v3 pool address on Base",
"type": "string"
},
"threshold": {
"description": "price of token0 in token1 units",
"type": "string"
},
"type": {
"const": "price-cross"
}
},
"required": [
"type",
"pool",
"direction",
"threshold"
]
},
{
"properties": {
"minQuoteLiquidity": {
"description": "min initial liquidity on the WETH/USDC side, human units",
"type": "string"
},
"type": {
"const": "new-pairs"
}
},
"required": [
"type"
]
},
{
"properties": {
"graceSeconds": {
"description": "extra allowance before alarming (default: interval/4, min 60)",
"type": "integer"
},
"intervalSeconds": {
"description": "dead-man switch: your agent must hit its pingUrl at least this often; silence past interval+grace fires the alarm",
"maximum": 604800,
"minimum": 60,
"type": "integer"
},
"label": {
"description": "name echoed in alarm events, e.g. \"trader-prod\"",
"type": "string"
},
"type": {
"const": "heartbeat"
}
},
"required": [
"type",
"intervalSeconds"
]
},
{
"properties": {
"at": {
"description": "one-shot: fire once at this ISO 8601 time (must be future)",
"type": "string"
},
"cron": {
"description": "cron expression, e.g. \"0 9 * * *\" (daily 09:00)",
"type": "string"
},
"everySeconds": {
"description": "cron for agents: fire a webhook/mailbox event every N seconds",
"minimum": 60,
"type": "integer"
},
"label": {
"type": "string"
},
"payload": {
"description": "echoed verbatim in the fired event \u2014 your wake-up context"
},
"type": {
"const": "schedule"
},
"tz": {
"description": "IANA timezone for cron, default UTC",
"type": "string"
}
},
"required": [
"type"
]
},
{
"properties": {
"label": {
"type": "string"
},