Signed webhooks for EVM address activity. Point us at an address, tell us which
chains to watch, and get a cryptographically-signed POST whenever that
address sends a transaction, moves native value, or is involved in an ERC-20 or
ERC-721 transfer — so you can trust an event without having to replay it.
signingSecret so you can prove events came from us.webhook-id and verify the
HMAC signature, then trigger your own workflow.| Capability | Detail |
|---|---|
| Verified deliveries | HMAC-SHA256 signature over the exact event body
(webhook-signature: v1,<hex>, ±5 min replay tolerance) |
| Activity | Top-level txs (incl. zero-value and reverted), incoming native value,
ERC-20 and ERC-721 Transfers |
| Chains | All chains* |
| Idempotent | Deterministic webhook-id; dedupe safely (at-least-once) |
| Delivery ledger | 30-day history per webhook: every attempt, status, and outcome |
* Supported chains depend on evm.stupidtech.net — a chain is supported when it resolves there.
A signed delivery looks like this (hashes abbreviated). The token contract
is on each effect as assetAddress:
{
"id": "evt_2f3d…",
"type": "activity.observed",
"createdAt": "2026-08-30T14:16:35.000Z",
"data": {
"chainId": 8453,
"trackedAddress": "0xa0bfe1a0fc5b83d16e8599fd…e405",
"initiatedByTrackedAddress": true,
"blockNumber": "50655024",
"transaction": {
"hash": "0x198a0a…698",
"index": 139,
"from": "0xa0bfe1a0fc5b83d16e8599fd…e405",
"to": "0xb13c82346dee41783e008b87f526d962aa3602d9",
"status": "success",
"value": "0"
},
"effects": [
{
"kind": "erc20",
"direction": "outgoing",
"logIndex": 277,
"from": "0xa0bfe1a0fc5b83d16e8599fd…e405",
"to": "0x377a…3d73",
"assetAddress": "0xb13c82346dee41783e008b87f526d962aa3602d9",
"amount": "3598000000000000000000"
}
]
}
}
Each token effect carries the token contract as assetAddress
(erc20 adds amount; erc721 adds tokenId).
A pure native transfer has effects: [] and value on the
transaction.
Transfers where the address is the sender or recipient.activity.reverted event.POST /v1/webhooks { "url": "https://you.example/hook" } → signing secret, once
POST /v1/subscriptions { "address": "0x1f9…", "chainIds":[8453,10,42161], "webhookId":"wh_…" }
GET /v1/webhook-deliveries
Agent-ready skills for this product live in the repo:
Full reference: API reference.
Access is provisioned per account (an operator issues your API key). For access or support, contact hi@stupidtech.net.