Overview
Superbank sends webhook notifications to your registered endpoints when events occur on your account. This guide covers how to set up, test, and debug your webhook integration.Supported Events
| Event | Description |
|---|---|
liquidity_pool.created | A new liquidity pool was provisioned |
liquidity_pool.updated | Pool balance or status changed |
liquidity_pool.deleted | A liquidity pool was deactivated |
payment.created | A new payment was created |
payment.updated | A payment status changed |
settlement_request.created | A new settlement request was created |
settlement_request.updated | A settlement request status changed |
Webhook Payload Format
All webhook deliveries use a consistent JSON envelope with snake_case field names. Thedata object varies by event type.
Headers
Each delivery includes these headers:| Header | Description |
|---|---|
Content-Type | application/json |
X-Superbank-Signature | HMAC-SHA256 signature: sha256=<hex> |
X-Superbank-Event | Event type (e.g., payment.updated) |
Event Payloads
Payment Events
payment.created
payment.updated
Liquidity Pool Events
liquidity_pool.created
liquidity_pool.updated
liquidity_pool.deleted
Settlement Request Events
settlement_request.created
settlement_request.updated
Signature Verification
Every webhook delivery is signed using your endpoint’s secret. Verify theX-Superbank-Signature header to ensure the request is authentic.
The signature is computed as sha256=HMAC-SHA256(secret, request_body).
Node.js
Python
Quick Testing with webhook.site
webhook.site gives you an instant public URL to receive and inspect webhook deliveries — no signup required.Step 1: Get a test URL
- Go to webhook.site
- A unique URL is generated automatically (e.g.,
https://webhook.site/abc-123-def) - Copy the URL
Step 2: Register the URL as a webhook endpoint
cURL
secret from the response — you’ll need it for signature verification.
Step 3: Trigger a test event
Perform an action on the sandbox API that generates a webhook event. For example, create a settlement request:cURL
Step 4: Inspect the delivery
Go back to webhook.site to see:- The full JSON payload with snake_case fields
- HTTP headers including
X-Superbank-SignatureandX-Superbank-Event - Request timing and metadata
Local Development with ngrok
To receive webhooks on your local machine during development, use ngrok to create a public tunnel to your localhost.Step 1: Start your local webhook handler
Step 2: Start ngrok
https://abc123.ngrok-free.app) that forwards to localhost:3000.
Step 3: Register the ngrok URL
cURL
Retry Behavior
If your endpoint returns a non-2xx response or times out (30 seconds), Superbank will retry delivery with exponential backoff:| Attempt | Delay | Cumulative |
|---|---|---|
| 1 | Immediate | — |
| 2 | 1 minute | 1 minute |
| 3 | 5 minutes | 6 minutes |
| 4 | 15 minutes | 21 minutes |
| 5 | 1 hour | ~1.3 hours |
| 6 | 1 day | ~1.3 days |
| 7 | 2 days | ~3.3 days |
| 8 | 4 days | ~7.3 days |
| 9 | 1 week | ~14.3 days |
| 10 | 2 weeks | ~28.3 days |
200 OK quickly — perform heavy processing asynchronously.