Deposit crypto

Create a deposit wallet and fund your Blacksheep balance on-chain from your own application.

To deposit crypto, create a Blacksheep deposit wallet for the chain you'll send from. Its address then appears in your wallet list, and any supported token sent to it is credited to your balance.

Prerequisites

1. Create the deposit wallet

POST /account.external.web3.create
Content-Type: application/json

{ "type": "evm" }

type is the address family: evm for Ethereum-compatible chains, tvm for Tron. One evm wallet receives on every supported EVM chain.

{
    "data": {
        "status": "PENDING",
        "wallet": null
    }
}

Wallet creation is asynchronous. The call is idempotent: once the wallet exists, calling it again returns "status": "READY" with the wallet instead of creating another.

2. Wait for the wallet to appear

Poll account.external.web3.getAll until a wallet with metadata.connector.id of blacksheep_custody and the matching metadata.type is listed. This usually takes a few seconds.

POST /account.external.web3.getAll
{
    "data": [
        {
            "id": "4f0c2a8e-8d1b-4c55-9e0e-3b7f6a1d2c90",
            "created_at": "2026-09-24T04:15:39.841Z",
            "type": "WEB3",
            "is_active": true,
            "metadata": {
                "is_hidden": false,
                "address": "0xabc...123",
                "type": "evm",
                "connector": { "id": "blacksheep_custody" },
                "has_transactions": false,
                "is_custodial": false
            }
        }
    ]
}

Wallets you've added yourself have no connector, so connector.id is how you tell the deposit wallet apart. metadata.address is the address to send to.

3. Send funds

Send a supported token from your own wallet or application to metadata.address, on a chain that matches the wallet's metadata.type.

Supported tokens

TokenChainsWallet type
USDCethereum, base, arbitrum, polygon, avalancheevm
USDTethereumevm
USDTtrontvm

4. Track the deposit

Once the transfer is seen on-chain, Blacksheep creates a deposit transaction in PENDING status and credits your balance when it completes. Track it with:

  • A transaction.created webhook for the new deposit, then transaction.updated reporting a terminal status
  • Polling transaction.getMany with type: "deposit"

The transaction's external_reference is the on-chain transaction hash, with external_reference_type of CRYPTO_ETHEREUM (EVM chains) or CRYPTO_TRON.

Pitfalls

  • Unsupported tokens and chains are not credited. Only the tokens and chains in the table above are credited. Anything else sent to the address, including native gas tokens, is not.
  • Match the address family. An evm address only receives on EVM chains, and a tvm address only on Tron. Create one wallet per family you deposit on.
  • Deposit only. This wallet is for funding your balance. To send funds out, withdraw to a wallet you've added yourself. See Withdraw to a wallet.