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:
- 1In the Wise Developer Hub, go to Webhooks → Subscriptions → Create Subscription (application level, which Wise recommends). Or use the API: POST /{version}/applications/{clientKey}/subscriptions, or /v3/profiles/{profileId}/subscriptions for a profile-level subscription
- 2Set the delivery URL to your Hookbase ingest URL and pick your event types
- 3Wise signs every webhook with its RSA private key (X-Signature-SHA256 header). Hookbase verifies it against Wise's published public key, so there is no secret to copy
- 4Testing against Wise's sandbox? Edit the source and set its provider to "Wise (sandbox)": sandbox webhooks are signed with a different key
Signature verification
Set the source's provider to wise and paste the signing secret. Every request is checked before the event is stored, and anything that fails is rejected rather than quietly recorded.
- Algorithm
- RSA-SHA256 (public key)
- Header
- X-Signature-SHA256
- Where to find the secret
- Nothing to copy. Hookbase already has Wise's published production public key (docs.wise.com → Webhooks → Event handling). For sandbox subscriptions, set the source's provider to "Wise (sandbox)".
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