Skip to main content
Once a subaccount is created, funding can begin. End clients may fund with digital assets in-kind or USD. The flow differs by funding method. Topics covered:
  • Fund with USD
  • Fund in-kind with digital assets
  • Attribute deposits
  • Move funds between subaccounts
  • Update billing fees and dates

Fund with USD

Generate a USD wire memo per subaccount via API and share with the end client. Include the memo in the wire to Anchorage Digital to ensure proper attribution.

USD funding considerations

  • ACH not supported — ACH makes attribution unreliable.
  • Wires without memos are returned — Any wire without a memo field is subject to return. Anchorage Digital will use best efforts to determine the recipient but requires written confirmation from the wealth manager before attributing.
  • Multiple subaccounts — If the end client has multiple subaccounts, they can fund one and rebalance USD across subaccounts using the Subaccount transactions API.
  • Third-party wires not supported — The originating bank account must be held in the end client’s name. Payments from accounts not in the end client’s name will be returned.

Fund in-kind with digital assets

Steps must be completed in order — out-of-sequence execution risks funds being lost or returned.
1

Create a subaccount-specific deposit wallet

Create one wallet per subaccount per asset using POST /v2/vaults/{vaultId}/wallets, specifying subaccountId.Create wallets on demand (when the customer requests a deposit address) rather than pre-creating wallets for all supported assets.Recommended naming convention: [PC name]_[Subaccount #]_Deposit Wallet
Wallet creation is limited to 10 wallets per asset per 30 minutes. This limit will increase in coming months.
2

Share with end client

Share the deposit address with the correct end client along with the blockchain details (e.g., Ethereum mainnet vs. Base), deposit attribution requirements, and any other relevant account information.
For the first few deposits, have the end client send a small test amount to confirm the address and network are correct before transferring the full balance. Ensure both parties are aligned on the exact asset symbol and supported network — deposits to the wrong network may result in lost funds.
3

Monitor for deposits

Use webhooks to get notified of deposit events, or poll pending deposit attributions via API.Deposit confirmations are not immediate — typically require 2 on-chain confirmations, which may take a few minutes.
Ensure end clients only deposit supported assets. Deposits of unsupported assets into a wallet will result in lost funds.
4

Monitor for deposits

Use webhooks to get notified of deposit events, or poll pending deposit attributions via API.Deposit confirmations are not immediate — typically require 2 on-chain confirmations, which may take a few minutes.
Ensure end clients only deposit supported assets. Deposits of unsupported assets into a wallet will result in lost funds.
5

Attribute the deposit


Deposit attribution

Status values

Attribution type values

Trusted sources

Trusted sources auto-attribute recurring deposits from the same address. Create them in the Anchorage Digital web dashboard (API not available in production).
Trusted sources should not be used if a single source address is shared by multiple end clients. Doing so may cause incorrect attribution and require the wealth manager to provide additional originator details to Anchorage Digital.
In production, collect AML deposit attribution data from the end client before sharing the deposit address. This enables automatic attribution once the deposit is detected.

Spam / unknown deposits

Attribute dust or spam deposits as SPAM using POST /v2/deposit-attributions/{depositTransactionId}/spam. This prevents unwanted balances from appearing on the end client’s subaccount. Anchorage Digital will sweep these funds from on-chain wallets using the shared API key as needed.

Automated attribution from VASPs

Crypto deposits from VASPs over $2,100 (the travel rule threshold) are automatically attributed if Anchorage Digital receives a travel rule message from an active TRUST network VASP. This is not instant — use the attribution API for faster fund access.

Integration steps

Step 1: Get your vaultId

GET /v2/vaults

Step 2: Create a deposit wallet for the subaccount

POST /v2/vaults/{vaultId}/wallets
Sandbox testnet assets: BTC_T (BTC testnet), ETHHOL (ETH Holesky), USDANCHOL (USDC Holesky)

Step 3: Identify a new deposit

Option A: Poll for pending attributions — GET /v2/deposit-attributions?status=PENDING
Response
Option B: Webhook notification — subscribe to deposit.pending-attribution:
Webhook payload
The message_id maps to the depositTransactionId.

Step 4: Attribute the deposit

PATCH /v2/deposit-attributions/{depositTransactionId} sourceWalletType values:
For spam/dust deposits, use POST /v2/deposit-attributions/{depositTransactionId}/spam instead to prevent unwanted balances from appearing on the subaccount.
After attributing in-kind deposits, update the missing cost basis via PATCH /v2/tax/transaction/{transactionId}. See Tax data.

Step 5: Generate a wire memo for USD funding

GET /v2/subaccounts/accounts/{subaccountId}/bank-info
Instruct clients to use the Message to Beneficiary (OBI) or Message to Recipient (OBI) field for the memo. If unavailable, use the Memo field. For international wires, share the bankSwiftCode.

Step 6: View subaccount balances

GET /v2/subaccounts/customers/{customerId}/accounts

Step 7: Move funds between same-client subaccounts

POST /v2/subaccounts/transactions Only settled funds can be moved. Use availableForWithdrawal for the settled balance. Cannot move funds between different end clients.
Use idempotentId on bulk subaccount transactions to prevent duplicate submissions.

Step 8: Update subaccount billing fees or dates

PATCH /v2/subaccounts/accounts/{subaccountId}
  • Updates trigger email notifications to end clients and the wealth manager (including sandbox).
  • Updated rates apply from the startDate specified.
  • Mid-cycle updates retroactively apply to the current billing period.
  • End-of-month billing uses the latest rate set for that month.