Skip to main content

Prerequisites

  • A WalletSuite API key, passed as the x-api-key header on every management request (same scheme as the rest of the API).
  • A publicly reachable HTTPS URL for delivery. Private, internal, and link-local addresses are rejected with WEBHOOK_URL_NOT_ALLOWED.

Steps

1

Provision your signing secret

Every delivery is signed with a per-account secret using the Standard Webhooks scheme. Provision it once:
Provision signing secret
The response returns the secret inside the standard {ok, code, message, data} envelope:
Response
The secret is shown once and never returned again. Copy it now and store it in your secrets manager. If you lose it, you must rotate it - there is no read-back endpoint.
Calling this endpoint again when a secret already exists returns 409 SIGNING_SECRET_EXISTS. To replace a lost or compromised secret, use POST /api/notifications/signing-secret/rotate instead.
2

Stand up a verifying receiver

Your endpoint receives a POST, verifies the signature, and acknowledges with a 2xx. With the official standardwebhooks library that is a few lines of code: pass it the raw request body and the Webhook-* headers, and it returns the verified, parsed event.
Install
server.js
Run
Want the full verification contract - constant-time comparison, replay defense, and a from-scratch reference implementation - see Verify Signatures.
3

Create the subscription

This quickstart subscribes to incoming transfers (transfer.received) as a worked example - the event catalog lists every event type and its payload. Use an address you control so you can trigger one in the next step. Set chain, the address, both asset-scope filters in eventKinds, and your public webhookUrl:
Create subscription
The API responds 202 Accepted with the subscription. It registers and flips from pending to active within moments:
Response
Confirm it is active:
Check status
If the subscription does not go active, see Troubleshooting.
4

Trigger and observe

Trigger a real event by sending a small transfer to the watched address on the same chain. On the first confirmation of an incoming transfer, WalletSuite delivers a transfer.received event to your endpoint.The delivered request looks like this:
Delivered request

Next steps

Verify Signatures

The full Standard Webhooks verification contract - raw-body handling, replay protection, and from-scratch code.

Delivery & Retries

The 18-second ack budget, the retry schedule, at-least-once semantics, and failure handling.

Events & Payloads

Field-by-field payload reference, transfer.received, Tron address encoding, and payload versioning.

Best Practices

Idempotency, async processing, secret rotation, and production hardening for your receiver.