Skip to main content
A crypto transfer moves digital assets to an internal wallet or an external on-chain address without quorum approval on each request. For shared concepts, external setup, limits, and status monitoring, see Transfer. This page covers the crypto-specific payloads and behavior. 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 both source.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 as destination.id. If the asset requires a memo or destination tag, include the matching assetParameters.
  • TRUSTED_DESTINATION — Pass the trusted destination ID as destination.id. Any memo or destination tag stored on the trusted destination is applied automatically, so you don’t submit assetParameters yourself. This is the simpler path for assets that need a memo or tag, and it avoids mismatched-memo errors.

Fields

Response

A successful request returns 201 with a transferId and status:
With destination.type: ADDRESS, include the matching assetParameters if the asset requires a memo or destination tag. With destination.type: TRUSTED_DESTINATION, omit assetParameters—the memo or tag stored on the trusted destination is applied automatically.

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 stay QUEUED 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 returns 401/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.
Common request-level failures: the source wallet doesn’t exist or doesn’t support the asset, the amount exceeds available funds, the destination doesn’t support the asset, or the key lacks permissions for the source vault. After a request succeeds, the transfer can still fail at execution if there are insufficient funds to cover the network fee at broadcast time or there’s a blockchain-level failure.