Confirm a v2 transfer
After sending USDC on-chain to the deposit_address returned by POST /api/payouts/transfer/v2, call this endpoint with the transfer_id and the on-chain transaction hash (tx_hash). The platform will use the hash to match the incoming deposit to your transfer and automatically initiate the fiat payout to your recipient.
Important:
- Each
tx_hashmay only be used once across the entire platform. A hash that has already been associated with any transfer (including your own) is rejected with409. This prevents replay attacks. - A second call with the same
transfer_idand the sametx_hashis idempotent — it returns the current status without error. - A second call with the same
transfer_idbut a differenttx_hashis rejected with409— overwriting is not allowed. - Once the deposit is detected (status moves past
pending_match), this endpoint returns the current status without making any changes.
Rate limit: 20 requests/minute.
Authorizations
Pass your API key as a Bearer token: Authorization: Bearer mw_live_<keyId>_<secret>
Body
The transfer_id returned by POST /api/payouts/transfer/v2.
"507f1f77bcf86cd799439011"
On-chain transaction hash of your USDC send. EVM format: 0x followed by 64 hex chars (32 bytes). Solana format: base58 signature (85–88 chars).
"0xabc123def456abc123def456abc123def456abc123def456abc123def456abc1"
Response
tx_hash recorded or already processing
The transfer ID.
"507f1f77bcf86cd799439011"
Current transfer status after recording the hash.
awaiting_deposit, pending_match, processing, deposit_sent, transfer_created, completed, failed, refunded "pending_match"
Human-readable summary of the action taken.
"tx_hash recorded — the system will match your deposit and initiate the payout automatically"
