POST /v2/transfers requires the Transfer funds permission and an Ed25519 request signature.
Internal transfer
Move assets to any wallet you own at Anchorage Digital. No allowlisting or AML information is required. Set bothsource.type and destination.type to WALLET.
External transfer
Move assets to an external destination that has been allowlisted as a trusted destination. External transfers always include a transfer AML questionnaire. You can identify the destination two ways:ADDRESS— Pass the allowlisted address asdestination.id. If the asset requires a memo or destination tag, include the matchingassetParameters.TRUSTED_DESTINATION— Pass the trusted destination ID asdestination.id. Any memo or destination tag stored on the trusted destination is applied automatically, so you don’t submitassetParametersyourself. This is the simpler path for assets that need a memo or tag, and it avoids mismatched-memo errors.
Fields
Response
A successful request returns201 with a transferId and status:
Crypto-specific behavior
Queuing — Up to 50 transfer requests from the same source wallet can be queued at once. Transfers for the same asset on the same blockchain process one at a time; others stayQUEUED until the prior transfer completes or fails. Transfers on different wallets or different blockchains can process in parallel. Transfers expire 24 hours after initiation.
assetParameters — Required when transferring to institutional wallets that need a memo or destination tag. Supported assets: ATOM, Cosmos, DYDX, HBAR, STX, TIA, XLM, XRP, ZETA.
useGasStation — If true, Anchorage Digital’s gas station pays network fees for supported assets and organizations. Processing is slightly slower, since Anchorage Digital prefunds the originating wallet before executing the transfer.
deductFeeFromAmountIfSameType
To transfer a full balance of an asset whose fee is paid in the same asset (for example, BTC), set
deductFeeFromAmountIfSameType: true. When the source is a walletId, fees are deducted from that wallet; when the source is a vaultId, fees come from the vault’s default wallet (isDefault: true).
Troubleshooting
If an external transfer returns401/403, check that:
- You’re using the correct base URL.
- The destination is an allowlisted trusted destination.
- The permission group has external transfers enabled.
- If your permission is scoped to specific destinations, the destination has been connected to the permission group and endorsed.