Anchorage Digital Vesting API
These endpoints allow access to vesting balance information for allocations.
These endpoints allow access to vesting balance information for allocations.
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-vesting-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 Vesting 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: These endpoints allow access to vesting balance information for allocations.
name: Vesting
paths:
/vesting/balances:
post:
operationId: getVestingBalancesBatch
summary: Get vesting balances for multiple allocations
description: Get vesting balances for multiple allocation IDs in a single request. Returns per-allocation results with balance breakdowns including available, unvested, and locked amounts. Individual allocation errors are returned inline rather than failing the entire batch.
parameters: []
requestBody:
description: The request body containing allocation IDs and optional stakeholder ID
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GetVestingBalancesBatchRequest'
responses:
'200':
description: Batch vesting balances for the requested allocations
content:
application/json:
schema:
$ref: '#/components/schemas/VestingBalancesBatchResponse'
'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:
- Vesting
x-security:
Read vault activity: present
/vesting/balances/{allocationId}:
get:
operationId: getVestingBalances
summary: Get vesting balances for an allocation
description: Get vesting balances for a specific allocation ID. Returns the current balance breakdown including available, unvested, and locked amounts.
parameters:
- name: allocationId
in: path
description: The ID of the allocation to get vesting balances for
required: true
schema:
type: string
- name: stakeholderId
in: query
description: The external stakeholder ID (optional, used to retrieve wallet info when no transactions exist yet)
required: false
schema:
type: string
responses:
'200':
description: Vesting balances for the specified allocation
content:
application/json:
schema:
$ref: '#/components/schemas/VestingBalancesResponse'
'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:
- Vesting
x-security:
Read vault activity: present
/offchainvesting/schedules:
get:
operationId: getOffchainVestingSchedules
summary: List offchain vesting schedules for an organization
description: Get all offchain vesting schedules for an organization.
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
responses:
'200':
description: List of offchain vesting schedules
content:
application/json:
schema:
$ref: '#/components/schemas/OffchainVestingSchedulesResponse'
'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:
- Vesting
x-security:
Read vault activity: present
components:
schemas:
GetVestingBalancesBatchRequest:
type: object
properties:
allocationIds:
description: List of allocation IDs to get vesting balances for
type: array
items:
type: string
minLength: 1
maxItems: 100
minItems: 1
stakeholderId:
description: The external stakeholder ID (optional, used to retrieve wallet info when no transactions exist yet)
type: string
required:
- allocationIds
title: GetVestingBalancesBatchRequest
ErrorType:
description: The type of error returned.
type: string
enum:
- InternalError
- InvalidRequest
- Unauthenticated
- Forbidden
- NotFound
- Conflict
- UnprocessableEntity
- TooManyRequests
- ServiceUnavailable
- QuoteExpired
- InsufficientFunds
- NotImplemented
title: ErrorType
OffchainVestingWalletAllocation:
type: object
properties:
totalAmount:
description: Total amount being vested for this wallet
type: string
vestedAmount:
description: Amount already vested for this wallet
type: string
vestingHolds:
description: Vesting holds associated with this wallet
type: array
items:
$ref: '#/components/schemas/OffchainVestingHold'
walletId:
description: Unique wallet identifier
type: string
required:
- walletId
- totalAmount
- vestedAmount
- vestingHolds
title: OffchainVestingWalletAllocation
OffchainVestingSchedule:
type: object
properties:
accountId:
description: The account ID associated with this schedule
type: string
allocations:
description: Breakdown of vesting schedule by wallet
type: array
items:
$ref: '#/components/schemas/OffchainVestingWalletAllocation'
assetType:
description: The asset type abbreviation for this vesting schedule (e.g. BTC, ETH)
type: string
endTime:
description: End time of the vesting schedule in UTC following [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) 'date-time' format. A valid format example is `2021-01-01T00:00:00Z`.
type: string
format: date-time
organizationKeyId:
description: The organization key ID
type: string
startTime:
description: Start time of the vesting schedule in UTC following [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) 'date-time' format. A valid format example is `2021-01-01T00:00:00Z`.
type: string
format: date-time
status:
description: Status of the vesting schedule
type: string
enum:
- ACTIVE
- CANCELLED
- COMPLETED
totalAmount:
description: Total amount being vested
type: string
unstakeable:
description: Whether the unvested tokens cannot be staked
type: boolean
vestedAmount:
description: Amount that has already vested
type: string
vestingScheduleId:
description: Unique identifier for the vesting schedule
type: string
required:
- allocations
- vestingScheduleId
- accountId
- organizationKeyId
- totalAmount
- vestedAmount
- startTime
- endTime
- status
- unstakeable
- assetType
title: OffchainVestingSchedule
VestingBalance:
type: object
properties:
assetType:
description: A string representing a type of crypto-asset, which usually corresponds to the crypto asset's ticker symbol.
type: string
example: BTC
availableBalance:
description: Amount of tokens unlocked for this allocation
type: string
example: '1000.50000000'
externalTokenId:
description: The ID of the asset assigned by the external provider that funds these wallets
type: string
example: magna_token_123
lockedBalance:
description: Amount of tokens on hold to be released to this stakeholder for this allocation
type: string
example: '100.10000000'
networkId:
description: The network identifier for the blockchain network
type: string
example: ETHHOODI
unvestedBalance:
description: Amount of tokens still scheduled to be released to this stakeholder for this allocation
type: string
example: '500.25000000'
required:
- assetType
- externalTokenId
- networkId
- availableBalance
- unvestedBalance
- lockedBalance
title: VestingBalance
OffchainVestingSchedulesResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/OffchainVestingSchedule'
page:
$ref: '#/components/schemas/Page'
required:
- data
- page
title: OffchainVestingSchedulesResponse
VestingBalancesResponse:
type: object
properties:
balance:
$ref: '#/components/schemas/VestingBalance'
walletInfo:
$ref: '#/components/schemas/WalletInfo'
required:
- walletInfo
- balance
title: VestingBalancesResponse
VestingBalancesBatchResponse:
type: object
properties:
errorCount:
description: Number of allocations that failed
type: integer
example: 1
results:
description: Per-allocation vesting balance results
type: array
items:
$ref: '#/components/schemas/VestingBalancesResult'
successCount:
description: Number of allocations successfully processed
type: integer
example: 3
required:
- results
- successCount
- errorCount
title: VestingBalancesBatchResponse
VestingBalancesResult:
type: object
properties:
allocationId:
description: The allocation ID this result corresponds to
type: string
example: alloc-123
balance:
$ref: '#/components/schemas/VestingBalance'
error:
description: Error message if this allocation failed, null on success
type:
- string
- 'null'
walletInfo:
$ref: '#/components/schemas/WalletInfo'
required:
- allocationId
title: VestingBalancesResult
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
OffchainVestingHold:
type: object
properties:
endTime:
description: End time for this hold in UTC following [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) 'date-time' format. A valid format example is `2021-01-01T00:00:00Z`.
type: string
format: date-time
holdAmount:
description: Amount held by this vesting hold
type: string
holdId:
description: Unique hold identifier
type: string
holdType:
description: Type of vesting hold
type: string
startTime:
description: Start time for this hold in UTC following [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) 'date-time' format. A valid format example is `2021-01-01T00:00:00Z`.
type: string
format: date-time
required:
- holdId
- holdAmount
- holdType
- startTime
- endTime
title: OffchainVestingHold
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
WalletInfo:
type: object
properties:
address:
description: The public address of the wallet associated with this allocation
type: string
example: 0x1234567890abcdef...
walletId:
description: The ID of the wallet associated with this allocation
type: string
example: 3d293c0d64c703023692216e9b4f5280
required:
- walletId
- address
title: WalletInfo
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