Skip to main content
Moves a token we don’t price or settle off one of your addresses, to a destination you’ve already approved. Use it when something other than USDC or USDT lands on an address — there’s no automatic path for that, so it just sits there until you move it.
Backend only. Never call from frontend.
The whole balance of that token moves. There’s no partial amount: we hold no price for the token, so there’s nothing to reason about a partial figure with.

Endpoint

Requires the withdraw scope, the same one withdrawals need — it moves money out, and it makes no difference that the token isn’t one we price.

Body

string
required
"master" to recover from your master wallet, or the walletRef of the address to recover from.
string
required
The chain the token is on.
string
required
The contract address of the token to recover. Refused if it’s the canonical USDC or USDT contract on that chain — use a withdrawal for those, which prices and floors them properly.
string
required
Must already be on your approved destinations list, the same list withdrawals use.

Example

Response (202)

Same shape and lifecycle as a withdrawal: 202, queued → sending → completed/failed. Track it with get a withdrawal or the wallet.withdrawal.completed webhook.

Errors