Withdraw to a wallet
Send crypto from a Blacksheep balance to an on-chain wallet address.
Crypto withdrawals send funds from your Blacksheep balance to an external wallet address on the appropriate network.
Prerequisites
- A wallet external account registered for the destination address
- A non-zero balance of the crypto currency you're sending
1. Find the destination
POST /account.external.web3.getAll{
"data": [
{
"id": "b21189d4-e549-4d77-b76b-85bfbb45d42d",
"created_at": "2026-05-12T04:15:39.841Z",
"type": "WEB3",
"is_active": true,
"metadata": {
"is_hidden": false,
"address": "0xabc...123",
"type": "evm",
"nickname": "Treasury wallet"
}
}
]
}The wallet's metadata.type indicates the address family (evm, tvm, sol, or btc). The destination must match the chain of the currency_out you send — for example, an EVM wallet for USDC on ethereum. There is no per-wallet supported-currencies list in the response; matching is by chain.
2. Execute the withdrawal
POST /transaction.submitWithdraw
Content-Type: application/json
{
"external_account_id": "b21189d4-e549-4d77-b76b-85bfbb45d42d",
"currency_out": { "value": "50000000", "code": "USDC", "decimals": 6, "chain": "ethereum" }
}Network fees are deducted from the currency_out.value — the recipient receives slightly less than the requested amount. If you need the recipient to receive a specific amount, gross up on your side using your network fee estimate.
3. Track completion
Crypto withdrawals settle asynchronously. Track completion via a transaction.updated webhook reporting a terminal status, or by polling transaction.get.
The transaction object will include the on-chain reference in external_reference (with external_reference_type = CRYPTO_ETHEREUM) when available.
Pitfalls
- Wrong chain. Sending USDC with
currency_out.chainset to a chain the wallet can't receive on will fail or — worse — succeed on the wrong chain. Always verify the wallet'smetadata.typematches the address family of thecurrency_out.chainyou're sending. - Address typos cannot be reversed. Verify wallet addresses out-of-band before registering them.