Fintech
Wise Webhooks
International money transfer platform. Receive events for transfers, balances, and profile changes.
Connecting Wise to Hookbase
Create a source in Hookbase first — it gives you an ingest URL to paste into Wise. Then:
- 1Create a webhook subscription via the Wise API: POST /v3/profiles/{profileId}/subscriptions
- 2Set the delivery URL to your Hookbase ingest URL
- 3Wise signs all webhooks with their RSA private key
- 4Verify signatures using Wise's public key (available in their docs)
Signature verification
Wise signs its webhooks with RSA-SHA256 (public key) in X-Signature-SHA256, and Hookbase has no verifier for that combination today. We would rather say so here than let a source report every event as verified while nothing was checked.
What you can do:
- Receive them on a
customsource with no signing secret. Hookbase still dedupes, retries, transforms, routes and replays them; it just does not vouch for the sender. - Set a signing secret anyway if Wise can be configured to send a hex HMAC-SHA256 of the raw body in
X-Signature,X-Webhook-SignatureorX-Hub-Signature-256— that is the one scheme the custom verifier implements. - Verify downstream: the original headers travel with the event, so your own service or a transform can check the signature itself. The key is at Verify using Wise's public key available at their API docs. No shared secret needed..
- Narrow the blast radius with an IP allowlist and a hard-to-guess source slug.
Wise event types
5 of the events people route most often. Hookbase accepts every event Wise sends, whether or not it is listed here.
transfers#state-change
A transfer status changed
transfers#active-cases
A transfer has active cases requiring action
balances#credit
A balance was credited
balances#debit
A balance was debited
profiles#verification-state-change
A profile verification state changed
What a Wise webhook looks like
A transfers#state-change payload. Hookbase stores the raw body exactly as it arrived, so this is also what you get back on a replay.
{
"data": {
"resource": {
"id": 12345678,
"profile_id": 87654321,
"account_id": 11111111,
"type": "transfer"
},
"current_state": "outgoing_payment_sent",
"previous_state": "processing",
"occurred_at": "2024-01-15T10:30:00Z"
},
"subscription_id": "sub-abc123",
"event_type": "transfers#state-change",
"schema_version": "2.0.0",
"sent_at": "2024-01-15T10:30:01Z"
}Start receiving Wise webhooks
Create a source, paste the URL into Wise, and watch the first event arrive. The free tier includes 1,000 events a month.
Get Started Free