{"uid":"cap_vz3IYXk3epEZzay0z_sw4","slug":"crypto-address-activity-watcher-a069750b","name":"Crypto Address Activity Watcher","description":"The (most) everything API: 575+ pay-per-call endpoints for AI agents — ground-truth data, a full AI gateway, and agent infrastructure (storage, queues, watchers). USDC via x402, no signup, no API keys, and upto billing: pay actual usage, not the quote.","url":"https://2s.io/api/watchers/crypto-address-activity","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"chain":{"enum":["base","ethereum","bitcoin"],"type":"string","description":"Which chain to watch: base, ethereum, or bitcoin."},"label":{"type":"string","maxLength":64,"description":"Optional free-text tag to recognize this watcher later. e.g. \"exchange-cold-wallet\"."},"address":{"type":"string","maxLength":100,"minLength":20,"description":"The address to watch — an EVM address (0x… 40 hex) for base/ethereum, or a Bitcoin address (bc1…/1…/3…)."},"payload":{"type":"object","description":"Arbitrary JSON, echoed back verbatim in every callback so you can route/identify the event on your side. e.g. {\"agentId\":\"a1\",\"reason\":\"treasury-monitor\"}","additionalProperties":{}},"maxFires":{"type":"integer","maximum":1000,"minimum":1,"description":"Stop after this many callbacks. Default 25, max 1000. The watch ends at whichever comes first — maxFires or expiry."},"direction":{"enum":["in","out","both"],"type":"string","description":"Which flows to fire on: \"in\" = address received, \"out\" = address sent, \"both\" = either. Default: both."},"assetTypes":{"type":"array","items":{"enum":["native","erc20","erc721"],"type":"string"},"description":"Limit to asset kinds: any of \"native\" (ETH/BTC), \"erc20\" (tokens), \"erc721\" (NFTs). Omit to watch all. EVM only — Bitcoin is always native. e.g. [\"erc20\"] for token transfers only."},"callbackUrl":{"type":"string","maxLength":2048,"description":"Where we POST the event. Any http(s) URL; the JSON body is signed (verify with X-2s-Signature). e.g. https://your-agent.app/hooks/wallet"},"minValueUsd":{"type":"number","maximum":1000000000000,"minimum":0,"description":"Only fire when the transfer is worth at least this many USD — filters out dust/spam. e.g. 100 ignores anything under $100. Omit to fire on any non-zero amount.","exclusiveMinimum":true},"expiresInSeconds":{"type":"integer","maximum":7776000,"minimum":60,"description":"How long the watch stays active, in seconds. Default 2592000 (30 days), max 7776000 (90 days). e.g. 86400 = 1 day."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.125","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.125/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.125","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.125","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Eo_59PwwTVGL43kgRvpef","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.125","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Registers a webhook watcher that fires a signed callback whenever a specified crypto address sends or receives funds on Base, Ethereum, or Bitcoin.","exampleAgentPrompt":"Watch the Ethereum address 0xAbC123...def456 for any incoming ERC-20 token transfers worth at least $50, POST events to https://my-agent.app/hooks/wallet, stop after 50 callbacks, and tag it 'treasury-monitor' so I can identify it later.","exampleUseCases":null,"resultDescription":"Returns a JSON object with ok:true and an array containing the newly created watcher record, including a unique watcherId, current status, the chain and address being watched, direction, assetTypes, minValueUsd, maxFires, firesRemaining, expiry timestamp, a statusUrl to check/cancel the watcher, and the callbackSigner public key used to verify webhook payloads.","failureModes":["Invalid or malformed address for the specified chain (EVM vs Bitcoin format mismatch)","callbackUrl not reachable or malformed","expiresInSeconds out of range (< 60 or > 7776000)","maxFires out of range (< 1 or > 1000)","Payment not included or insufficient USDC via x402","Unsupported assetType for Bitcoin (only native supported)","minValueUsd set to 0 or negative (must be > 0)"],"whenToPreferThis":"Use this endpoint when an AI agent or application needs real-time, event-driven notification of on-chain activity for a specific address — rather than polling a block explorer. Ideal for treasury monitoring, agent payment detection, NFT transfer tracking, or any workflow that must react to blockchain events without manual checking. Prefer over polling-based alternatives when latency matters or when you want to cap callbacks via maxFires.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T19:01:17.489Z","isFirstParty":false}