v1

latestOpenAPI 3.0.02026-08-04134348905.1 KB
Transactions

Create a withdrawal request

Permissions required: Initiate withdrawals

Identify the sending asset

To initiate a withdrawal from a wallet to an external destination, you must identify which asset you'd like to withdraw funds from. Provide a source (with id and type).

Identify the receiving resource

Choose a resource to receive the funds as the destination. This resource may belong to your organization (wallet) or another organization (address, standing instruction).

Permissions

The provided API key must be associated with a permission group that has Initiate withdrawals permission for the sending vault.

Additional Metadata

You may provide a description with each withdrawal, that will be visible within your organization in the Anchorage Digital iOS Application.

Successful Withdrawals

If the withdrawal request is valid, the request will initiate a withdrawal transaction from the sending wallet. This is a common withdrawal that, unlike Transfers, will still require a quorum of approvals on the Anchorage Digital iOS app and will undergo manual Anchorage Digital Risk Review. Like other transactions, these withdrawals will be visible on the Anchorage Digital iOS Application, the Web Dashboard, and in the list transactions API endpoint.

Unsuccessful Withdrawals

A withdrawal request may fail for any of the following reasons:

  • An ongoing withdrawal already exists (unlike transfers, withdrawal requests are not queued)
  • The specified asset does not exist
  • The specified amount exceeds the available funds for this asset (insufficient funds)
  • The destination address is invalid
  • The provided API key does not have permissions to initiate withdrawals from this wallet

If the initiated withdrawal is approved by the quorum, the transaction may fail for any of the following reasons:

  • There are insufficient funds to pay the blockchain network fee at the time of this transaction
  • There is a failure on the blockchain
post/transactions/withdrawal

Headers

Api-Signaturestring required

A hex-encoded Ed25519 signature of timestamp_epoch_seconds + uppercase(http_method) + request_path + request_body.

Construction example:

toHex(
  ed25519Sign(
    signing_key,
    '{}{}{}{}'.format(timestamp_epoch_seconds, toUpper(httpMethod), httpRequestPath, httpBody)
  )
)
Api-Timestampinteger required

Current timestamp, represented as unix epoch seconds

Request body

amountstring required

An amount of a crypto-asset to transfer, without units. The unit is derived from the asset type.

assetTypestring required

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.

descriptionstring nullable

An optional string providing more context to this transaction. It will be visible on the Anchorage Digital iOS app and will not be published to the blockchain.

idempotentIdstring nullable

A client-provided unique ID for idempotent requests (optional)

useGasStationboolean nullable

If true, the Anchorage Digital gas station will pay gas fees, for supported asset types and organizations.

Example request

{
  "amount": "1000.00000000",
  "assetParametersATOM": {
    "memo": "w3mp19cqp2"
  },
  "assetParametersCosmos": {
    "memo": "w3mp19cqp2"
  },
  "assetParametersExtra": {
    "value": "w3mp19cqp2"
  },
  "assetParametersFiatTrustedDestination": {
    "memo": "Invoice 123",
    "purpose": "TRADING_SETTLEMENT"
  },
  "assetParametersXLM": {
    "memo": "w3mp19cqp2"
  },
  "assetParametersXRP": {
    "destinationTag": 23874
  },
  "assetType": "BTC",
  "description": "Internal ID: #12838927347",
  "destination": {
    "id": "1c920f4241b78a1d483a29f3c24b6c4c"
  },
  "idempotentId": "12838927347",
  "source": {
    "id": "1c920f4241b78a1d483a29f3c24b6c4c"
  },
  "withdrawalAmlQuestionnaire": {
    "destinationType": "FINANCIAL_INSTITUTION",
    "institutionCountry": "US",
    "institutionName": "Coinbase",
    "originatorCity": "San Francisco",
    "originatorCountry": "US",
    "originatorName": "Satoshi Nakamoto",
    "originatorPostalCode": "65584-5678",
    "originatorStateProvince": "Wyoming",
    "originatorStreetAddress": "1234 NW Bobcat Lane, St. Robert, MO",
    "originatorType": "MY_ORGANIZATION",
    "purpose": "TRADING_SETTLEMENT",
    "recipientCity": "San Francisco",
    "recipientCountry": "JP",
    "recipientFirstName": "Satoshi",
    "recipientFullName": "Satoshi Nakamoto",
    "recipientLastName": "Nakamoto",
    "recipientPostalCode": "65584-5678",
    "recipientStateProvince": "Wyoming",
    "recipientStreetAddress": "1234 NW Bobcat Lane, St. Robert, MO",
    "recipientType": "PERSON",
    "selfhostedDescription": "An explanation about where this address is held"
  }
}

Response

Successfully initiated a withdrawal

Example response

{
  "data": {
    "withdrawalId": "8696144cca28a634c05858d00e51191408498a7808a837fc4645b4b6997dde09"
  }
}