datasieve-mcp 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,11 +1,14 @@
1
1
  # datasieve-mcp
2
2
 
3
- MCP server for [DataSieve](https://api.datasieve.xyz) — standing watches for AI
4
- agents, paid over x402. On-chain conditions on Base (wallet activity, whale
5
- transfers, price crossings, new pools) and **dead-man switches for your own
6
- agents** (your agent pings a URL; silence fires the alert). No account, no API
7
- key: one gasless USDC payment per watch, signed locally your key never leaves
8
- your machine.
3
+ MCP server for [DataSieve](https://datasieve.xyz) — standing infrastructure for
4
+ AI agents, paid over x402. On-chain conditions on Base (wallet activity, whale
5
+ transfers, price crossings, new pools), **url-change web monitoring** (CSS
6
+ selector / regex scoped), **dead-man switches for your own agents** (your agent
7
+ pings a URL; silence fires the alert), **cron schedules** (fire a webhook every
8
+ N seconds, at a time, or on a cron expression), and **multi-agent coordination**
9
+ (barriers + locks). Every event carries a signed Ed25519 observation receipt.
10
+ No account, no API key: one gasless USDC payment per watch, signed locally —
11
+ your key never leaves your machine. Failed calls are never billed.
9
12
 
10
13
  ## Setup — no key required to start
11
14
 
@@ -13,9 +16,20 @@ your machine.
13
16
  claude mcp add datasieve -- npx -y datasieve-mcp
14
17
  ```
15
18
 
16
- That's it. Six of the eight tools work with **no wallet at all** — check our
17
- scanner's health, read watch status, drain events, ping dead-man switches,
18
- cancel watches. Only `create_watch` and `renew_watch` spend money.
19
+ Most tools work with **no wallet at all** — check our scanner's health, read
20
+ watch status, drain events, ping dead-man switches, pause/resume, verify
21
+ receipts, cancel watches. Only the buying tools spend money.
22
+
23
+ ### The Claude Code skill (recommended)
24
+
25
+ ```sh
26
+ npx -y datasieve-mcp --install-skill
27
+ ```
28
+
29
+ Installs a skill into `~/.claude/skills/datasieve/` that teaches Claude when to
30
+ reach for standing infrastructure proactively: arm a dead-man switch before
31
+ long autonomous work, schedule wake-ups, watch pages and wallets, coordinate
32
+ sub-agents.
19
33
 
20
34
  ### When you want to buy
21
35
 
@@ -33,8 +47,8 @@ claude mcp add datasieve -e DATASIEVE_PRIVATE_KEY_FILE=$HOME/.datasieve/key.txt
33
47
  (`DATASIEVE_PRIVATE_KEY=0x...` inline also works if you prefer.)
34
48
 
35
49
  The key never leaves the process: each payment is a signature authorizing
36
- **exactly** the route price ($0.50 or $1.00) — one at a time, nothing standing.
37
- Run `payment_status` to see the wallet, its balance, and prices before spending
50
+ **exactly** the route price — one at a time, nothing standing. Run
51
+ `payment_status` to see the wallet, its balance, and prices before spending
38
52
  anything.
39
53
 
40
54
  ### Rehearse for free
@@ -51,11 +65,17 @@ watches last 1 hour.
51
65
 
52
66
  | tool | cost | what |
53
67
  |---|---|---|
54
- | `create_watch` | $0.50 (standard) / $1.00 (composite, ≤5 conditions) per 7 days | buy a watch; returns id, secret, ping URLs |
68
+ | `create_watch` | $0.10 (standard/7d) · $0.25 (composite/7d, ≤5 conditions) · $0.35 (standard30/30d) · $0.85 (composite30/30d) | buy a watch; returns id, secret, ping URLs |
69
+ | `renew_watch` | tier price | one more period, trigger budget reset |
70
+ | `coord_workspace` | $0.25 / 7d | multi-agent barriers + locks; every op after is free |
71
+ | `cron_next` | $0.001 | parse a cron expression: next N run times, any timezone |
72
+ | `x402_ping` | $0.001 | end-to-end payment stack self-test |
55
73
  | `watch_status` | free | heartbeat, triggers, expiry, up/down per dead-man switch |
56
74
  | `drain_events` | free | collect everything caught while you weren't running |
57
- | `renew_watch` | tier price | +7 days, trigger budget reset |
75
+ | `pause_watch` / `resume_watch` | free | stop firing without deleting; backlog-free resume |
58
76
  | `ping_heartbeat` | free | keep your dead-man switch alive |
77
+ | `verify_receipt` | free | check the Ed25519 receipt on any delivered event |
78
+ | `coord_barrier` / `coord_arrive` / `coord_lock` / `coord_release` / `coord_events` | free | workspace ops |
59
79
  | `delete_watch` | free | cancel |
60
80
  | `service_health` | free | verify our scanner is alive before you pay |
61
81
  | `payment_status` | free | wallet address, USDC balance, prices — "can I buy?" |
package/dist/main.js CHANGED
@@ -12,14 +12,26 @@
12
12
  * DATASIEVE_STATE_FILE default ~/.datasieve/watches.json — remembers watch
13
13
  * secrets so later tool calls don't need them.
14
14
  */
15
- import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
15
+ import { copyFileSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
16
16
  import { homedir } from 'node:os';
17
17
  import { dirname, join } from 'node:path';
18
+ import { fileURLToPath } from 'node:url';
18
19
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
19
20
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
20
21
  import { z } from 'zod';
21
22
  const API = (process.env.DATASIEVE_API_URL ?? 'https://api.datasieve.xyz').replace(/\/$/, '');
22
23
  const STATE_FILE = process.env.DATASIEVE_STATE_FILE ?? join(homedir(), '.datasieve', 'watches.json');
24
+ // `npx datasieve-mcp --install-skill` copies the bundled Claude Code skill to
25
+ // ~/.claude/skills/datasieve/ so Claude proactively reaches for standing
26
+ // infrastructure (dead-man switches before long tasks, schedules, watches).
27
+ if (process.argv.includes('--install-skill')) {
28
+ const src = join(dirname(fileURLToPath(import.meta.url)), '..', 'skill', 'SKILL.md');
29
+ const dest = join(homedir(), '.claude', 'skills', 'datasieve', 'SKILL.md');
30
+ mkdirSync(dirname(dest), { recursive: true });
31
+ copyFileSync(src, dest);
32
+ console.log(`Installed the DataSieve skill to ${dest}`);
33
+ process.exit(0);
34
+ }
23
35
  function loadState() {
24
36
  try {
25
37
  return JSON.parse(readFileSync(STATE_FILE, 'utf8'));
@@ -109,31 +121,37 @@ async function json(res) {
109
121
  }
110
122
  const conditionShape = z
111
123
  .object({
112
- type: z.enum(['wallet-activity', 'token-transfers', 'price-cross', 'new-pairs', 'heartbeat']),
124
+ type: z.enum(['wallet-activity', 'token-transfers', 'price-cross', 'new-pairs', 'heartbeat', 'schedule', 'url-change']),
113
125
  })
114
126
  .passthrough()
115
127
  .describe('One condition. Shapes: {type:"wallet-activity",address,direction?,minEth?} | ' +
116
128
  '{type:"token-transfers",token,minAmount} | {type:"price-cross",pool,direction,threshold} | ' +
117
- '{type:"new-pairs",minQuoteLiquidity?} | {type:"heartbeat",intervalSeconds,graceSeconds?,label?} ' +
118
- '(heartbeat = dead-man switch: you get a pingUrl; silence past interval+grace fires the alert)');
129
+ '{type:"new-pairs",minQuoteLiquidity?} | {type:"heartbeat",intervalSeconds,graceSeconds?,label?} | ' +
130
+ '{type:"schedule",everySeconds|at|cron,tz?,payload?,label?} | ' +
131
+ '{type:"url-change",url,selector?,regex?,pollSeconds?,label?} ' +
132
+ '(heartbeat = dead-man switch: silence fires the alert. schedule = cron for agents: fire a webhook/mailbox event every N seconds, at a time, or on a cron expression. ' +
133
+ 'url-change = watch a public web page: fires when content scoped by CSS selector/regex actually changes, poll floor 300s)');
119
134
  // ---- server ---------------------------------------------------------------------
120
- const server = new McpServer({ name: 'datasieve', version: '0.1.0' });
135
+ const server = new McpServer({ name: 'datasieve', version: '0.4.0' });
121
136
  server.registerTool('create_watch', {
122
137
  title: 'Create a watch (paid via x402)',
123
138
  description: `Buy a standing watch from DataSieve (${API}). standard = $0.10/7d, 1 condition, 50 triggers; ` +
124
- 'composite = $0.25/7d, up to 5 any-match conditions (e.g. 5 heartbeat dead-man switches), 200 triggers. ' +
139
+ 'composite = $0.25/7d, up to 5 any-match conditions (e.g. 5 heartbeat dead-man switches), 200 triggers; ' +
140
+ 'standard30 = $0.35/30d and composite30 = $0.85/30d — one payment covers the month, for agents that ' +
141
+ 'will not be awake to renew weekly. ' +
125
142
  'Payment is a gasless USDC transfer signed locally. Events go to your webhookUrl (HMAC-signed) if set, ' +
126
- 'and always to a server-side mailbox drained with drain_events. The watch id + secret are remembered ' +
127
- 'locally so later calls need only the id.',
143
+ 'and always to a server-side mailbox drained with drain_events; every event carries a signed Ed25519 ' +
144
+ 'observation receipt you can replay to third parties. Failed calls are never billed. ' +
145
+ 'The watch id + secret are remembered locally so later calls need only the id.',
128
146
  inputSchema: {
129
- tier: z.enum(['standard', 'composite']).default('standard'),
147
+ tier: z.enum(['standard', 'composite', 'standard30', 'composite30']).default('standard'),
130
148
  conditions: z.array(conditionShape).min(1).max(5),
131
149
  webhookUrl: z.string().url().optional(),
132
150
  },
133
151
  }, async ({ tier, conditions, webhookUrl }) => {
134
152
  try {
135
153
  const fetchPay = await payFetch();
136
- const body = tier === 'standard'
154
+ const body = tier.startsWith('standard')
137
155
  ? { condition: conditions[0], ...(webhookUrl ? { webhookUrl } : {}) }
138
156
  : { conditions, ...(webhookUrl ? { webhookUrl } : {}) };
139
157
  const res = await fetchPay(`${API}/watch/${tier}`, {
@@ -187,8 +205,9 @@ server.registerTool('drain_events', {
187
205
  });
188
206
  server.registerTool('renew_watch', {
189
207
  title: 'Renew a watch (paid via x402)',
190
- description: 'Extends the watch 7 more days at its tier price and resets the trigger budget.',
191
- inputSchema: { watchId: z.string(), tier: z.enum(['standard', 'composite']).optional() },
208
+ description: 'Extends the watch one more period (7 days, or 30 on the *30 tiers) at its tier price and ' +
209
+ 'resets the trigger budget. Renewing a paused watch also reactivates it.',
210
+ inputSchema: { watchId: z.string(), tier: z.enum(['standard', 'composite', 'standard30', 'composite30']).optional() },
192
211
  }, async ({ watchId, tier }) => {
193
212
  try {
194
213
  const t = tier ?? loadState()[watchId]?.tier ?? 'standard';
@@ -219,6 +238,87 @@ server.registerTool('delete_watch', {
219
238
  const data = await json(res);
220
239
  return res.ok ? ok(data) : fail(`HTTP ${res.status}: ${JSON.stringify(data)}`);
221
240
  });
241
+ const pauseResume = (action) => async ({ watchId, secret }) => {
242
+ const s = secretFor(watchId, secret);
243
+ if (!s)
244
+ return fail(`no secret known for ${watchId}; pass it explicitly`);
245
+ const res = await fetch(`${API}/watch/${watchId}/${action}`, {
246
+ method: 'POST',
247
+ headers: { authorization: `Bearer ${s}` },
248
+ });
249
+ const data = await json(res);
250
+ return res.ok ? ok(data) : fail(`HTTP ${res.status}: ${JSON.stringify(data)}`);
251
+ };
252
+ server.registerTool('pause_watch', {
253
+ title: 'Pause a watch (free)',
254
+ description: 'Stop a watch firing (chain, web, heartbeat, schedule) without deleting it. The expiry ' +
255
+ 'clock keeps running. Use before a planned agent shutdown so your dead-man switch does not ' +
256
+ 'cry wolf.',
257
+ inputSchema: { watchId: z.string(), secret: z.string().optional() },
258
+ }, pauseResume('pause'));
259
+ server.registerTool('resume_watch', {
260
+ title: 'Resume a paused watch (free)',
261
+ description: 'Backlog-free resume: heartbeat deadlines restart from now and schedules jump to their next ' +
262
+ 'FUTURE slot — nothing that elapsed during the pause replays.',
263
+ inputSchema: { watchId: z.string(), secret: z.string().optional() },
264
+ }, pauseResume('resume'));
265
+ server.registerTool('cron_next', {
266
+ title: 'Parse a cron expression (paid via x402, $0.001)',
267
+ description: 'Next N run times for a cron expression in any IANA timezone, plus seconds-until-next. ' +
268
+ 'If the goal is for something to HAPPEN at those times, create_watch with a schedule ' +
269
+ 'condition instead — DataSieve fires the cron as signed webhooks for the life of the watch.',
270
+ inputSchema: {
271
+ cron: z.string().describe('5- or 6-field cron expression, e.g. "0 9 * * 1-5"'),
272
+ tz: z.string().default('UTC'),
273
+ count: z.number().int().min(1).max(20).default(5),
274
+ },
275
+ }, async ({ cron, tz, count }) => {
276
+ try {
277
+ const fetchPay = await payFetch();
278
+ const res = await fetchPay(`${API}/utils/cron-next`, {
279
+ method: 'POST',
280
+ headers: { 'content-type': 'application/json' },
281
+ body: JSON.stringify({ cron, tz, count }),
282
+ });
283
+ const data = await json(res);
284
+ return res.ok ? ok(data) : fail(`HTTP ${res.status}: ${JSON.stringify(data)}`);
285
+ }
286
+ catch (err) {
287
+ return fail(err instanceof Error ? err.message : String(err));
288
+ }
289
+ });
290
+ server.registerTool('x402_ping', {
291
+ title: 'Test the payment stack end-to-end (paid via x402, $0.001)',
292
+ description: 'The cheapest possible real x402 purchase: proves this wallet + client can pay a production ' +
293
+ 'seller before you point it at anything expensive. Returns payer + network; failed calls are ' +
294
+ 'never billed.',
295
+ inputSchema: {},
296
+ }, async () => {
297
+ try {
298
+ const fetchPay = await payFetch();
299
+ const res = await fetchPay(`${API}/utils/x402-ping`);
300
+ const data = await json(res);
301
+ return res.ok ? ok(data) : fail(`HTTP ${res.status}: ${JSON.stringify(data)}`);
302
+ }
303
+ catch (err) {
304
+ return fail(err instanceof Error ? err.message : String(err));
305
+ }
306
+ });
307
+ server.registerTool('verify_receipt', {
308
+ title: 'Verify a signed observation receipt (free)',
309
+ description: 'Every DataSieve event carries receipt {alg, keyId, statement, sig} — an Ed25519 attestation ' +
310
+ 'that DataSieve observed the event. This checks it against the service key, so an agent can ' +
311
+ 'validate evidence handed to it by ANOTHER agent without trusting that agent.',
312
+ inputSchema: { receipt: z.object({}).passthrough().describe('the receipt object from an event') },
313
+ }, async ({ receipt }) => {
314
+ const res = await fetch(`${API}/receipts/verify`, {
315
+ method: 'POST',
316
+ headers: { 'content-type': 'application/json' },
317
+ body: JSON.stringify({ receipt }),
318
+ });
319
+ const data = await json(res);
320
+ return res.ok ? ok(data) : fail(`HTTP ${res.status}: ${JSON.stringify(data)}`);
321
+ });
222
322
  server.registerTool('ping_heartbeat', {
223
323
  title: 'Heartbeat check-in (free)',
224
324
  description: 'Keep a dead-man switch alive. Pass the pingUrl from create_watch (or a watchId whose ping ' +
@@ -250,7 +350,11 @@ server.registerTool('payment_status', {
250
350
  const prices = {
251
351
  standard: '$0.10 / 7 days (1 condition, 50 triggers)',
252
352
  composite: '$0.25 / 7 days (up to 5 conditions or 5 monitored agents, 200 triggers)',
253
- free: ['watch_status', 'drain_events', 'ping_heartbeat', 'delete_watch', 'service_health'],
353
+ standard30: '$0.35 / 30 DAYS on one payment (1 condition, 200 triggers)',
354
+ composite30: '$0.85 / 30 DAYS on one payment (up to 5 conditions, 800 triggers)',
355
+ coordination: '$0.25 / 7 days (1000 ops; barriers + locks free after purchase)',
356
+ utilities: '$0.001 each: cron_next, x402_ping',
357
+ free: ['watch_status', 'drain_events', 'ping_heartbeat', 'pause_watch', 'resume_watch', 'verify_receipt', 'delete_watch', 'service_health'],
254
358
  };
255
359
  if (!key)
256
360
  return ok({ canBuy: false, reason: 'no buying key configured', help: NO_KEY_HELP, prices });
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "datasieve-mcp",
3
- "version": "0.3.1",
4
- "description": "MCP server for DataSieve — buy on-chain watches and dead-man switches for your agent over x402. No account; your wallet key stays on your machine.",
3
+ "version": "0.4.0",
4
+ "description": "MCP server for DataSieve — standing infrastructure for agents over x402: on-chain watches, url-change web monitoring, dead-man switches, cron schedules, coordination, signed receipts. No account; your wallet key stays on your machine.",
5
5
  "license": "MIT",
6
6
  "repository": "github:gitwormq/datasieve",
7
- "homepage": "https://api.datasieve.xyz",
7
+ "homepage": "https://datasieve.xyz",
8
+ "mcpName": "io.github.gitwormq/datasieve",
8
9
  "type": "module",
9
10
  "bin": {
10
11
  "datasieve-mcp": "./dist/main.js"
@@ -12,6 +13,8 @@
12
13
  "main": "./dist/main.js",
13
14
  "files": [
14
15
  "dist",
16
+ "skill",
17
+ "server.json",
15
18
  "README.md"
16
19
  ],
17
20
  "scripts": {
@@ -27,6 +30,12 @@
27
30
  "monitoring",
28
31
  "webhooks",
29
32
  "dead-man-switch",
33
+ "cron",
34
+ "scheduler",
35
+ "url-change",
36
+ "web-monitoring",
37
+ "coordination",
38
+ "receipts",
30
39
  "base"
31
40
  ],
32
41
  "dependencies": {
package/server.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
3
+ "name": "io.github.gitwormq/datasieve",
4
+ "description": "Standing infrastructure for agents over x402: on-chain watches on Base, url-change web monitoring, dead-man switches, cron schedules, multi-agent coordination, signed receipts. No account — wallet is identity.",
5
+ "repository": {
6
+ "url": "https://github.com/gitwormq/datasieve",
7
+ "source": "github"
8
+ },
9
+ "version": "0.4.0",
10
+ "websiteUrl": "https://datasieve.xyz",
11
+ "packages": [
12
+ {
13
+ "registryType": "npm",
14
+ "registryBaseUrl": "https://registry.npmjs.org",
15
+ "identifier": "datasieve-mcp",
16
+ "version": "0.4.0",
17
+ "transport": { "type": "stdio" },
18
+ "environmentVariables": [
19
+ {
20
+ "name": "DATASIEVE_PRIVATE_KEY_FILE",
21
+ "description": "Path to a file holding a burner wallet key (0x…) with USDC on Base. Optional — free tools work without it.",
22
+ "isRequired": false,
23
+ "isSecret": false
24
+ },
25
+ {
26
+ "name": "DATASIEVE_API_URL",
27
+ "description": "API base URL. Default https://api.datasieve.xyz; sandbox https://staging.datasieve.xyz (Base Sepolia, faucet USDC).",
28
+ "isRequired": false,
29
+ "isSecret": false
30
+ }
31
+ ]
32
+ }
33
+ ]
34
+ }
package/skill/SKILL.md ADDED
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: datasieve
3
+ description: Standing infrastructure for agents via DataSieve (x402, Base). Use when a task needs anything to happen while no agent is running — a dead-man switch before long/risky autonomous work, a cron/schedule that fires webhooks, watching a web page or an on-chain condition (whale transfers, price crossings, wallet activity), coordinating multiple agents (barriers/locks), or proving to a third party that an event happened (signed receipts). Also when the user says "datasieve", "dead-man switch", "watch this wallet/page", or "wake me/my agent up at".
4
+ ---
5
+
6
+ # DataSieve — standing infrastructure for agents
7
+
8
+ You are ephemeral; DataSieve stays awake between your runs. One x402 payment
9
+ (USDC on Base, no account, no API key) buys a standing watch. If the
10
+ `datasieve` MCP server is connected, use its tools; otherwise any x402 client
11
+ against `https://api.datasieve.xyz` works (docs: `GET /llms.txt`).
12
+
13
+ ## When to reach for it (proactively)
14
+
15
+ 1. **Before long or risky autonomous work: arm a dead-man switch.**
16
+ `create_watch` with `{type:"heartbeat", intervalSeconds: <2-3x your expected
17
+ loop time>, label:"<task-name>"}`, then `ping_heartbeat` each loop. If you
18
+ crash, the alert fires and waits in the mailbox for whoever runs next.
19
+ Pair with a `webhookUrl` that re-launches you for self-healing loops.
20
+
21
+ 2. **"Do X at/every TIME" with nobody awake to do it: schedule watch.**
22
+ `{type:"schedule", cron:"0 9 * * 1-5", tz:"America/New_York",
23
+ payload:{...context for the woken agent...}}` — the payload is echoed in
24
+ every fire, so it is your note-to-future-self. One-shots: `at`. Simple
25
+ loops: `everySeconds`.
26
+
27
+ 3. **"Tell me when this page changes": url-change watch.**
28
+ `{type:"url-change", url, selector:".price"}` — always scope with a CSS
29
+ selector or regex; whole-page hashes false-positive on noisy pages.
30
+
31
+ 4. **On-chain conditions on Base**: `wallet-activity`, `token-transfers`
32
+ (whale alerts), `price-cross`, `new-pairs`.
33
+
34
+ 5. **Fan-in / mutual exclusion across agents**: `coord_workspace` once, then
35
+ `coord_barrier` (wake me when all N sub-agents finish; hand each its
36
+ arriveUrl) and `coord_lock` (leases auto-expire — a crashed agent cannot
37
+ deadlock the fleet).
38
+
39
+ 6. **Evidence another agent/service can check**: every event carries
40
+ `receipt` — an Ed25519 attestation by DataSieve. Verify with
41
+ `verify_receipt` or client-side against
42
+ `/.well-known/datasieve-receipts.json`.
43
+
44
+ ## Practical rules
45
+
46
+ - Call `payment_status` first (free) — reports wallet, balance, prices.
47
+ - No wallet configured? All read tools still work; to buy, the user must fund
48
+ a burner key (see the npm README). Never ask for a main wallet key.
49
+ - Tiers: standard $0.10/7d (1 condition), composite $0.25/7d (≤5 any-match,
50
+ mix types freely), standard30 $0.35/30d, composite30 $0.85/30d. Prefer *30
51
+ tiers when nobody will be around to renew weekly.
52
+ - Save the returned watch id + secret into task state/memory — the id is the
53
+ persistent memory an ephemeral agent lacks. The MCP server also remembers
54
+ them in `~/.datasieve/watches.json`.
55
+ - Planned shutdown? `pause_watch` (free) so the dead-man switch doesn't cry
56
+ wolf; `resume_watch` restarts clocks backlog-free.
57
+ - No webhook infrastructure? Omit `webhookUrl` and drain the mailbox later
58
+ with `drain_events` — events wait server-side.
59
+ - Failed x402 calls are never billed; settlement failures roll back.