1. Poll from your loop
The first call saves a baseline and returns a cursor. Send it back next time and you get only the changes. The cursor advances only when a change is reported, so slow drifts add up and nothing slips through.
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
// … register your wallet with registerExactEvmScheme(client, { signer })
let cursor;
setInterval(async () => {
const r = await payFetch("https://agentsvc.io/api/v1/proxy/token-watch", {
method: "POST", headers: { "Content-Type": "application/json" },
body: JSON.stringify({ token: "0x532f…42E4", chain: "base", cursor }),
});
const { data } = await r.json();
cursor = data.cursor;
if (data.changed) console.log(data.alert_level, data.summary);
}, 15 * 60_000);2. Or let us poll and call your webhook
Top up credit once, create a watch with an interval and a webhook URL. We run the check on our side and POST a signed message only when something changed. Each check costs the normal price, charged from the credit.
# 1. credit token (x402, +10% bonus): POST /api/v1/proxy/credits-topup-1
# 2. create the watch
curl -X POST https://agentsvc.io/api/v1/watches \
-H "Authorization: Bearer asvc_cr_…" -H "Content-Type: application/json" \
-d '{"service":"page-watch","input":{"url":"https://example.com/pricing"},
"interval_minutes":60,"webhook_url":"https://your-agent.example/hook"}'Also available as MCP tools watch_create, watch_list and watch_delete at https://agentsvc.io/mcp (send the credit token as Authorization header). Details in the docs.
Recipes
Alert when a token gets riskier
Grade downgrade, honeypot appearing, new mint or blacklist powers, liquidity pulled. Checked on-chain with a real sell simulation.
token-watch · $0.008 per check · every 15 min ≈ $0.768 per day
POST https://agentsvc.io/api/v1/proxy/token-watch
{
"token": "0x532f27101965dd16442E59d40670FaF5eBB142E4",
"chain": "base",
"price_move_pct": 20
}
// next calls: add "cursor" from the previous responsealert_level is none, medium or high; changes lists what moved.
Watch a competitor's pricing page
Get the added and removed lines when the page text changes, and an alert when a keyword such as "enterprise" or "free" newly appears.
page-watch · $0.003 per check · every 60 min ≈ $0.072 per day
POST https://agentsvc.io/api/v1/proxy/page-watch
{
"url": "https://example.com/pricing",
"keywords": [
"free",
"enterprise"
],
"ignore": [
"Last updated"
]
}
// next calls: add "cursor" from the previous responsediff.added and diff.removed hold the changed lines; keyword_alert is true when a keyword showed up in new text.
New releases of a GitHub project
Every GitHub repository has an Atom feed of its releases. Only new items come back, never the same one twice.
feed-watch · $0.003 per check · every 60 min ≈ $0.072 per day
POST https://agentsvc.io/api/v1/proxy/feed-watch
{
"url": "https://github.com/nodejs/node/releases.atom"
}
// next calls: add "cursor" from the previous responsenew_items holds title, link and date of each new release.
Track a treasury or whale wallet
Balance deltas for the native coin, USDC and up to 10 tokens, plus the number of outgoing transactions since the last check.
wallet-watch · $0.003 per check · every 10 min ≈ $0.432 per day
POST https://agentsvc.io/api/v1/proxy/wallet-watch
{
"address": "0x622efA6Ceb83a5b6EdBC931332f4db68B7f74F27",
"chain": "base",
"min_change_pct": 5
}
// next calls: add "cursor" from the previous responsechanges is a list like ["USDC +250", "2 outgoing transaction(s)"].
Breaking news on a topic
Point it at any RSS or Atom feed: a news site section, a blog, a YouTube channel feed or a Hacker News search.
feed-watch · $0.003 per check · every 15 min ≈ $0.288 per day
POST https://agentsvc.io/api/v1/proxy/feed-watch
{
"url": "https://hnrss.org/newest?q=ethereum",
"limit": 10
}
// next calls: add "cursor" from the previous responsenew_count and new_items; latest_item is always included.