External Accounts
Bank accounts and wallets that funds can be withdrawn to.
An external account is any destination outside Blacksheep that you can withdraw to. There are two kinds:
Bank accounts
For fiat withdrawals. A bank external account holds the account holder's name (account_name), the account number, and rail-specific routing details (e.g. BSB for AUD, routing number for USD, bank code, CLABE, PIX key).
Use account.external.bank.getAll to retrieve the bank external accounts on the account.
Wallets
For crypto withdrawals. A wallet external account holds an on-chain address and its address family in metadata.type: evm for Ethereum-compatible chains, tvm for Tron.
Use account.external.web3.add to register a wallet, and account.external.web3.getAll to retrieve the wallets on the account.
Connected and manual wallets
A wallet is added in one of two ways:
- Connected. The user connects the wallet in the Blacksheep app (for example MetaMask on EVM chains, or TronLink on Tron) and signs a message proving they control the address.
metadata.connectoridentifies the wallet that connected it, e.g.{ "id": "tronlink", "name": "TronLink" }. A connected wallet can also be used as the source of a sale in the app. - Manual. Only the address is entered and nothing is signed. A manual wallet has no
metadata.connector. It can receive withdrawals but can't fund a sale.
Wallets registered through the API with account.external.web3.add are always manual: the API has no step that proves ownership of the address.
Deposit wallets
account.external.web3.getAll also lists the account's Blacksheep deposit wallets, marked by metadata.connector.id of blacksheep_custody. Blacksheep holds these addresses, and tokens sent to them are credited to your balance. Create one per address family with account.external.web3.create. See Deposit crypto.
Using external accounts
To withdraw, pass the account's id as external_accounts.to.id on transaction.transfer. Blacksheep validates that the external account belongs to your account and matches the currency_out of the withdrawal (a fiat external account for fiat currencies, a crypto wallet for crypto currencies).
Recipients (third-party destinations)
External accounts can belong to a third party — for example, a customer's bank account that you're paying out to. These are sometimes called recipients. See Recipients.