Real Time Funding is in beta and available in both sandbox and production.
Supported Chains
Real Time Funding supports the chains listed below. Additional chain support is actively being developed.Sandbox
Production
Supported Assets
The supported asset depends on the chain. The user’s wallet must hold — and approve the Rain operator to spend — the asset listed for the chain you are using. Additional assets will be added as the feature exits beta.Sandbox
Production
Prerequisites
Before Real Time Funding can run for a card, the following must be true:- Your tenant is enabled for Real Time Funding. Contact Rain to request enablement.
- The user has a wallet address on the supported chain(s) associated with their Rain account.
- The user’s wallet holds the supported asset for that chain and environment.
- The user’s wallet has approved the Rain operator to spend that asset on their behalf.
Funding the User Wallet
The user’s associated wallet must hold the supported asset for the chain you are using. Send that asset to the wallet using the token address from the Supported Assets tables above. The wallet also needs the chain’s native token to pay gas — ETH on Arbitrum and Base, XPL on Plasma.Getting Testnet Funds (Sandbox)
In sandbox, get Arbitrum Sepolia or Base Sepolia USDC from the Circle faucet.1
Open the faucet
Go to https://faucet.circle.com/.
2
Select the network
Choose Arbitrum Sepolia or Base Sepolia as the network and USDC as the token.
3
Enter the wallet address
Paste the wallet address associated with the Rain user.
4
Request tokens
Submit the request and wait for the transaction to confirm. The USDC will appear in the wallet balance.
Approving the Rain Operator
The user wallet must approve the Rain operator address to transfer the chain’s supported asset on its behalf. We recommend approving the maximumuint256 value (115792089237316195423570985008687907853269984665640564039457584007913129639935) so the user does not need to re-approve before each authorization.
Operator Addresses
The operator address is the same across all chains within an environment.Approve via Block Explorer
Use this flow if the user is approving manually from a wallet they control directly (for example, MetaMask).1
Open the token contract on the block explorer
Navigate to the token contract on the block explorer for the chain you are using:
- Sandbox / Arbitrum Sepolia (USDC):
https://sepolia.arbiscan.io/address/0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d - Sandbox / Base Sepolia (USDC):
https://sepolia.basescan.org/address/0x036CbD53842c5426634e7929541eC2318f3dCF7e - Sandbox / Plasma Testnet (USDT0):
https://testnet.plasmascan.to/token/0x246A94A471348881071BB475bf318B7119aB7E2D - Production / Arbitrum Mainnet (USDC):
https://arbiscan.io/address/0xaf88d065e77c8cC2239327C5EDb3A432268e5831 - Production / Base Mainnet (USDC):
https://basescan.org/address/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 - Production / Plasma Mainnet (USDT0):
https://plasmascan.to/token/0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb
2
Connect the user's wallet
Open the Contract tab, select Write Contract, and click Connect to Web3. Connect the wallet that is associated with the Rain user.
3
Call approve
Locate the
approve function and enter:spender— the Rain operator address for your environment (see above).value— the amount to approve, in the token’s native units. We recommenduint256max:115792089237316195423570985008687907853269984665640564039457584007913129639935.
4
Submit and confirm
Click Write, confirm the transaction in the connected wallet, and wait for it to be mined.
Approve Programmatically
Use this flow to script the approval as part of an automated onboarding step. SwapTOKEN_ADDRESS and the RPC URL for the chain you are targeting — the approval call is the same for USDC and USDT0.
approveOperator.ts
USER_WALLET_PRIVATE_KEY is the wallet associated with the user’s Rain account, and that it holds enough of the chain’s native token to pay gas before you run the script.
What Happens at Authorization
Once the user’s wallet is funded and the operator is approved, no further action is required. When an authorization comes in for one of the user’s cards:- Rain pulls the full authorization amount in the chain’s supported asset from the user’s associated wallet using the operator’s
transferFromallowance. The pull happens regardless of any spending power the user already has. - The pulled funds land in the user’s Rain collateral contract.
- The authorization proceeds against the topped-up collateral.
What’s Next
Supported Chains and Tokens
See the full list of chains and tokens supported across the Rain platform.
Transaction Lifecycle
Learn how authorizations and settlements flow through the system.
Managing Collateral
Understand how collateral funds card authorizations and settlements.