Ava Labs Staking Information API
Get staking information for a given chain.
Get staking information for a given chain.
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/ava-labs-staking-information-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Metrics Staking Information API
description: The Metrics API provides metrics and analytics of on-chain activity. 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://hackenproof.com/avalanche">here</a>.
version: 1.0.0
contact: {}
servers:
- url: https://metrics.avax.network
tags:
- name: Staking Information
description: Get staking information for a given chain.
paths:
/v1/validators/network/{network}/subnetId/{subnetID}/count:
get:
operationId: getValidatorCount
x-execution-weight: small
x-speakeasy-group: metrics.stakingInformation
x-speakeasy-pagination:
type: cursor
inputs:
- name: startKey
in: parameters
type: cursor
outputs:
nextCursor: $.nextPageStartKey
x-speakeasy-ignore: true
description: Get the validation count for a subnet.
deprecated: true
parameters:
- name: from
required: false
in: query
description: From date in UNIX Timestamp.
example: 1654819200
schema:
type: string
- name: to
required: false
in: query
description: To date in UNIX Timestamp.
example: 1655424000
schema:
type: string
- name: startKey
required: false
in: query
description: For paginated responses. Value will be provided in the [nextPageStartKey] field in the response if the query has more than one page.
schema:
type: string
- name: network
required: true
in: path
description: Network type
example: mainnet
schema:
$ref: '#/components/schemas/LegacyNetworks'
- name: subnetID
required: true
in: path
description: alpha-numeric subnetID
schema:
type: string
- name: sort
required: false
in: query
description: Sort order for the results
schema:
enum:
- asc
- desc
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/StakingInformationResponse'
'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:
- Staking Information
/v1/validators/network/{network}/subnetId/{subnetID}/weight:
get:
operationId: getValidatorWeight
x-execution-weight: small
x-speakeasy-group: metrics.stakingInformation
x-speakeasy-pagination:
type: cursor
inputs:
- name: startKey
in: parameters
type: cursor
outputs:
nextCursor: $.nextPageStartKey
x-speakeasy-ignore: true
description: Get the validation weight for a subnet.
deprecated: true
parameters:
- name: from
required: false
in: query
description: From date in UNIX Timestamp.
example: 1654819200
schema:
type: string
- name: to
required: false
in: query
description: To date in UNIX Timestamp.
example: 1655424000
schema:
type: string
- name: startKey
required: false
in: query
description: For paginated responses. Value will be provided in the [nextPageStartKey] field in the response if the query has more than one page.
schema:
type: string
- name: network
required: true
in: path
description: Network type
example: mainnet
schema:
$ref: '#/components/schemas/LegacyNetworks'
- name: subnetID
required: true
in: path
description: alpha-numeric subnetID
schema:
type: string
- name: sort
required: false
in: query
description: Sort order for the results
schema:
enum:
- asc
- desc
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/StakingInformationResponse'
'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:
- Staking Information
/v1/delegators/network/{network}/subnetId/{subnetID}/count:
get:
operationId: getDelegatorCount
x-execution-weight: small
x-speakeasy-group: metrics.stakingInformation
x-speakeasy-pagination:
type: cursor
inputs:
- name: startKey
in: parameters
type: cursor
outputs:
nextCursor: $.nextPageStartKey
x-speakeasy-ignore: true
description: Get the delegation count for a subnet.
deprecated: true
parameters:
- name: from
required: false
in: query
description: From date in UNIX Timestamp.
example: 1654819200
schema:
type: string
- name: to
required: false
in: query
description: To date in UNIX Timestamp.
example: 1655424000
schema:
type: string
- name: startKey
required: false
in: query
description: For paginated responses. Value will be provided in the [nextPageStartKey] field in the response if the query has more than one page.
schema:
type: string
- name: network
required: true
in: path
description: Network type
example: mainnet
schema:
$ref: '#/components/schemas/LegacyNetworks'
- name: subnetID
required: true
in: path
description: The subnet ID for Avalanche primary network.
example: 11111111111111111111111111111111LpoYY
schema:
type: string
- name: sort
required: false
in: query
description: Sort order for the results
schema:
enum:
- asc
- desc
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/StakingInformationResponse'
'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:
- Staking Information
/v1/delegators/network/{network}/subnetId/{subnetID}/weight:
get:
operationId: getDelegatorWeight
x-execution-weight: small
x-speakeasy-group: metrics.stakingInformation
x-speakeasy-pagination:
type: cursor
inputs:
- name: startKey
in: parameters
type: cursor
outputs:
nextCursor: $.nextPageStartKey
x-speakeasy-ignore: true
description: Get the delegation for a subnet.
deprecated: true
parameters:
- name: from
required: false
in: query
description: From date in UNIX Timestamp.
example: 1654819200
schema:
type: string
- name: to
required: false
in: query
description: To date in UNIX Timestamp.
example: 1655424000
schema:
type: string
- name: startKey
required: false
in: query
description: For paginated responses. Value will be provided in the [nextPageStartKey] field in the response if the query has more than one page.
schema:
type: string
- name: network
required: true
in: path
description: Network type
example: mainnet
schema:
$ref: '#/components/schemas/LegacyNetworks'
- name: subnetID
required: true
in: path
description: The subnet ID for Avalanche primary network.
example: 11111111111111111111111111111111LpoYY
schema:
type: string
- name: sort
required: false
in: query
description: Sort order for the results
schema:
enum:
- asc
- desc
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/StakingInformationResponse'
'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:
- Staking Information
/v1/validators/network/{network}/subnetId/{subnetID}:
get:
operationId: getSubnetValidationPeriod
x-execution-weight: small
x-speakeasy-group: metrics.stakingInformation
x-speakeasy-pagination:
type: cursor
inputs:
- name: startKey
in: parameters
type: cursor
outputs:
nextCursor: $.nextPageStartKey
x-speakeasy-ignore: true
description: Get the validation period for a subnet.
deprecated: true
parameters:
- name: from
required: false
in: query
description: From date in UNIX Timestamp.
example: 1654819200
schema:
type: string
- name: to
required: false
in: query
description: To date in UNIX Timestamp.
example: 1655424000
schema:
type: string
- name: startKey
required: false
in: query
description: For paginated responses. Value will be provided in the [nextPageStartKey] field in the response if the query has more than one page.
schema:
type: string
- name: network
required: true
in: path
description: Network type
example: mainnet
schema:
$ref: '#/components/schemas/LegacyNetworks'
- name: subnetID
required: true
in: path
description: alpha-numeric subnetID
schema:
type: string
- name: sort
required: false
in: query
description: Sort order for the results
schema:
enum:
- asc
- desc
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/ValidatorInformationResponse'
'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:
- Staking Information
/v1/validators/network/{network}/node/{nodeID}:
get:
operationId: getNodeValidationPeriod
x-execution-weight: small
x-speakeasy-group: metrics.stakingInformation
x-speakeasy-pagination:
type: cursor
inputs:
- name: startKey
in: parameters
type: cursor
outputs:
nextCursor: $.nextPageStartKey
x-speakeasy-ignore: true
description: Get the validation period for a node.
deprecated: true
parameters:
- name: from
required: false
in: query
description: From date in UNIX Timestamp.
example: 1654819200
schema:
type: string
- name: to
required: false
in: query
description: To date in UNIX Timestamp.
example: 1655424000
schema:
type: string
- name: startKey
required: false
in: query
description: For paginated responses. Value will be provided in the [nextPageStartKey] field in the response if the query has more than one page.
schema:
type: string
- name: network
required: true
in: path
description: Network type
example: mainnet
schema:
$ref: '#/components/schemas/LegacyNetworks'
- name: nodeID
required: true
in: path
description: alpha-numeric nodeID
schema:
type: string
- name: sort
required: false
in: query
description: Sort order for the results
schema:
enum:
- asc
- desc
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/ValidatorInformationResponse'
'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:
- Staking Information
/v1/validators/count/{subnetID}:
get:
operationId: getValidatorCountBySubnetId
x-execution-weight: small
x-speakeasy-group: metrics.stakingInformation
x-speakeasy-pagination:
type: cursor
inputs:
- name: startKey
in: parameters
type: cursor
outputs:
nextCursor: $.nextPageStartKey
x-speakeasy-ignore: true
description: Get the validation count for a subnet.
deprecated: true
parameters:
- name: from
required: false
in: query
description: From date in UNIX Timestamp.
example: 1654819200
schema:
type: string
- name: to
required: false
in: query
description: To date in UNIX Timestamp.
example: 1655424000
schema:
type: string
- name: startKey
required: false
in: query
description: For paginated responses. Value will be provided in the [nextPageStartKey] field in the response if the query has more than one page.
schema:
type: string
- name: subnetID
required: true
in: path
description: alpha-numeric subnetID
schema:
type: string
- name: sort
required: false
in: query
description: Sort order for the results
schema:
enum:
- asc
- desc
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/StakingInformationResponse'
'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
# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ava-labs/refs/heads/main/openapi/ava-labs-staking-information-api-openapi.yml