Global webhooks are available in version 0.8.4 and later. Signed deliveries require version 0.13.0 and later.

Event-driven flow: Blnk pushes ledger events to your app so you can sync payments, notifications, and other tools without polling
Webhook types
Blnk offers two types of webhooks:- Global webhooks: A single endpoint for ledger-wide event notifications: resource lifecycle changes, reconciliation outcomes, and system errors.
- Transaction hooks: Registered endpoints tied to transactions for workflows that run before or after a transaction is applied.
Webhook security
Available in version 0.13.0 and later.
Blnk also sends any custom headers you configure in webhook configuration. Set
BLNK_WEBHOOK_HEADERS to a JSON-encoded object in environment variables, or set notification.webhook.headers to a JSON object in blnk.json. Use these headers for bearer tokens, API keys, or other values your endpoint expects on every delivery.
1
Extract headers and raw body
Read
X-Blnk-Signature and X-Blnk-Timestamp from the request. Reject requests missing either header.2
Build signed payload
Concatenate the timestamp and raw body:
3
Compute expected signature
Compute
HMAC-SHA256 using server.secret_key from your Blnk configuration, then hex-encode:4
Compare signatures
Compare
expected to X-Blnk-Signature using a constant-time comparison (e.g. crypto.timingSafeEqual in Node.js). If they match, the webhook is authentic.