Project context requiredEvery Blockchain Events endpoint requires a token bound to a project and business. A token
without that context returns
401: Token is missing project or business context.Capabilities
Each operation is gated on a capability granted by your plan. A missing capability returns403: Missing required capability: <capability>.
Supported networks
ATC · BSC · ETH · BASE · POL · SOL · LISK
Receiving events
When a subscribed event is decoded, the service sends an HTTPPOST to your
subscription’s webhookUrl with a JSON body and an X-Indexer-Signature header.
Acknowledge with any 2xx response; a non-2xx response or a timeout is recorded as a
failed delivery and may be retried automatically. No fixed attempt count or
backoff schedule is published for these retries, so don’t rely on a specific number
of attempts: inspect every delivery attempt and manually replay any failures via the
delivery logs (gated on indexer.history.read and indexer.webhook.replay). See
Webhook signatures for how this
compares to Wallet’s documented retry schedule.
Verifying webhook signatures
Each delivered webhook carries anX-Indexer-Signature header computed with the
subscription’s signing secret. The secret is returned only once, when you
create a subscription or
rotate the secret. Store it securely.
To verify a delivery, recompute the HMAC over the raw request body and compare it
to the header value in constant time. Reject any request whose signature does not
match before trusting the payload.
Signatures are HMAC-SHA256 over the raw request body, hex-encoded: exactly what
the snippet above computes.
