Deposit flow
When you send a supported token to a deposit address:- The system detects the on-chain transfer and creates a deposit in
PENDINGstatus. - Once the transaction is finalized on-chain, the deposit moves to
CONFIRMED. - The deposit is validated.
- If validation passes, the deposit is
APPROVEDand the account balance is updated. If validation fails, the deposit isREJECTED.
Minimum deposit amount
Deposits below USD 0.50 are rejected with aREJECTED status. This threshold exists to prevent dust deposits. We recommend filtering out rejected deposits before displaying deposit history to your users, as low-value rejections add noise to the UI.
Checking deposit status
Look up a deposit directly using the deposit endpoint. Once a deposit is approved, the balance endpoint will reflect the updated balance.Testing in sandbox
Deposit testing requires real on-chain transactions. There is no simulation shortcut for the deposit flow. You send actual tokens on testnet, and the system processes them end to end. To get sandbox tokens funded to your test wallet, reach out to your Reap contact. See Supported Assets for the token contract addresses on Ethereum Sepolia and Solana Devnet.Scenario 1: Successful deposit
- Create an account and retrieve its deposit address for Ethereum Sepolia or Solana Devnet.
- Send RUSDC or RUSDT from your funded test wallet to that address.
- Confirm you receive a CRYPTO_DEPOSIT_CREATED webhook.
- Wait for CRYPTO_DEPOSIT_STATUS_UPDATED webhooks as the deposit progresses. The first will show
status: CONFIRMED(the transaction has finalized on-chain). The second will showstatus: APPROVED(it has cleared validation and the balance has updated). - Check the balance endpoint. It should reflect the deposited amount.
Scenario 2: Unsupported token
- Send native ETH or SOL to the same deposit address.
- Confirm you receive a CRYPTO_DEPOSIT_CREATED webhook confirming the transfer was detected.
- Confirm a CRYPTO_DEPOSIT_STATUS_UPDATED webhook with
status: REJECTED. Unsupported tokens are rejected immediately on detection, without going through on-chain finalization. - Check the assets endpoint to confirm the token appears there, and check the balance endpoint to confirm it is unchanged.