Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/avalanche-primary-network-utxos-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
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:
title: Data Primary Network UTXOs API
description: The Data API provides web3 application developers with multi-chain data related to Avalanche's primary network, Avalanche subnets, and Ethereum. With Data API, you can easily build products that leverage real-time and historical transaction and transfer history, native and token balances, and various types of token metadata. The API is in Beta and may be subject to change.</br></br>If you have feedback or feature requests for the API, please submit them <a href="https://portal.productboard.com/dndv9ahlkdfye4opdm8ksafi/tabs/4-glacier-api">here</a>. Bug reports can be submitted <a href="https://docs.google.com/forms/d/e/1FAIpQLSeJQrcp7QoNiqozMDKrVJGX5wpU827d3cVTgF8qa7t_J1Pb-g/viewform">here</a>, and any potential security issues can be reported <a href="https://immunefi.com/bounty/avalabs">here</a>.
version: 1.0.0
contact: {}
servers:
- url: https://data-api.avax.network
security:
- apiKey: []
- {}
tags:
- name: Primary Network UTXOs
description: Find information about utxos on Avalanche's Primary Network Chains - the P-Chain, the X-Chain, and the C-Chain.
paths:
/v1/networks/{network}/blockchains/{blockchainId}/utxos:
get:
operationId: getUtxosByAddresses
x-speakeasy-group: data.primaryNetwork.utxos
x-speakeasy-name-override: listByAddresses
x-speakeasy-pagination:
type: cursor
inputs:
- name: pageToken
in: parameters
type: cursor
outputs:
nextCursor: $.nextPageToken
x-execution-weight: xl
summary: List UTXOs
description: Lists UTXOs on one of the Primary Network chains for the supplied addresses.
parameters:
- name: addresses
required: false
in: query
description: A comma separated list of X-Chain or P-Chain wallet addresses, starting with "avax"/"fuji", "P-avax"/"P-fuji" or "X-avax"/"X-fuji".
example: avax1h2ccj9f5ay5acl6tyn9mwmw32p8wref8vl8ctg
schema:
type: string
- name: pageToken
required: false
in: query
description: A page token, received from a previous list call. Provide this to retrieve the subsequent page.
schema:
type: string
- name: pageSize
required: false
in: query
description: The maximum number of items to return. The minimum page size is 1. The maximum pageSize is 100.
schema:
type: integer
default: 10
minimum: 1
maximum: 100
example: '10'
- name: blockchainId
required: true
in: path
description: A primary network blockchain id or alias.
example: p-chain
schema:
$ref: '#/components/schemas/BlockchainId'
- name: network
required: true
in: path
description: Either mainnet or testnet/fuji.
example: mainnet
schema:
$ref: '#/components/schemas/Network'
- name: assetId
required: false
in: query
description: Asset ID for any asset (only applicable X-Chain)
schema:
type: string
- name: minUtxoAmount
required: false
in: query
description: The minimum UTXO amount in nAVAX (inclusive), used to filter the set of UTXOs being returned. Default is 0.
example: 1000
schema:
type: number
minimum: 0
- name: includeSpent
required: false
in: query
description: Boolean filter to include spent UTXOs.
schema:
type: boolean
- name: sortBy
required: false
in: query
description: Which property to sort by, in conjunction with sortOrder.
schema:
$ref: '#/components/schemas/UtxosSortByOption'
- name: sortOrder
required: false
in: query
example: asc
description: The order by which to sort results. Use "asc" for ascending order, "desc" for descending order. Sorted by timestamp or the `sortBy` query parameter, if provided.
schema:
$ref: '#/components/schemas/SortOrder'
responses:
'200':
description: Successful response
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ListPChainUtxosResponse'
- $ref: '#/components/schemas/ListUtxosResponse'
'400':
description: "Bad requests generally mean the client has passed invalid \n or malformed parameters. Error messages in the response could help in \n evaluating the error."
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequest'
'401':
description: "When a client attempts to access resources that require \n authorization credentials but the client lacks proper authentication \n in the request, the server responds with 401."
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: "When a client attempts to access resources with valid\n credentials but doesn't have the privilege to perform that action, \n the server responds with 403."
content:
application/json:
schema:
$ref: '#/components/schemas/Forbidden'
'404':
description: "The error is mostly returned when the client requests\n with either mistyped URL, or the passed resource is moved or deleted, \n or the resource doesn't exist."
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
'429':
description: "This error is returned when the client has sent too many,\n and has hit the rate limit."
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: "The error is a generic server side error that is \n returned for any uncaught and unexpected issues on the server side. \n This should be very rare, and you may reach out to us if the problem \n persists for a longer duration."
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
'502':
description: "This is an internal error indicating invalid response \n received by the client-facing proxy or gateway from the upstream server."
content:
application/json:
schema:
$ref: '#/components/schemas/BadGateway'
'503':
description: "The error is returned for certain routes on a particular\n Subnet. This indicates an internal problem with our Subnet node, and may \n not necessarily mean the Subnet is down or affected."
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUnavailable'
tags:
- Primary Network UTXOs
post:
operationId: getUtxosByAddressesV2
x-speakeasy-group: data.primaryNetwork.utxos
x-speakeasy-name-override: listByAddressesV2
x-speakeasy-pagination:
type: cursor
inputs:
- name: pageToken
in: parameters
type: cursor
outputs:
nextCursor: $.nextPageToken
x-execution-weight: xl
summary: List UTXOs v2 - Supports querying for more addresses
description: Lists UTXOs on one of the Primary Network chains for the supplied addresses. This v2 route supports increased page size and address limit.
parameters:
- name: pageToken
required: false
in: query
description: A page token, received from a previous list call. Provide this to retrieve the subsequent page.
schema:
type: string
- name: pageSize
required: false
in: query
description: The maximum number of items to return. The minimum page size is 1. The maximum pageSize is 1024.
schema:
type: integer
default: 10
minimum: 1
maximum: 1024
example: '10'
- name: blockchainId
required: true
in: path
description: A primary network blockchain id or alias.
example: p-chain
schema:
$ref: '#/components/schemas/BlockchainId'
- name: network
required: true
in: path
description: Either mainnet or testnet/fuji.
example: mainnet
schema:
$ref: '#/components/schemas/Network'
- name: assetId
required: false
in: query
description: Asset ID for any asset (only applicable X-Chain)
schema:
type: string
- name: minUtxoAmount
required: false
in: query
description: The minimum UTXO amount in nAVAX (inclusive), used to filter the set of UTXOs being returned. Default is 0.
example: 1000
schema:
type: number
minimum: 0
- name: includeSpent
required: false
in: query
description: Boolean filter to include spent UTXOs.
schema:
type: boolean
- name: sortBy
required: false
in: query
description: Which property to sort by, in conjunction with sortOrder.
schema:
$ref: '#/components/schemas/UtxosSortByOption'
- name: sortOrder
required: false
in: query
example: asc
description: The order by which to sort results. Use "asc" for ascending order, "desc" for descending order. Sorted by timestamp or the `sortBy` query parameter, if provided.
schema:
$ref: '#/components/schemas/SortOrder'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PrimaryNetworkAddressesBodyDto'
responses:
'200':
description: Successful response
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ListPChainUtxosResponse'
- $ref: '#/components/schemas/ListUtxosResponse'
'400':
description: "Bad requests generally mean the client has passed invalid \n or malformed parameters. Error messages in the response could help in \n evaluating the error."
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequest'
'401':
description: "When a client attempts to access resources that require \n authorization credentials but the client lacks proper authentication \n in the request, the server responds with 401."
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: "When a client attempts to access resources with valid\n credentials but doesn't have the privilege to perform that action, \n the server responds with 403."
content:
application/json:
schema:
$ref: '#/components/schemas/Forbidden'
'404':
description: "The error is mostly returned when the client requests\n with either mistyped URL, or the passed resource is moved or deleted, \n or the resource doesn't exist."
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
'429':
description: "This error is returned when the client has sent too many,\n and has hit the rate limit."
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: "The error is a generic server side error that is \n returned for any uncaught and unexpected issues on the server side. \n This should be very rare, and you may reach out to us if the problem \n persists for a longer duration."
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
'502':
description: "This is an internal error indicating invalid response \n received by the client-facing proxy or gateway from the upstream server."
content:
application/json:
schema:
$ref: '#/components/schemas/BadGateway'
'503':
description: "The error is returned for certain routes on a particular\n Subnet. This indicates an internal problem with our Subnet node, and may \n not necessarily mean the Subnet is down or affected."
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUnavailable'
tags:
- Primary Network UTXOs
/v1/networks/{network}/blockchains/{blockchainId}/lastActivityTimestampByAddresses:
get:
operationId: getLastActivityTimestampByAddresses
x-speakeasy-group: data.primaryNetwork.utxos
x-speakeasy-name-override: getLastActivityTimestampByAddresses
x-execution-weight: xl
summary: Get last activity timestamp by addresses
description: Gets the last activity timestamp for the supplied addresses on one of the Primary Network chains.
parameters:
- name: addresses
required: false
in: query
description: A comma separated list of X-Chain or P-Chain wallet addresses, starting with "avax"/"fuji", "P-avax"/"P-fuji" or "X-avax"/"X-fuji".
example: avax1h2ccj9f5ay5acl6tyn9mwmw32p8wref8vl8ctg
schema:
type: string
- name: blockchainId
required: true
in: path
description: A primary network blockchain id or alias.
example: p-chain
schema:
$ref: '#/components/schemas/BlockchainId'
- name: network
required: true
in: path
description: Either mainnet or testnet/fuji.
example: mainnet
schema:
$ref: '#/components/schemas/Network'
responses:
'200':
description: Successful response
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/LastActivityTimestamp'
'400':
description: "Bad requests generally mean the client has passed invalid \n or malformed parameters. Error messages in the response could help in \n evaluating the error."
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequest'
'401':
description: "When a client attempts to access resources that require \n authorization credentials but the client lacks proper authentication \n in the request, the server responds with 401."
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: "When a client attempts to access resources with valid\n credentials but doesn't have the privilege to perform that action, \n the server responds with 403."
content:
application/json:
schema:
$ref: '#/components/schemas/Forbidden'
'404':
description: "The error is mostly returned when the client requests\n with either mistyped URL, or the passed resource is moved or deleted, \n or the resource doesn't exist."
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
'429':
description: "This error is returned when the client has sent too many,\n and has hit the rate limit."
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: "The error is a generic server side error that is \n returned for any uncaught and unexpected issues on the server side. \n This should be very rare, and you may reach out to us if the problem \n persists for a longer duration."
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
'502':
description: "This is an internal error indicating invalid response \n received by the client-facing proxy or gateway from the upstream server."
content:
application/json:
schema:
$ref: '#/components/schemas/BadGateway'
'503':
description: "The error is returned for certain routes on a particular\n Subnet. This indicates an internal problem with our Subnet node, and may \n not necessarily mean the Subnet is down or affected."
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUnavailable'
tags:
- Primary Network UTXOs
post:
operationId: getLastActivityTimestampByAddressesV2
x-speakeasy-group: data.primaryNetwork.utxos
x-speakeasy-name-override: getLastActivityTimestampByAddressesV2
x-execution-weight: xl
summary: Get last activity timestamp by addresses v2
description: Gets the last activity timestamp for the supplied addresses on one of the Primary Network chains. V2 route supports querying for more addresses.
parameters:
- name: blockchainId
required: true
in: path
description: A primary network blockchain id or alias.
example: p-chain
schema:
$ref: '#/components/schemas/BlockchainId'
- name: network
required: true
in: path
description: Either mainnet or testnet/fuji.
example: mainnet
schema:
$ref: '#/components/schemas/Network'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PrimaryNetworkAddressesBodyDto'
responses:
'200':
description: Successful response
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/LastActivityTimestamp'
'400':
description: "Bad requests generally mean the client has passed invalid \n or malformed parameters. Error messages in the response could help in \n evaluating the error."
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequest'
'401':
description: "When a client attempts to access resources that require \n authorization credentials but the client lacks proper authentication \n in the request, the server responds with 401."
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: "When a client attempts to access resources with valid\n credentials but doesn't have the privilege to perform that action, \n the server responds with 403."
content:
application/json:
schema:
$ref: '#/components/schemas/Forbidden'
'404':
description: "The error is mostly returned when the client requests\n with either mistyped URL, or the passed resource is moved or deleted, \n or the resource doesn't exist."
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
'429':
description: "This error is returned when the client has sent too many,\n and has hit the rate limit."
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: "The error is a generic server side error that is \n returned for any uncaught and unexpected issues on the server side. \n This should be very rare, and you may reach out to us if the problem \n persists for a longer duration."
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
'502':
description: "This is an internal error indicating invalid response \n received by the client-facing proxy or gateway from the upstream server."
content:
application/json:
schema:
$ref: '#/components/schemas/BadGateway'
'503':
description: "The error is returned for certain routes on a particular\n Subnet. This indicates an internal problem with our Subnet node, and may \n not necessarily mean the Subnet is down or affected."
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUnavailable'
tags:
- Primary Network UTXOs
components:
schemas:
BadGateway:
type: object
properties:
message:
description: The error message describing the reason for the exception
oneOf:
- type: string
- type: array
items:
type: string
statusCode:
type: number
description: The HTTP status code of the response
examples:
- 502
error:
type: string
description: The type of error
examples:
- Bad Gateway
required:
- message
- statusCode
- error
UtxosSortByOption:
type: string
enum:
- timestamp
- amount
PrimaryNetworkChainName:
type: string
enum:
- p-chain
- x-chain
- c-chain
UtxoCredential:
type: object
properties:
signature:
type: string
description: Signature provided to consume the output.
examples:
- bWWoZUu0Z3STjuk/+2az7M4vP0oqc9NtiA7kOdqINCIE/2+5va5R1KNCWwEX5jE1xVHLvAxU2LHTN5gK8m84HwA
publicKey:
type: string
description: Public key associated with the signature.
examples:
- AdMQOtubgBFFJu++0faHPIIA6KmdZ2ERErMRGzyy6juI
ListPChainUtxosResponse:
type: object
properties:
nextPageToken:
type: string
description: A token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted or empty, there are no subsequent pages.
utxos:
type: array
items:
$ref: '#/components/schemas/PChainUtxo'
chainInfo:
$ref: '#/components/schemas/PrimaryNetworkChainInfo'
required:
- utxos
- chainInfo
PrimaryNetworkAssetType:
type: string
description: Type of asset like SECP256K1 or NFT.
enum:
- secp256k1
- nft
Unauthorized:
type: object
properties:
message:
description: The error message describing the reason for the exception
oneOf:
- type: string
- type: array
items:
type: string
statusCode:
type: number
description: The HTTP status code of the response
examples:
- 401
error:
type: string
description: The type of error
examples:
- Unauthorized
required:
- message
- statusCode
- error
ServiceUnavailable:
type: object
properties:
message:
description: The error message describing the reason for the exception
oneOf:
- type: string
- type: array
items:
type: string
statusCode:
type: number
description: The HTTP status code of the response
examples:
- 503
error:
type: string
description: The type of error
examples:
- Service Unavailable
required:
- message
- statusCode
- error
NotFound:
type: object
properties:
message:
description: The error message describing the reason for the exception
oneOf:
- type: string
- type: array
items:
type: string
statusCode:
type: number
description: The HTTP status code of the response
examples:
- 404
error:
type: string
description: The type of error
examples:
- Not Found
required:
- message
- statusCode
- error
TooManyRequests:
type: object
properties:
message:
description: The error message describing the reason for the exception
oneOf:
- type: string
- type: array
items:
type: string
statusCode:
type: number
description: The HTTP status code of the response
examples:
- 429
error:
type: string
description: The type of error
examples:
- Too Many Requests
required:
- message
- statusCode
- error
LastActivityTimestamp:
type: object
properties:
timestamp:
type: number
description: Unix timestamp in seconds at which the last activity occurred.
blockNumber:
type: string
description: Block height at which the last activity occurred.
txHash:
type: string
description: Transaction hash of the transaction that created or consumed the address' UTXOs.
utxoId:
type: string
description: UTXO ID of the UTXO that was created or consumed.
isConsumed:
type: boolean
description: Whether the last activity was a consumption of an existing UTXO.
chainName:
$ref: '#/components/schemas/PrimaryNetworkChainName'
network:
$ref: '#/components/schemas/PrimaryNetworkType'
required:
- timestamp
- blockNumber
- txHash
- utxoId
- isConsumed
- chainName
- network
ListUtxosResponse:
type: object
properties:
nextPageToken:
type: string
description: A token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted or empty, there are no subsequent pages.
utxos:
type: array
items:
$ref: '#/components/schemas/Utxo'
chainInfo:
$ref: '#/components/schemas/PrimaryNetworkChainInfo'
required:
- utxos
- chainInfo
SortOrder:
type: string
enum:
- asc
- desc
BadRequest:
type: object
properties:
message:
description: The error message describing the reason for the exception
oneOf:
- type: string
- type: array
items:
type: string
statusCode:
type: number
description: The HTTP status code of the response
examples:
- 400
error:
type: string
description: The type of error
examples:
- Bad Request
required:
- message
- statusCode
- error
Utxo:
type: object
properties:
addresses:
description: Addresses that are eligible to sign the consumption of this output.
examples:
- - avax1qm2a25eytsrj235hxg6jc0mwk99tss64eqevsw
type: array
items:
type: string
asset:
$ref: '#/components/schemas/AssetAmount'
consumedOnChainId:
type: string
description: Blockchain ID on which this output is consumed on.
examples:
- 2oYMBNV4eNHyqk2fjjV5nVQLDbtmNJzq5s3qs3Lo6ftnC6FByM
consumingTxHash:
type: string
description: Transaction ID that consumed this output.
examples:
- 3j9JpF1aGuQtLLbo3YkvvKkWrCZViXZjdeJQWUSEY5hcqUn2c
createdOnChainId:
type: string
description: Blockchain ID on which this output is created on.
examples:
- 2oYMBNV4eNHyqk2fjjV5nVQLDbtmNJzq5s3qs3Lo6ftnC6FByM
utxoId:
type: string
description: UTXO ID for this output.
examples:
- 68vLva9kfKUsX88ZPM8jdbf8qHUZRoZSFH6NdpAVTspkfrXDC
utxoBytes:
type: string
description: The bytes of the UTXO
consumingTxTimestamp:
type: number
description: Unix timestamp in seconds at which this output was consumed.
examples:
- 1599696000
creationTxHash:
type: string
description: Transaction ID that created this output.
examples:
- FvwEAhmxKfeiG8SnEvq42hc6whRyY3EFYAvebMqDNDGCgxN5Z
credentials:
description: Credentials that signed the transaction to consume this utxo
type: array
items:
$ref: '#/components/schemas/UtxoCredential'
groupId:
type: number
description: Index representing the minting set for the NFT mint output.
locktime:
type: number
description: Locktime in seconds after which this output can be consumed.
examples:
- 0
outputIndex:
type: string
description: Postion of this output in a list of lexiographically sorted outputs of a transaction.
examples:
- '38'
payload:
type: string
description: Hex encoded data for NFT assets.
threshold:
type: number
description: Minimum number of signatures required to consume this output.
examples:
- 1
timestamp:
type: number
description: Unix timestamp in seconds at which this outptut was created.
examples:
- 1599696000
utxoType:
type: string
description: Type of output.
examples:
- mint
required:
- addresses
- asset
- consumedOnChainId
- createdOnChainId
- utxoId
- creationTxHash
- locktime
- outputIndex
- threshold
- timestamp
- utxoType
Forbidden:
type: object
properties:
message:
description: The error message describing the reason for the exception
oneOf:
- type: string
- type: array
items:
type: string
statusCode:
type: number
description: The HTTP status code of the response
examples:
- 403
error:
type: string
description: The type of error
examples:
- Forbidden
required:
- message
- statusCode
- error
Network:
type: string
enum:
- mainnet
- fuji
- testnet
PrimaryNetworkType:
type: string
enum:
- mainnet
- fuji
PrimaryNetworkAddressesBodyDto:
type: object
properties:
addresses:
type: string
description: Comma-separated list of primary network addresses
example: P-avax1abc123,X-avax1def456,C-avax1ghi789
required:
- addresses
AssetAmount:
type: object
properties:
assetId:
type: string
description: Unique ID for an asset.
examples:
- th5aLdWLi32yS9ED6uLGoMMubqHjzMsXhKWwzP6yZTYQKYzof
name:
type: string
description: Name of this asset.
examples:
- Avalanche
symbol:
type: string
description: Symbol for this asset (max 4 characters).
examples:
- AVAX
denomination:
type: number
description: Denomination of this asset to represent fungibility.
examples:
- 9
type:
examples:
- secp256k1
$ref: '#/components/schemas/PrimaryNetworkAssetType'
amount:
type: string
# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/avalanche/refs/heads/main/openapi/avalanche-primary-network-utxos-api-openapi.yml