At a glance
v1: automatic detection
The v1 endpoint returns a unique deposit address for each transfer. Send the USDC or USDT, and MW detects the deposit and starts the payout automatically — no further call is needed. Use v1 when you want the simplest flow, need USDT, or rely on automated compliance screening of sender wallets you do not control.v2: two-phase confirmation
The v2 endpoint returns a fixed deposit address and never expires. After you send the USDC, you must link the on-chain transaction to your transfer withPOST /api/payouts/transfer/v2/confirm-transfer.
1
Create the transfer
Call
POST /api/payouts/transfer/v2 to receive a transfer_id and deposit_address.2
Send the USDC
Send exactly the quoted amount to the deposit address on the chosen network.
3
Confirm the deposit
Call
POST /api/payouts/transfer/v2/confirm-transfer with the transfer_id and the tx_hash. The platform matches the deposit and starts the payout.base, solana, polygon, arbitrum, avalanche, ethereum.
Quoting for v2
When quoting before a v2 transfer, passv2_offloader=true to GET /api/payouts/quote. The fee fields are calculated for the v2 pipeline: serviceFeePercent reflects your configured fee plus 20 bips, serviceFeeFixed is 0, and providerCharge is absent. See Quotes and fees.