Overview
GET /partner/v1/withdrawals/assets: list destination assets.POST /partner/v1/withdrawals/range: get min/max for a destination pair.POST /partner/v1/withdrawals/estimate: quote destination receive amount for a given amount.POST /partner/v1/withdrawals: create relay + fetch Rain withdrawal signature payload.
Withdrawal routes are dynamic (BTC/SOL/EVM and others) and can change. Always call
assets, range, and estimate before create.
In sandbox, source is fixed to rUSD on Base Sepolia.
source.contractId is optional.Flow
API flows (step-by-step)
1) Discover destination assets
Endpoint: You can optionally pass
GET /partner/v1/withdrawals/assetssourceChainId and sourceTokenAddress as hints, but they are not required.2) Get min/max for chosen route
Endpoint:
POST /partner/v1/withdrawals/range3) Estimate destination receive amount
Endpoint:
POST /partner/v1/withdrawals/estimate4) Create withdrawal signature payload (breaking schema)
Endpoint: Ready responses include:
POST /partner/v1/withdrawalsexecutioninfo for contract call routing.relaymetadata (payinAddress,payinExtraId,payoutAddress,payoutExtraId, route ids).
5) Execute onchain
frommust be the same admin EOA used in the create request (adminAddress).tomust beexecution.callTarget(controller or coordinator), not the collateral proxy address.- Use
parametersin order:[collateralProxy, token, amount, recipient, expiresAt, executorSalt, executorSignature]. - If
execution.callPath = controller_v1, call 7-argwithdrawAsset(…). - If
execution.callPath = coordinator_v2, call 10-argwithdrawAsset(…)and include v2 admin signature values. - If
statusispending, waitretryAfterSecondsand retry the same request with the same idempotency key.
Onchain execution details
Forcoordinator_v2, you must generate an additional admin signature before calling the contract.
Relay metadata fields
Provider exchange id for relay tracking.
Address Rain withdrawal sends funds to.
Optional memo/tag required on relay pay-in side.
Final destination address configured on the relay.
Optional destination memo/tag configured for payout.