Anchorage Digital Trusted Destinations API
The Trusted Destinations API from Anchorage Digital — 4 operation(s) for trusted destinations.
The Trusted Destinations API from Anchorage Digital — 4 operation(s) for trusted destinations.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/anchorage-trusted-destinations-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 2.0.0
title: Anchorage Digital API Reference Trusted Destinations API
contact:
email: api@anchorage.com
description: '# Introduction
*CONFIDENTIAL: Please do not distribute this documentation externally without prior Anchorage Digital approval.*
The Anchorage Digital REST API v2.0 provides a set of operations and resources that allow Anchorage Digital clients and partners to:
- Programmatically transfer funds from an Anchorage Digital vault or wallet without human intervention
- Create and list deposit addresses in a vault
- Read and monitor vault balances
- Query transaction history including deposits
…'
servers:
- url: https://api.anchorage-staging.com/v2
security:
- Api-Access-Key: []
tags:
- description: ''
name: Trusted Destinations
paths:
/trusted_destinations:
get:
operationId: getTrustedDestinations
summary: List trusted destinations
description: 'Permissions required: **Read vault activity**
List trusted destinations'
parameters:
- name: afterId
in: query
description: When paginating this is used to provide the starting point for the page to fetch (retrieved from the previous response body)
schema:
type: string
- name: limit
in: query
description: Maximum number of results to return per query
schema:
type: integer
format: int64
default: 25
maximum: 100
minimum: 1
- name: ownerType
in: query
description: The type of the owner (currently only CUSTOMER is supported)
schema:
type: string
enum:
- CUSTOMER
example: CUSTOMER
- name: ownerId
in: query
description: The ID of the owner (for CUSTOMER type, this is the customerId)
schema:
type: string
- name: assetTypeId
in: query
description: Asset type identifier. This will return Trusted Destinations with a matching assetTypeId, as well as Trusted Destinations with a matching networkId if network level is true.
schema:
type: string
responses:
'200':
description: List of trusted destinations
content:
application/json:
schema:
$ref: '#/components/schemas/TrustedDestinationsResponse'
'401':
description: Unauthenticated
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
tags:
- Trusted Destinations
post:
operationId: createTrustedDestinations
summary: Create new Trusted Destinations
description: 'Permissions required: **Manage Trusted Destinations**
Create new Trusted Destinations'
parameters: []
requestBody:
description: Create Trusted Destinations request
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTrustedDestinationsRequest'
responses:
'200':
description: Successfully started creation of Trusted Destinations
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTrustedDestinationsResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'401':
description: Unauthenticated
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
tags:
- Trusted Destinations
/trusted_destinations/{creationRequestId}/status:
get:
operationId: getCreateTDWorkflowStatus
summary: Check status of Trusted Destinations
description: 'Permissions required: **Read vault activity**
Check status of Trusted Destinations'
parameters:
- name: creationRequestId
in: path
description: Idempotent ID provided in the Create Trusted Destination request
required: true
schema:
type: string
responses:
'200':
description: Status of the operation identified by the provided idempotentId
content:
application/json:
schema:
$ref: '#/components/schemas/TrustedDestinationStatusResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'401':
description: Unauthenticated
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
tags:
- Trusted Destinations
/trusted_destinations/{creationRequestId}/cancel:
delete:
operationId: cancelTrustedDestinationCreation
summary: Cancel Trusted Destination creation
description: 'Permissions required: **Manage Trusted Destinations**
Cancel ongoing creation of Trusted Destinations'
parameters:
- name: creationRequestId
in: path
description: Idempotent ID provided in the Create Trusted Destination request
required: true
schema:
type: string
responses:
'200':
description: Successfully initiated cancellation of Trusted Destination creation
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'401':
description: Unauthenticated
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
tags:
- Trusted Destinations
/trusted_destinations/{trustedDestinationId}:
delete:
operationId: deleteTrustedDestination
summary: Delete Trusted Destination
description: 'Permissions required: **Manage Trusted Destinations**
Delete a Trusted Destination'
parameters:
- name: trustedDestinationId
in: path
description: ID for the Trusted Destination to be deleted
required: true
schema:
type: string
- name: ownerType
in: query
description: Currently always `CUSTOMER`, but when other types exist this will become an enum with multiple possible values, indicating how the `id` field should be interpreted.
schema:
type: string
example: CUSTOMER
- name: ownerId
in: query
description: 'The id of the Owner of the Trusted Destination.
* For owner type `CUSTOMER`, this is the respective CustomerID.'
schema:
type: string
responses:
'200':
description: Successfully deleted Trusted Destination
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'401':
description: Unauthenticated
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
tags:
- Trusted Destinations
components:
schemas:
TrustedDestinationFiatBeneficiary:
type: object
properties:
account:
description: Beneficiary account number
type: string
example: '*****1234'
address:
description: Beneficiary address
type: string
example: 123 Main Street
city:
description: Beneficiary city
type: string
example: Beverly Hills
country:
description: Beneficiary country
type: string
example: US
name:
description: The name of the beneficiary
type: string
example: Satoshi Nakamoto
state:
description: Beneficiary state
type: string
example: CA
type:
description: The beneficiary type
type: string
example: INDIVIDUAL
enum:
- BUSINESS
- INDIVIDUAL
zipCode:
description: Beneficiary zip code
type: string
example: '90210'
required:
- name
- type
- account
- address
- city
- state
- zipCode
- country
CreateTrustedDestinationsRequest:
type: object
properties:
idempotentId:
description: A client-provided unique ID for idempotent requests
type: string
example: 1ca86e65-4340-4876-85f4-8334852b9c43
maxLength: 128
x-nullable: true
owner:
$ref: '#/components/schemas/TrustedDestinationOwner'
trustedDestinations:
type: array
items:
$ref: '#/components/schemas/TrustedDestinationData'
required:
- idempotentId
- trustedDestinations
TrustedDestinationFiatBank:
type: object
properties:
address:
description: Financial institution address
type: string
example: 240 Greenwich Street
city:
description: Financial institution city
type: string
example: New York
code:
description: "Financial institution ID code\n\n * `ABA` - Routing number\n * `BIC` - SWIFT code"
type: string
example: BIC
country:
description: Financial institution country
type: string
example: US
id:
description: Financial institution ID
type: string
example: IRVTUS3N
name:
description: The name of the financial institution
type: string
example: The Bank of New York Mellon
state:
description: Financial institution state
type: string
example: NY
zipCode:
description: Financial institution zip code
type: string
example: '10286'
required:
- name
- code
- id
- address
- city
- state
- zipCode
- country
TrustedDestinationStatusResponse:
type: object
properties:
status:
description: 'A string describing the status of the Trusted Destination creation request
* `Initiated`
* `Generating Docusign`
* `Pending DocuSign Signature`
* `Trusted Destination Operation In Progress`
* `Needs Quorum Approval`
* `Anchorage Risk Review`
* `Linking Trusted Destination`
* `Complete`
* `Failed`
* `Rejected`
* `Canceled`
* `Expired`'
type: string
TrustedDestinationsResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TrustedDestination'
page:
$ref: '#/components/schemas/Page'
required:
- data
- page
Page:
description: Pagination info
type: object
properties:
next:
description: URL to use to query for the next page or null if no additional results are available
type:
- string
- 'null'
example: <next page url>
x-omitempty: false
title: Page
TrustedDestinationCrypto:
type: object
properties:
address:
description: A crypto address for the intended asset
type: string
example: 2N19AcihQ1a4MxQW658UFHTioUNnMkiHPkw
assetType:
description: The asset type of the trusted destination.
type: string
example: BTC
isNetworkLevel:
description: Determines if the Trusted Destination is Network level or not
type: boolean
example: true
memo:
description: Additional data to be sent along with the transaction on blockchains that support it.
type: string
networkId:
description: The ID of the network this trusted destination belongs to.
type: string
example: BTC
required:
- address
- networkId
- assetType
- isNetworkLevel
TrustedDestinationFiat:
type: object
properties:
beneficiary:
$ref: '#/components/schemas/TrustedDestinationFiatBeneficiary'
beneficiaryBank:
$ref: '#/components/schemas/TrustedDestinationFiatBank'
intermediaryBank:
$ref: '#/components/schemas/TrustedDestinationFiatBank'
memo:
description: Note to Beneficiary, maximum 140 characters
type: string
example: Quarterly dividend
maxLength: 140
usage:
description: The owner of the recipient account
type: string
example: MY_ORGANIZATION
enum:
- MY_ORGANIZATION
- THIRD_PARTY
required:
- usage
- beneficiary
- beneficiaryBank
CreateTrustedDestinationsResponse:
type: object
properties:
creationRequestId:
description: The client-provided ID which can be used to specify this request in other operations
type: string
example: 1ca86e65-4340-4876-85f4-8334852b9c43
maxLength: 128
required:
- creationRequestId
TrustedDestinationData:
description: Information of a new Trusted Destination to be created
type: object
properties:
address:
description: A crypto address for the intended destination
type: string
example: 2N19AcihQ1a4MxQW658UFHTioUNnMkiHPkw
assetType:
description: 'A string representing a type of crypto-asset, which usually corresponds to the crypto asset''s ticker symbol.
Use `/asset-types` to list all of the supported asset types for your organization.
'
type: string
example: BTC
description:
description: Description containing details about this Trusted Destination.
type: string
isNetworkLevel:
description: Determines if the created Trusted Destination is Network level or not
type: boolean
example: true
default: false
memo:
description: An optional string providing more context for this hold.
type: string
example: Internal trade ID 0xabc123
maxLength: 512
name:
description: The name that will be used to identify this Trusted Destination.
type: string
maxLength: 32
trustedDestinationAmlQuestionnaire:
$ref: '#/components/schemas/TrustedDestinationAmlQuestionnaire'
required:
- assetType
- address
- name
- description
TrustedDestinationAmlQuestionnaire:
description: Anti-money laundering questionnaire. Required for Anchorage Digital organizations. Must not be provided for Porto organizations — including this field for Porto organizations will result in an error.
type: object
properties:
destinationType:
description: Where the address that will receive the withdrawal is held.
type: string
example: FINANCIAL_INSTITUTION
enum:
- FINANCIAL_INSTITUTION
- SELFHOSTED_WALLET
institutionCountry:
description: The country of the institution on the receiving end of the withdrawal, must be specified when the `destinationType` is `FINANCIAL_INSTITUTION` (ISO 3166-1 alpha-2 code).
type: string
example: US
institutionName:
description: The name of the institution on the receiving end of the withdrawal, must be specified when the `destinationType` is `FINANCIAL_INSTITUTION`.
type: string
example: Coinbase
recipientCity:
description: The city of the person or entity that will receive the funds being withdrawn, can be specified when the `recipientType` is `PERSON` or `ENTITY` (optional, except if Street Address is indicated).
type: string
example: San Francisco
recipientCountry:
description: The country of the entity or person that will receive the funds being withdrawn, must be specified when the `recipientType` is `PERSON` or `ENTITY` (ISO 3166-1 alpha-2 code).
type: string
example: JP
recipientFirstName:
description: The first name of the person that will receive the funds being withdrawn, must be specified when the `recipientType` is `PERSON`.
type: string
example: Satoshi
recipientFullName:
description: The full name of the entity that will receive the funds being withdrawn, must be specified when the `recipientType` is `ENTITY`.
type: string
example: Satoshi Nakamoto
recipientLastName:
description: The last name of the person that will receive the funds being withdrawn, must be specified when the `recipientType` is `PERSON`.
type: string
example: Nakamoto
recipientPostalCode:
description: The zip code/postal code of the person or entity that will receive the funds being withdrawn, can be specified when the `recipientType` is `PERSON` or `ENTITY` (optional).
type: string
example: 65584-5678
recipientStateProvince:
description: The state/province of the person or entity that will receive the funds being withdrawn, can be specified when the `recipientType` is `PERSON` or `ENTITY` (full name format) (optional).
type: string
example: Wyoming
recipientStreetAddress:
description: The street address of the person or entity that will receive the funds being withdrawn, can be specified when the `recipientType` is `PERSON` or `ENTITY` (optional, except if City is indicated).
type: string
example: 1234 NW Bobcat Lane, St. Robert, MO
recipientType:
description: 'The entity or person that will receive the funds being withdrawn.
* `DESTINATION_INSTITUTION` - Financial institution specified above in `institutionName`
* `MY_ORGANIZATION` - Same organization initiating the withdrawal, the Anchorage Digital account owner
* `PERSON` - Other person
* `ENTITY` - Other entity'
type: string
example: PERSON
enum:
- DESTINATION_INSTITUTION
- MY_ORGANIZATION
- PERSON
- ENTITY
selfhostedDescription:
description: A description of the self-hosted wallet, must be specified when the `destinationType` is `SELFHOSTED_WALLET`.
type: string
example: An explanation about where this address is held
selfhostedWalletOwner:
description: The owner of the self-hosted wallet, can be specified when the `destinationType` is `SELFHOSTED_WALLET`.
type: string
example: MY_ORGANIZATION
enum:
- MY_ORGANIZATION
- PERSON_OR_ENTITY
TrustedDestinationOwner:
description: The Owner of the Trusted Destinations
type: object
properties:
id:
description: 'The id of the Owner of the Trusted Destination.
* For owner type `CUSTOMER`, this is the respective CustomerID.'
type: string
type:
description: Currently always `CUSTOMER`, but when other types exist this will become an enum with multiple possible values, indicating how the `id` field should be interpreted.
type: string
example: CUSTOMER
enum:
- CUSTOMER
required:
- type
- id
TrustedDestination:
type: object
properties:
crypto:
$ref: '#/components/schemas/TrustedDestinationCrypto'
description:
description: The description of the trusted destination
type: string
fiat:
$ref: '#/components/schemas/TrustedDestinationFiat'
id:
description: A unique ID for the trusted destination
type: string
name:
description: The name of the trusted destination
type: string
owner:
$ref: '#/components/schemas/TrustedDestinationOwner'
type:
description: Can be either "crypto" or "fiat", indicating which sub-field contains the details for the trusted destination.
type: string
required:
- id
- type
ErrorType:
description: The type of error returned.
type: string
enum:
- InternalError
- InvalidRequest
- Unauthenticated
- Forbidden
- NotFound
- Conflict
- UnprocessableEntity
- TooManyRequests
- ServiceUnavailable
- QuoteExpired
- InsufficientFunds
- NotImplemented
title: ErrorType
ErrorDetails:
type: object
properties:
errorType:
$ref: '#/components/schemas/ErrorType'
message:
description: A human-readable message providing more details about the error.
type: string
example: Missing required field 'amount'.
required:
- errorType
- message
title: ErrorDetails
securitySchemes:
Api-Access-Key:
type: apiKey
name: Api-Access-Key
in: header
description: An API key associated with a security role
x-tagGroups:
- name: Under Development
tags:
- Collateral Management
- Holds
- Deposit Attribution
- Onboarding
- Trusted Destinations
- Atlas Settlement Network
- Tax
- name: API Endpoints
tags:
- Addresses
- Asset Types
- Transactions
- Transfers
- Wallets
- Vaults
- Vesting
- Tagging
- Subaccounts
- Stablecoins
- Webhook Notifications
- API Key
- Statements
- Tax Reporting
- Trading
- name: Models
tags:
- Transfer Model
- Transaction Model
- Vault Model
- Deposit Attribution Model