CUSTOM redemption and fires the raindrop_redemption.created webhook so you can prompt the cardholder to authorize the burn. The redemption then settles onchain through the same withdrawal-signature and burn-event flow as travel redemptions, moving from PENDING to PROCESSING when the burn signature is issued and to COMPLETED once the onchain burn confirms. You fulfill the reward in your own system.
Partner-Managed Offchain: Rain checks the cardholder’s offchain points balance, debits the points, and records a completed CUSTOM redemption. There is no onchain burn and no webhook. You own fulfillment, funding, and any reversal logic outside Rain’s rewards redemption flow.
How It Works
Partner-Managed Offchain
1
Cardholder requests a reward
The cardholder requests a custom reward in your app.
2
Call the endpoint
Call
POST /issuing/raindrops/custom-redemption with the user, the point amount, and a reason.3
Rain records the redemption
Rain checks the cardholder’s offchain points balance, debits the points, and records a completed
CUSTOM redemption.4
You fulfill the reward
Fulfill the reward in your own system.
Rain-Managed
1
Cardholder requests a reward
The cardholder requests a custom reward in your app.
2
Call the endpoint
Call
POST /issuing/raindrops/custom-redemption with the user, the point amount, and a reason.3
Rain reserves the points
Rain checks the cardholder’s available balance, reserves a
PENDING CUSTOM redemption, and fires the raindrop_redemption.created webhook.4
Cardholder authorizes the burn
Prompt the cardholder to authorize the burn. The redemption moves to
PROCESSING when the burn signature is issued and to COMPLETED once the onchain burn confirms.5
You fulfill the reward
Fulfill the reward in your own system.
Rain-Managed
1
Cardholder requests a reward
The cardholder requests a custom reward in your app.
2
Call the endpoint
Call
POST /issuing/raindrops/custom-redemption with the user, the point amount, and a reason.3
Rain reserves the points
Rain checks the cardholder’s available balance, reserves a
PENDING CUSTOM redemption, and fires the raindrop_redemption.created webhook.4
Cardholder signs the burn
Prompt the cardholder to sign the burn transaction, similarly to how travel portal redemptions are actioned. The redemption moves to
PROCESSING when the burn signature is issued and to COMPLETED once the onchain burn confirms.5
You fulfill the reward
Fulfill the reward in your own system.
Partner-Managed Offchain
1
Cardholder requests a reward
The cardholder requests a custom reward in your app.
2
Call the endpoint
Call
POST /issuing/raindrops/custom-redemption with the user, the point amount, and a reason.3
Rain records the redemption
Rain checks the cardholder’s offchain points balance, debits the points, and records a completed
CUSTOM redemption.4
You fulfill the reward
Fulfill the reward in your own system.
Request
Send the user, the point amount as a positive integer string, and a reason. Include anidempotency-key header so that retries replay the same response.
Response
A successful request returns201. The status reflects how the redemption settles for your points mode: Partner-Managed Offchain redemptions are recorded as COMPLETED, while Rain-Managed redemptions return PENDING and settle onchain.
Reusing the same
idempotency-key and body replays the cached 201 response, so a retried request never double-debits the balance. The key is limited to 64 characters.