Anchorage Digital Fiat Banking Operations API
Operations for managing fiat bank payments and accounts
Operations for managing fiat bank payments and accounts
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-fiat-banking-operations-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 Fiat Banking Operations 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/v3
security:
- Api-Access-Key: []
tags:
- description: Operations for managing fiat bank payments and accounts
name: Fiat Banking Operations
paths:
/fiat/banks/payments/wire:
post:
operationId: createWire
summary: Create a wire transfer
description: 'Permissions required: **Fiat Banking**
Create a new wire transfer.
Upon receiving a successful response, the payment immediately enters the approved state. At this point, the bank will attempt to process the payment, with status updates delivered via webhooks.'
parameters:
- name: Api-Signature
in: header
description: A hex-encoded Ed25519 signature of `timestamp_epoch_seconds + uppercase(http_method) + request_path + request_body`.
required: true
schema:
type: string
pattern: ^[0-9A-Fa-f]{128,160}$
- name: Api-Timestamp
in: header
description: Current timestamp, represented as unix epoch seconds
required: true
schema:
type: integer
format: int64
- name: Idempotency-Key
in: header
description: Client-provided idempotency key to ensure request is processed only once
required: true
schema:
type: string
maxLength: 128
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WireCreateRequest'
responses:
'201':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/WireCreateResponse'
'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'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'413':
description: Payload Too Large
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'422':
description: Unprocessable Entity
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'
'502':
description: Bad Gateway
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
tags:
- Fiat Banking Operations
get:
operationId: listWires
summary: List wire transfers
description: 'Permissions required: **Fiat Banking**
Retrieve a paginated list of wire transfers.'
parameters:
- name: first
in: query
description: Maximum number of results to return per query
schema:
type: integer
format: int64
default: 25
maximum: 100
minimum: 1
- name: after
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: clientRefId
in: query
description: Filter by client reference ID
required: false
schema:
type: string
- name: effectiveDateStart
in: query
description: 'Filter payments with an effective date on or after this date (inclusive). Format: YYYY-MM-DD.'
required: false
schema:
type: string
format: date
- name: effectiveDateEnd
in: query
description: 'Filter payments with an effective date on or before this date (inclusive). Format: YYYY-MM-DD.'
required: false
schema:
type: string
format: date
- name: createdAtStart
in: query
description: 'Filter payments created at or after this datetime (inclusive). Format: RFC 3339 date-time.'
required: false
schema:
type: string
format: date-time
- name: createdAtEnd
in: query
description: 'Filter payments created at or before this datetime (inclusive). Format: RFC 3339 date-time.'
required: false
schema:
type: string
format: date-time
responses:
'200':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/ListWiresResponse'
'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:
- Fiat Banking Operations
/fiat/banks/payments/wire/{id}:
get:
operationId: getWire
summary: Get a wire transfer
description: 'Permissions required: **Fiat Banking**
Retrieve details of a specific wire transfer by ID.'
parameters:
- name: id
in: path
description: The unique identifier of the wire transfer
required: true
schema:
type: string
responses:
'200':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/WireResponse'
'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'
'502':
description: Bad Gateway
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
tags:
- Fiat Banking Operations
/fiat/banks/payments/ach:
post:
operationId: createACH
summary: Create an ACH transfer
description: 'Permissions required: **Fiat Banking**
Create a new ACH transfer.
Upon receiving a successful response, the payment immediately enters the approved state. At this point, the bank will attempt to process the payment, with status updates delivered via webhooks.'
parameters:
- name: Api-Signature
in: header
description: A hex-encoded Ed25519 signature of `timestamp_epoch_seconds + uppercase(http_method) + request_path + request_body`.
required: true
schema:
type: string
pattern: ^[0-9A-Fa-f]{128,160}$
- name: Api-Timestamp
in: header
description: Current timestamp, represented as unix epoch seconds
required: true
schema:
type: integer
format: int64
- name: Idempotency-Key
in: header
description: Client-provided idempotency key to ensure request is processed only once
required: true
schema:
type: string
maxLength: 128
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ACHCreateRequest'
responses:
'201':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/ACHCreateResponse'
'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'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'413':
description: Payload Too Large
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'422':
description: Unprocessable Entity
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'
'502':
description: Bad Gateway
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
tags:
- Fiat Banking Operations
get:
operationId: listACHTransfers
summary: List ACH transfers
description: 'Permissions required: **Fiat Banking**
Retrieve a paginated list of ACH transfers.'
parameters:
- name: first
in: query
description: Maximum number of results to return per query
schema:
type: integer
format: int64
default: 25
maximum: 100
minimum: 1
- name: after
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: clientRefId
in: query
description: Filter by client reference ID
required: false
schema:
type: string
- name: effectiveDateStart
in: query
description: 'Filter payments with an effective date on or after this date (inclusive). Format: YYYY-MM-DD.'
required: false
schema:
type: string
format: date
- name: effectiveDateEnd
in: query
description: 'Filter payments with an effective date on or before this date (inclusive). Format: YYYY-MM-DD.'
required: false
schema:
type: string
format: date
- name: createdAtStart
in: query
description: 'Filter payments created at or after this datetime (inclusive). Format: RFC 3339 date-time.'
required: false
schema:
type: string
format: date-time
- name: createdAtEnd
in: query
description: 'Filter payments created at or before this datetime (inclusive). Format: RFC 3339 date-time.'
required: false
schema:
type: string
format: date-time
responses:
'200':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/ListACHTransfersResponse'
'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:
- Fiat Banking Operations
/fiat/banks/payments/ach/{id}:
get:
operationId: getACH
summary: Get an ACH transfer
description: 'Permissions required: **Fiat Banking**
Retrieve details of a specific ACH transfer by ID.'
parameters:
- name: id
in: path
description: The unique identifier of the ACH transfer
required: true
schema:
type: string
responses:
'200':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/ACHResponse'
'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'
'502':
description: Bad Gateway
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
tags:
- Fiat Banking Operations
/fiat/banks/payments/book:
post:
operationId: createBook
summary: Create a book transfer
description: 'Permissions required: **Fiat Banking**
Create a new book transfer between two internal accounts.'
parameters:
- name: Api-Signature
in: header
description: A hex-encoded Ed25519 signature of `timestamp_epoch_seconds + uppercase(http_method) + request_path + request_body`.
required: true
schema:
type: string
pattern: ^[0-9A-Fa-f]{128,160}$
- name: Api-Timestamp
in: header
description: Current timestamp, represented as unix epoch seconds
required: true
schema:
type: integer
format: int64
- name: Idempotency-Key
in: header
description: Client-provided idempotency key to ensure request is processed only once
required: true
schema:
type: string
maxLength: 128
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BookCreateRequest'
responses:
'201':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/BookCreateResponse'
'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'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'413':
description: Payload Too Large
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'422':
description: Unprocessable Entity
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'
'502':
description: Bad Gateway
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
tags:
- Fiat Banking Operations
get:
operationId: listBookTransfers
summary: List book transfers
description: 'Permissions required: **Fiat Banking**
Retrieve a paginated list of book transfers.'
parameters:
- name: first
in: query
description: Maximum number of results to return per query
schema:
type: integer
format: int64
default: 25
maximum: 100
minimum: 1
- name: after
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: clientRefId
in: query
description: Filter by client reference ID
required: false
schema:
type: string
- name: effectiveDateStart
in: query
description: 'Filter payments with an effective date on or after this date (inclusive). Format: YYYY-MM-DD.'
required: false
schema:
type: string
format: date
- name: effectiveDateEnd
in: query
description: 'Filter payments with an effective date on or before this date (inclusive). Format: YYYY-MM-DD.'
required: false
schema:
type: string
format: date
- name: createdAtStart
in: query
description: 'Filter payments created at or after this datetime (inclusive). Format: RFC 3339 date-time.'
required: false
schema:
type: string
format: date-time
- name: createdAtEnd
in: query
description: 'Filter payments created at or before this datetime (inclusive). Format: RFC 3339 date-time.'
required: false
schema:
type: string
format: date-time
responses:
'200':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/ListBookTransfersResponse'
'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:
- Fiat Banking Operations
/fiat/banks/payments/book/{id}:
get:
operationId: getBook
summary: Get a book transfer
description: 'Permissions required: **Fiat Banking**
Retrieve details of a specific book transfer by ID.'
parameters:
- name: id
in: path
description: The unique identifier of the book transfer
required: true
schema:
type: string
responses:
'200':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/BookResponse'
'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'
'502':
description: Bad Gateway
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
tags:
- Fiat Banking Operations
/fiat/banks/transactions:
post:
operationId: createIncomingTransaction
summary: Create an incoming transaction
description: 'Permissions required: **Fiat Banking**
Create an incoming payment transaction to an internal account.
**IMPORTANT:** This endpoint is designed for testing and simulation in non-production
environments only. It allows you to simulate incoming fiat payments for integration
testing purposes.
This endpoint simulates receiving funds by creating a transaction that credits the
specified account. It triggers webhooks for full end-to-end testing of incoming
payment flows.'
parameters:
- name: Api-Signature
in: header
description: 'A hex-encoded Ed25519 signature of `timestamp_epoch_seconds +
uppercase(http_method) + request_path + request_body`.'
required: true
schema:
type: string
pattern: ^[0-9A-Fa-f]{128,160}$
- name: Api-Timestamp
in: header
description: Current timestamp, represented as unix epoch seconds
required: true
schema:
type: integer
format: int64
- name: Idempotency-Key
in: header
description: Client-provided idempotency key to ensure request is processed only once
required: true
schema:
type: string
maxLength: 128
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionCreateRequest'
responses:
'201':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionCreateResponse'
'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'
'422':
description: Unprocessable Entity
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'
'502':
description: Bad Gateway
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
tags:
- Fiat Banking Operations
/fiat/banks/virtual-account-owners:
post:
operationId: createVirtualAccountOwner
summary: Create a virtual account owner
description: 'Permissions required: **Fiat Banking**
Create a new virtual account owner to collect KYC information required by some banks.'
parameters:
- name: Api-Signature
in: header
description: A hex-encoded Ed25519 signature of `timestamp_epoch_seconds + uppercase(http_method) + request_path + request_body`.
required: true
schema:
type: string
pattern: ^[0-9A-Fa-f]{128,160}$
- name: Api-Timestamp
in: header
description: Current timestamp, represented as unix epoch seconds
required: true
schema:
type: integer
format: int64
- name: Idempotency-Key
in: header
description: Client-provided idempotency key to ensure request is processed only once
required: true
schema:
type: string
maxLength: 128
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VirtualAccountOwnerCreateRequest'
responses:
'201':
description: successful
content:
application/json:
schema:
$ref: '#/components/schemas/VirtualAccountOwnerCreateResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetails'
'401':
description: Unauthenticated
content:
application/json:
schema:
$ref: '#/components/schemas/E
# --- truncated at 32 KB (84 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/anchorage/refs/heads/main/openapi/anchorage-fiat-banking-operations-api-openapi.yml