Skip to main content
Use custom redemptions to record or process a partner-initiated redemption that you procure and fulfill yourself. You supply the cardholder, the point amount, and a reason, and Rain handles the redemption recording according to your program’s points mode. Custom redemptions are available for Rain-Managed and Partner-Managed Offchain programs. Partner-Managed Onchain programs should not use this endpoint, but may orchestrate token burns for custom redemptions directly with their users. How a custom redemption settles depends on your points mode: Rain-Managed: The points live onchain, so Rain reserves them as a pending 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 an idempotency-key header so that retries replay the same response.

Response

A successful request returns 201. 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.

Errors

Billing Impact

Custom redemptions do not create a charge at redemption time. Partner-Managed Offchain redemptions carry no charge from Rain and are excluded from charge reconciliation. You own any funding or accounting for the reward you fulfill.