Spectrum Webhooks: Monitor Wallets and Contract Events

Updated October 22, 2026 · Spectrum Nodes
Short answer: Spectrum Webhooks push onchain activity to an HTTPS endpoint you own, so you stop polling nodes. Give Spectrum Nodes the addresses or contracts to watch and a URL. Each match arrives as a signed (HMAC SHA256), decoded POST with token metadata resolved, delivered at least once, with a follow up if a reorg removes the block.
Why Stop Polling Your Node?
Polling breaks quietly: the loop fails when the node falls behind, a deploy restarts it mid block, or a reorg invalidates a balance you showed a user.
A webhook is an HTTP request a service sends to your server when an event happens. We POST each match to your endpoint, decoded and signed, seconds after the block is mined.
What Events Do Spectrum Webhooks Deliver?
Address activity webhooks (ADDRESS_ACTIVITY) cover five categories:
| Category | What arrives |
|---|---|
external | Native asset transfers at the top level of a transaction |
internal | Value bearing internal calls, from block traces (needs the chain's debug namespace) |
token | ERC20 transfers, with symbol, name and decimals |
erc721 | NFT transfers, including tokenId |
erc1155 | Single and batch transfers, batches fanned out per token |
Metadata arrives resolved, so no second RPC call:
{ "category": "token", "fromAddress": "0x...", "toAddress": "0x...", "value": "1000000", "asset": "USDC", "rawContract": { "decimals": 6 } }
Values stay raw integer strings, so nothing is lost to rounding. Apply the decimals for display.
How Do You Monitor Contract Events Without Polling?
Use Custom Contract Webhooks. Point one at a contract, name the events and get named arguments back, filtered on indexed values before anything is sent. Live on Ethereum, Polygon, Arbitrum, HyperEVM and Robinhood Chain, for liquidations, vault withdrawals or whatever your contracts emit.
What Do You No Longer Have to Build?
- Verification. Every delivery is signed with HMAC SHA256 in the
X-Spectrum-Signatureheader. Key rotation sends both signatures for a grace window (24 hours by default), so keys roll without downtime. - Durability. Deliveries queue in Postgres before sending. Retries honour
Retry-After, and failed deliveries land in a dead letter queue you can replay. - At least once delivery. Dedupe on
X-Spectrum-Event-Idand repeats become no ops. - Reorg handling. A reorg is when the chain replaces a block it already accepted. If a delivered block is orphaned, you get a follow up POST with
removed: true. Live detection covers reorgs up to 64 blocks deep; startup recovery catches deeper ones. - Batching. One block's events arrive together. Busy blocks split into batches of up to 100 events, correlated by block hash.
- Tools. Test deliveries, usage analytics (delivery counts, success rate, p95 latency), pause and resume. HTTPS is enforced, and outbound URLs are checked twice against SSRF (server side request forgery).
Which Chains Do Spectrum Webhooks Support?
Address activity webhooks run on Ethereum, Polygon, BSC, Arbitrum, Optimism, Gnosis and Hyperliquid's HyperEVM, plus Base and Robinhood Chain since October 2026. Each chain runs multiple WebSocket endpoints with automatic failover. Regions run independently, so for redundancy register the same webhook in more than one region.

How Do You Set Up a Spectrum Webhook?
- Create a webhook in the Webhooks section of the Spectrum dashboard.
- Add the addresses to watch, an HTTPS URL you own and optional filters.
- Verify the signature and dedupe on the event ID.
- Fire a test delivery to debug your handler.
Slack and Telegram delivery send a readable summary, not signed JSON, and need a bot set up. For a ready made watcher, see Wallet Tracker in Spectrum Marketplace. Read the docs or the webhooks page.
FAQ
What can I use instead of an RPC for monitoring contract events?
Spectrum's Custom Contract Webhooks POST the events you name to your endpoint with named arguments, so you skip the eth_getLogs polling loop. Live on Ethereum, Polygon, Arbitrum, HyperEVM and Robinhood Chain.
Are Spectrum Webhooks delivered exactly once?
No, at least once. Dedupe on X-Spectrum-Event-Id and repeats become no ops.
What happens to a webhook during a reorg?
Spectrum sends a follow up POST with removed: true, so you can reverse the change. Live detection covers reorgs up to 64 blocks deep.
Do I need to run a node to use Spectrum Webhooks? No. Spectrum Nodes runs the nodes. You provide what to watch and an HTTPS URL.
