Crypto Transfers

Fortress APIs allow you to internally transfer or withdraw crypto. Similar to our payments endpoint, the transfer endpoint makes it easy to move assets based on the to and from fields. If you want to transfer crypto between two custodial accounts, you'll just need to specify the custodialAccountId. If withdrawing crypto, you'll specify the source custodial account and the destination wallet address.

Supported Crypto Assets

Note: These are the currently supported cryptos for asset custody pertaining to the Trust Api product. This table may be different from our other products for asset custody (Embeddable Wallet Product).

BlockchainToken EnumsMainnet/Testnet Enums
EthereumETH, USDC, UNI, LINK, CRV, AAVE, COMP, SHIB, BAT, GRT, SUSHI, SAND, ENJ, AXS, MKR, YFI, APE, DAI, USDT, QNT, CHZ, GALAmainnet/sepolia
PolygonMATIC, USDCpolygonMainnet/polygonMumbai
BitcoinBTCbitcoinMainnet/bitcoinTestnet
SolanaSOL, USDCsolanaMainnet/solanaDevnet
CardanoADAcardanoMainnet/cardanoTestnet
StellarXLM, USDCstellarMainnet/stellarTestnet
PolkadotDOTpolkadotMainnet/polkadotWestend
BNBSmartChainBNBbnbSmartChainMainnet/bnbSmartChainTestnet
AvalancheAVAX, USDCavalancheMainnet/avalancheFuji
LitecoinLTClitecoinMainnet/litecoinTestnet
TezosXTZtezosMainnet/tezosTestnet
DogeDOGEdogeMainnet/dogeTestnet
EOSEOSeosMainnet/eosTestnet
CosmosHubATOMcosmosHub/cosmosHubTestnet
Bitcoin CashBCHbchMainnet/bchTestnet
NearNEARnearMainnet/nearTestnet
ArbitrumUSDC, ETHarbitrumMainnet/arbitrumGoerli
AlgorandUSDCalgorandMainnet/algorandTestnet
TronTRX, USDCtronMainnet/tronTestnet
FantomFTM, USDCfantomMainnet
HederaHBARhederaMainnet/hederaTestnet
FlowFLOW, USDCflowMainnet/flowTestnet

πŸ“˜

Solana Rent Fee

Just a quick heads up about Custodial Accounts on the Solana Blockchain. If you want to deposit any token other than SOL, you'll need to deposit a small amount of SOL first. This SOL deposit covers the Rent fee required to hold a wallet on the blockchain.

The SOL deposit needs to be done directly on the blockchain and can't be handled as an internal transfer in our system.

For more info on Rent Fees check out Solana's documentation. https://docs.solana.com/developing/intro/rent

Get Crypto Deposit Address (for transfers in)

Address can now be retrieved once per blockchain. Supported tokens on each chain we be dynamically added to the account when the deposit is received.

GET /api/trust/v1/custodial-accounts/{custodialAccountId}/crypto-deposit-instructions/{network}/{assetType}

//Response Schema

{
    "address": "0xC456Db3842CE51cfC7AB17f1d8dA62F47C2673454"
}

Internal Transfers

POST /api/trust/v1/transfers

//Sample Request

{
  "type": "internal",
  "assetType": "crypto",
  "asset": "btc",
  "network": "bitcoinMainnet",
  "amount": .001,
  "from": {
    "type": "account",
    "id": "A3CA08AB-3058-4C3C-81E7-51DA24B171FF"
  },
  "to": {
    "type": "account",
    "id": "T89A08AB-3058-4C3C-81E7-83DA24B17JF9S"
  },
  "comment": "custom comment here"
}

Withdrawal

POST /api/trust/v1/transfers

//Sample Request

{
  "type": "withdrawal",
  "assetType": "crypto",
  "asset": "eth",
  "network": "mainnet",
  "amount": 10,
  "from": {
    "type": "account",
    "id": "A3CA08AB-3058-4C3C-81E7-51DA24B171FF"
  },
  "to": {
    "type": "address",
    "id": "0x71C7656EC7ab88b098defB751B7401B5f6d4173A"
  },
  "comment": "custom comment here"
}