Skip to main content
These webhooks tell you, without polling the API, when a payment route becomes active and ready to receive deposits, and when a deposit too small to on-ramp arrives on one of your routes. Route activation behaves differently for Partner-Managed and Rain-Managed customers, described below. The following events are available:

paymentRoute.created

This webhook is sent when a payment route becomes active, meaning its virtual account is provisioned and ready to receive deposits. The body is the full payment route, matching the shape returned by GET /v1/payment-routes.

Rain-Managed customers

For customers who are already KYC-approved, Rain provisions the payment route synchronously and returns it directly in the create response, so you do not need to wait for this webhook.

Partner-Managed customers

When you create a payment route for a Partner-Managed customer who has not yet completed KYC, Rain creates the route in a pending state and starts the customer’s KYC. A pending route has no deposit address yet. Once the customer’s KYC is approved, Rain provisions the virtual account, transitions the route to active, and sends the paymentRoute.created webhook with the route’s full details, including the deposit address you use to fund it.
A pending route is returned immediately from the create call so you have its id, but wait for the paymentRoute.created webhook before you share deposit details with the customer.
Payload

Address types

The destination address can be one of two shapes. Onchain address: Payment account address:

Deposit address types

The deposit address can be one of two shapes. Fiat deposit address: Onchain deposit address:

microDeposit.received

Rain sends this webhook when a deposit smaller than Rain’s $2.00 minimum arrives on one of your payment routes. Rain records the deposit and tells you about it, but never processes it as a transfer, so no transaction is created and no funds are converted. Most of these deposits exist to verify account ownership. When your customer gives their Rain account details to an external service, such as a bank, a payment app, or a payroll provider, that service sends one or more credits under $1.00 and asks the customer to confirm the amounts. Confirming them proves the account is real and belongs to your customer. Use this webhook to show the amounts to your customer so they can finish verifying. Only routes with a fiat deposit address receive these events, because the deposit lands in the route’s bank account.
Do not treat a micro deposit as a balance change. A service that sends a verification deposit usually withdraws it again. Any other deposit under $2.00 stays in the account but Rain still never processes it, so neither kind affects a balance you can spend.
Payload
amount is a decimal string, not minor units. A "0.23" value means 23 cents.