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).
Blockchain | Token Enums | Mainnet/Testnet Enums |
---|---|---|
Ethereum | ETH, USDC, UNI, LINK, CRV, AAVE, COMP, SHIB, BAT, GRT, SUSHI, SAND, ENJ, AXS, MKR, YFI, APE, DAI, USDT, QNT, CHZ, GALA | mainnet/sepolia |
Polygon | POL, USDC | polygonMainnet/polygonAmoy |
Bitcoin | BTC | bitcoinMainnet/bitcoinTestnet |
Solana | SOL, USDC | solanaMainnet/solanaDevnet |
Cardano | ADA | cardanoMainnet/cardanoTestnet |
Stellar | XLM, USDC | stellarMainnet/stellarTestnet |
Polkadot | DOT | polkadotMainnet/polkadotWestend |
BNBSmartChain | BNB | bnbSmartChainMainnet/bnbSmartChainTestnet |
Avalanche | AVAX, USDC | avalancheMainnet/avalancheFuji |
Litecoin | LTC | litecoinMainnet/litecoinTestnet |
Tezos | XTZ | tezosMainnet/tezosTestnet |
Doge | DOGE | dogeMainnet/dogeTestnet |
EOS | EOS | eosMainnet/eosTestnet |
CosmosHub | ATOM | cosmosHub/cosmosHubTestnet |
Bitcoin Cash | BCH | bchMainnet/bchTestnet |
Near | NEAR | nearMainnet/nearTestnet |
Arbitrum | USDC, ETH | arbitrumMainnet/arbitrumSepolia |
Algorand | USDC | algorandMainnet/algorandTestnet |
Tron | TRX | tronMainnet/tronTestnet |
Fantom | FTM, USDC | fantomMainnet |
Hedera | HBAR | hederaMainnet/hederaTestnet |
Flow | FLOW, USDC | flowMainnet/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"
}
Updated about 1 month ago