Rewards webhooks:Rewards webhooks cover both the Rain-Managed burn authorization flow and
Partner-Managed balance, completion, and refund events.
raindrop_balance.requested
Rain sends this webhook to PARTNER_ONCHAIN tenants when it needs a user’s
current Raindrops balance. Your endpoint must return the user’s
availableBalance within 1500ms. PARTNER_OFFCHAIN tenants do not receive
this webhook because Rain manages their balance ledger.
Rain signs the raw JSON request body with your webhook signing key and sends
the hex HMAC-SHA256 digest in the Signature header. Verify this signature
before you return a balance.
Request
Response
Return a JSON response with the user’s available balance as a string.Response
If you return a non-2xx status, malformed JSON, or no response within 1500ms,
Rain treats the balance as unavailable and the calling travel-balance or
travel-redemption request receives
503 Service Unavailable.
raindrop_redemption.created
Rain sends this webhook for Rain-Managed redemptions so your application can
prompt the user to authorize the on-chain burn. Rain sends it when the travel
portal reserves a booking and when a custom redemption is reserved. The
amount is in the tenant token’s native units, and amountUnit names the
unit. Partner-Managed redemptions skip this step and do not receive created.
Payload
raindrop_redemption.completed
Rain sends this webhook to Partner-Managed tenants when a travel redemption
is marked completed. For PARTNER_ONCHAIN, use this event to burn the user’s
points in your system. For PARTNER_OFFCHAIN, Rain has already debited the
off-chain balance and the event is informational.
Payload
raindrop_redemption.refunded
Rain sends this webhook to PARTNER_ONCHAIN programs when a travel portal
redemption is refunded. Update the user’s balance in your own system.
PARTNER_OFFCHAIN and Rain-Managed programs don’t receive it, because Rain
handles the refund balance update for them.
Payload
What’s next
How webhooks work
Browse every other event category from the hub.