Blockfrost Cardano » Pools API

The Cardano » Pools API from Blockfrost — 12 operation(s) for cardano » pools.

Operations 12

GET /pools Blockfrost List of Stake Pools
GET /pools/extended Blockfrost List of Stake Pools with Additional Information
GET /pools/retired Blockfrost List of Retired Stake Pools
GET /pools/retiring Blockfrost List of Retiring Stake Pools
GET /pools/{pool_id} Blockfrost Specific Stake Pool
GET /pools/{pool_id}/history Blockfrost Stake Pool History
GET /pools/{pool_id}/metadata Blockfrost Stake Pool Metadata
GET /pools/{pool_id}/relays Blockfrost Stake Pool Relays
GET /pools/{pool_id}/delegators Blockfrost Stake Pool Delegators
GET /pools/{pool_id}/blocks Blockfrost Stake Pool Blocks
GET /pools/{pool_id}/updates Blockfrost Stake Pool Updates
GET /pools/{pool_id}/votes Blockfrost Stake Pool Votes

Work with this as data

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/blockfrost-cardano-pools-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 Specification

blockfrost-cardano-pools-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 0.1.87
  title: Blockfrost.io ~ API Documentation Cardano » Accounts Cardano » Pools API
  x-logo:
    url: https://staging.blockfrost.io/images/logo.svg
    altText: Blockfrost
  contact:
    name: Blockfrost Team
    url: https://blockfrost.io
    email: contact@blockfrost.io
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  termsOfService: https://blockfrost.io/terms
  description: "Blockfrost is an API as a service that allows users to interact with the Cardano blockchain, Midnight blockchain, and parts of their ecosystems.\n\n## Tokens\n\nAfter signing up on https://blockfrost.io, a `project_id` token is automatically generated for each project.\nHTTP header of your request MUST include this `project_id` in order to authenticate against Blockfrost servers.\n\n## Available networks\n\nAt the moment, you can use the following networks. Please, note that each network has its own `project_id`.\n\n<table>\n  <tbody>\n    <tr>\n      <td>\n          <b>Network</b>\n      </td>\n      <td>\n          <b>Endpoint</b>\n      </td>\n    </tr>\n    <tr>\n        <td>Cardano mainnet</td>\n        <td>\n            <code>https://cardano-mainnet.blockfrost.io/api/v0</code>\n        </td>\n    </tr>\n    <tr>\n        <td>Cardano preprod</td>\n        <td>\n            <code>https://cardano-preprod.blockfrost.io/api/v0</code>\n        </td>\n    </tr>\n    <tr>\n        <td>Cardano preview</td>\n        <td>\n            <code>https://cardano-preview.blockfrost.io/api/v0</code>\n        </td>\n    </tr>\n    <tr>\n        <td>Midnight mainnet</td>\n        <td>\n            <code>https://midnight-mainnet.blockfrost.io/api/v0</code>\n        </td>\n    </tr>\n    <tr>\n        <td>InterPlanetary File System</td>\n        <td>\n            <code>https://ipfs.blockfrost.io/api/v0</code>\n        </td>\n    </tr>\n  </tbody>\n</table>\n\n## Concepts\n\n* All endpoints return either a JSON object or an array.\n* Data is returned in *ascending* (oldest first, newest last) order, if not stated otherwise.\n  * You might use the `?order=desc` query parameter to reverse this order.\n* By default, we return 100 results at a time. You have to use `?page=2` to list through the results.\n* All time and timestamp related fields (except `server_time`) are in seconds of UNIX time.\n* All amounts are returned in Lovelaces, where 1 ADA = 1 000 000 Lovelaces.\n* Addresses, accounts and pool IDs are in Bech32 format.\n* All values are case sensitive.\n* All hex encoded values are lower case.\n* Examples are not based on real data. Any resemblance to actual events is purely coincidental.\n* We allow to upload files up to 100MB of size to IPFS. This might increase in the future.\n* Only pinned IPFS files are counted towards the IPFS quota.\n* Non-pinned IPFS files are subject to regular garbage collection and will be removed unless pinned.\n* We allow maximum of 100 queued pins per IPFS user.\n\n## Errors\n\n### HTTP Status codes\n\nThe following are HTTP status code your application might receive when reaching Blockfrost endpoints and\nit should handle all of these cases.\n\n* HTTP `400` return code is used when the request is not valid.\n* HTTP `402` return code is used when the projects exceed their daily request limit.\n* HTTP `403` return code is used when the request is not authenticated.\n* HTTP `404` return code is used when the resource doesn't exist.\n* HTTP `418` return code is used when the user has been auto-banned for flooding too much after previously receiving error code `402` or `429`.\n* HTTP `425` return code is used in Cardano networks, when the user has submitted a transaction when the mempool is already full, not accepting new txs straight away.\n* HTTP `425` return code is used in IPFS network, when the user has submitted a pin when the pin queue is already full, not accepting new pins straight away.\n* HTTP `429` return code is used when the user has sent too many requests in a given amount of time and therefore has been rate-limited.\n* HTTP `500` return code is used when our endpoints are having a problem.\n\n### Error codes\n\nAn internal error code number is used for better indication of the error in question. It is passed using the following payload.\n\n```json\n{\n  \"status_code\": 403,\n  \"error\": \"Forbidden\",\n  \"message\": \"Invalid project token.\"\n}\n```\n## Limits\n\nThere are two types of limits we are enforcing:\n\nThe first depends on your plan and is the number of request we allow per day. We defined the day from midnight to midnight of UTC time.\n\nThe second is rate limiting. We limit an end user, distinguished by IP address, to 10 requests per second. On top of that, we allow\neach user to send burst of 500 requests, which cools off at rate of 10 requests per second. In essence, a user is allowed to make another\nwhole burst after (currently) 500/10 = 50 seconds. E.g. if a user attempts to make a call 3 seconds after whole burst, 30 requests will be processed.\nWe believe this should be sufficient for most of the use cases. If it is not and you have a specific use case, please get in touch with us, and\nwe will make sure to take it into account as much as we can.\n\n## SDKs\n\nWe support a number of SDKs that will help you in developing your application on top of Blockfrost.\n\n<table>\n  <tbody>\n    <tr>\n        <td><b>Programming language</b></td>\n        <td><b>SDK</b></td>\n    </tr>\n    <tr>\n        <td>JavaScript</td>\n        <td>\n            <a href=\"https://github.com/blockfrost/blockfrost-js\">blockfrost-js</a>\n        </td>\n    </tr>\n    <tr>\n        <td>Haskell</td>\n        <td>\n            <a href=\"https://github.com/blockfrost/blockfrost-haskell\">blockfrost-haskell</a>\n        </td>\n    </tr>\n    <tr>\n        <td>Python</td>\n        <td>\n            <a href=\"https://github.com/blockfrost/blockfrost-python\">blockfrost-python</a>\n        </td>\n    </tr>\n    <tr>\n        <td>Rust</td>\n        <td>\n            <a href=\"https://github.com/blockfrost/blockfrost-rust\">blockfrost-rust</a>\n        </td>\n    </tr>\n    <tr>\n        <td>Golang</td>\n        <td>\n            <a href=\"https://github.com/blockfrost/blockfrost-go\">blockfrost-go</a>\n        </td>\n    </tr>\n    <tr>\n        <td>Ruby</td>\n        <td>\n            <a href=\"https://github.com/blockfrost/blockfrost-ruby\">blockfrost-ruby</a>\n        </td>\n    </tr>\n    <tr>\n        <td>Java</td>\n        <td>\n            <a href=\"https://github.com/blockfrost/blockfrost-java\">blockfrost-java</a>\n        </td>\n    </tr>\n    <tr>\n        <td>Scala</td>\n        <td>\n            <a href=\"https://github.com/blockfrost/blockfrost-scala\">blockfrost-scala</a>\n        </td>\n    </tr>\n    <tr>\n        <td>Swift</td>\n        <td>\n            <a href=\"https://github.com/blockfrost/blockfrost-swift\">blockfrost-swift</a>\n        </td>\n    </tr>\n    <tr>\n        <td>Kotlin</td>\n        <td>\n            <a href=\"https://github.com/blockfrost/blockfrost-kotlin\">blockfrost-kotlin</a>\n        </td>\n    </tr>\n    <tr>\n        <td>Elixir</td>\n        <td>\n            <a href=\"https://github.com/blockfrost/blockfrost-elixir\">blockfrost-elixir</a>\n        </td>\n    </tr>\n    <tr>\n        <td>.NET</td>\n        <td>\n            <a href=\"https://github.com/blockfrost/blockfrost-dotnet\">blockfrost-dotnet</a>\n        </td>\n    </tr>\n    <tr>\n        <td>Arduino</td>\n        <td>\n            <a href=\"https://github.com/blockfrost/blockfrost-arduino\">blockfrost-arduino</a>\n        </td>\n    </tr>\n    <tr>\n        <td>PHP</td>\n        <td>\n            <a href=\"https://github.com/blockfrost/blockfrost-php\">blockfrost-php</a>\n        </td>\n    </tr>\n    <tr>\n        <td>Crystal</td>\n        <td>\n            <a href=\"https://github.com/blockfrost/blockfrost-crystal\">blockfrost-crystal</a>\n        </td>\n    </tr>\n  </tbody>\n</table>\n\n\n## Midnight API\n\n\nThe Midnight Indexer API exposes a GraphQL API that enables clients to query and subscribe to blockchain data — blocks, transactions, contracts, and wallet-related events — indexed from the Midnight blockchain.\n\nAvailable networks: `mainnet`, `preprod`, `preview`\n\n| Service | URL | Protocol |\n|---------|-----|----------|\n| **Indexer HTTP API** | `https://midnight-{network}.blockfrost.io/api/v0` | HTTP POST (GraphQL) |\n| **Indexer Subscriptions API** | `wss://midnight-{network}.blockfrost.io/api/v0/ws` | WebSocket |\n| **Node RPC** | `https://rpc.midnight-{network}.blockfrost.io` | JSON-RPC |\n\n\nFor the full documentation — queries, mutations, subscriptions, authentication options, and examples — see the Midnight GraphQL API Reference:\n\n[![Explore the Midnight API →](https://img.shields.io/badge/Explore_the_Midnight_API_→-0033AD?style=for-the-badge)](./midnight/)\n"
servers:
- url: https://cardano-mainnet.blockfrost.io/api/v0
  description: Cardano Mainnet network
- url: https://cardano-preprod.blockfrost.io/api/v0
  description: Cardano Preprod network
- url: https://cardano-preview.blockfrost.io/api/v0
  description: Cardano Preview network
- url: https://localhost:3000
  description: local
security:
- project_id: []
tags:
- name: Cardano » Pools
paths:
  /pools:
    get:
      tags:
      - Cardano » Pools
      summary: Blockfrost List of Stake Pools
      description: List of registered stake pools.
      parameters:
      - in: query
        name: count
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 100
        description: The number of pools per page.
      - in: query
        name: page
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 21474836
          default: 1
        description: The page number for listing the results.
      - in: query
        name: order
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
        description: 'The ordering of items from the point of view of the blockchain,

          not the page listing itself. By default, we return oldest first, newest last.

          '
      responses:
        '200':
          description: Return the list of pools.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pool_list'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '418':
          $ref: '#/components/responses/418'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /pools/extended:
    get:
      tags:
      - Cardano » Pools
      summary: Blockfrost List of Stake Pools with Additional Information
      description: List of registered stake pools with additional information.
      parameters:
      - in: query
        name: count
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 100
        description: The number of pools per page.
      - in: query
        name: page
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 21474836
          default: 1
        description: The page number for listing the results.
      - in: query
        name: order
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
        description: 'The ordering of items from the point of view of the blockchain,

          not the page listing itself. By default, we return oldest first, newest last.

          '
      responses:
        '200':
          description: Return the list of pools.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pool_list_extended'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '418':
          $ref: '#/components/responses/418'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /pools/retired:
    get:
      tags:
      - Cardano » Pools
      summary: Blockfrost List of Retired Stake Pools
      description: List of already retired pools.
      parameters:
      - in: query
        name: count
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 100
        description: The number of pools per page.
      - in: query
        name: page
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 21474836
          default: 1
        description: The page number for listing the results.
      - in: query
        name: order
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
        description: 'The ordering of items from the point of view of the blockchain,

          not the page listing itself. By default, we return oldest first, newest last.

          '
      responses:
        '200':
          description: Return the pool information content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pool_list_retire'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '418':
          $ref: '#/components/responses/418'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /pools/retiring:
    get:
      tags:
      - Cardano » Pools
      summary: Blockfrost List of Retiring Stake Pools
      description: List of stake pools retiring in the upcoming epochs
      parameters:
      - in: query
        name: count
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 100
        description: The number of results displayed on one page.
      - in: query
        name: page
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 21474836
          default: 1
        description: The page number for listing the results.
      - in: query
        name: order
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
        description: 'The ordering of items from the point of view of the blockchain,

          not the page listing itself. By default, we return oldest first, newest last.

          '
      responses:
        '200':
          description: Return the pool information content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pool_list_retire'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '418':
          $ref: '#/components/responses/418'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /pools/{pool_id}:
    get:
      tags:
      - Cardano » Pools
      summary: Blockfrost Specific Stake Pool
      description: Pool information.
      parameters:
      - in: path
        name: pool_id
        required: true
        schema:
          type: string
        description: Bech32 or hexadecimal pool ID.
        example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy
      responses:
        '200':
          description: Return the pool information content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pool'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '418':
          $ref: '#/components/responses/418'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /pools/{pool_id}/history:
    get:
      tags:
      - Cardano » Pools
      summary: Blockfrost Stake Pool History
      description: 'History of stake pool parameters over epochs.

        '
      parameters:
      - in: path
        name: pool_id
        required: true
        schema:
          type: string
        description: Bech32 or hexadecimal pool ID.
        example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy
      - in: query
        name: count
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 100
        description: The number of results displayed on one page.
      - in: query
        name: page
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 21474836
          default: 1
        description: The page number for listing the results
      - in: query
        name: order
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
        description: 'The ordering of items from the point of view of the blockchain,

          not the page listing itself. By default, we return oldest first, newest last.

          '
      responses:
        '200':
          description: Return the pool information content.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pool_history'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '418':
          $ref: '#/components/responses/418'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /pools/{pool_id}/metadata:
    get:
      tags:
      - Cardano » Pools
      summary: Blockfrost Stake Pool Metadata
      description: 'Stake pool registration metadata.

        '
      parameters:
      - in: path
        name: pool_id
        required: true
        schema:
          type: string
        description: Bech32 or hexadecimal pool ID.
        example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy
      responses:
        '200':
          description: Return the pool metadata content.
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/pool_metadata'
                - $ref: '#/components/schemas/empty_object'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '418':
          $ref: '#/components/responses/418'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /pools/{pool_id}/relays:
    get:
      tags:
      - Cardano » Pools
      summary: Blockfrost Stake Pool Relays
      description: Relays of a stake pool.
      parameters:
      - in: path
        name: pool_id
        required: true
        schema:
          type: string
        description: Bech32 or hexadecimal pool ID.
        example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy
      responses:
        '200':
          description: Return the pool relays information content.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pool_relays'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '418':
          $ref: '#/components/responses/418'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /pools/{pool_id}/delegators:
    get:
      tags:
      - Cardano » Pools
      summary: Blockfrost Stake Pool Delegators
      description: List of current stake pools delegators.
      parameters:
      - in: path
        name: pool_id
        required: true
        schema:
          type: string
        description: Bech32 or hexadecimal pool ID.
        example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy
      - in: query
        name: count
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 100
        description: The number of results displayed on one page.
      - in: query
        name: page
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 21474836
          default: 1
        description: The page number for listing the results.
      - in: query
        name: order
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
        description: 'The ordering of items from the point of view of the blockchain,

          not the page listing itself. By default, we return oldest first, newest last.

          '
      responses:
        '200':
          description: Return the pool delegations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pool_delegators'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '418':
          $ref: '#/components/responses/418'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /pools/{pool_id}/blocks:
    get:
      tags:
      - Cardano » Pools
      summary: Blockfrost Stake Pool Blocks
      description: List of stake pools blocks.
      parameters:
      - in: path
        name: pool_id
        required: true
        schema:
          type: string
        description: Bech32 or hexadecimal pool ID.
        example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy
      - in: query
        name: count
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 100
        description: The number of results displayed on one page.
      - in: query
        name: page
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 21474836
          default: 1
        description: The page number for listing the results.
      - in: query
        name: order
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
        description: 'The ordering of items from the point of view of the blockchain,

          not the page listing itself. By default, we return oldest first, newest last.

          '
      responses:
        '200':
          description: Return the pool block list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pool_blocks'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '418':
          $ref: '#/components/responses/418'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /pools/{pool_id}/updates:
    get:
      tags:
      - Cardano » Pools
      summary: Blockfrost Stake Pool Updates
      description: List of certificate updates to the stake pool.
      parameters:
      - in: path
        name: pool_id
        required: true
        schema:
          type: string
        description: Bech32 or hexadecimal pool ID.
        example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy
      - in: query
        name: count
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 100
        description: The number of results displayed on one page.
      - in: query
        name: page
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 21474836
          default: 1
        description: The page number for listing the results.
      - in: query
        name: order
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
        description: 'The ordering of items from the point of view of the blockchain,

          not the page listing itself. By default, we return oldest first, newest last.

          '
      responses:
        '200':
          description: Return the pool updates history
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pool_updates'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '418':
          $ref: '#/components/responses/418'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /pools/{pool_id}/votes:
    get:
      tags:
      - Cardano » Pools
      summary: Blockfrost Stake Pool Votes
      description: History of stake pools votes.
      parameters:
      - in: path
        name: pool_id
        required: true
        schema:
          type: string
        description: Bech32 or hexadecimal pool ID.
        example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy
      - in: query
        name: count
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 100
        description: The number of results displayed on one page.
      - in: query
        name: page
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 21474836
          default: 1
        description: The page number for listing the results.
      - in: query
        name: order
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
          default: asc
        description: 'The ordering of items from the point of view of the blockchain,

          not the page listing itself. By default, we return oldest first, newest last.

          '
      responses:
        '200':
          description: Return the pool votes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pool_votes'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '418':
          $ref: '#/components/responses/418'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    empty_object:
      type: object
    pool_votes:
      type: array
      items:
        type: object
        properties:
          tx_hash:
            type: string
            description: Hash of the proposal transaction.
          cert_index:
            type: integer
            description: Index of the certificate within the proposal transaction.
          vote:
            type: string
            enum:
            - 'yes'
            - 'no'
            - abstain
            description: The Vote. Can be one of yes, no, abstain.
        required:
        - tx_hash
        - cert_index
        - vote
      example:
      - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5
        cert_index: 2
        vote: 'yes'
    pool_list_retire:
      type: array
      items:
        type: object
        properties:
          pool_id:
            type: string
            example: pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt
            description: Bech32 encoded pool ID
          epoch:
            type: integer
            example: 242
            description: Retirement epoch number
        required:
        - pool_id
        - epoch
      example:
      - pool_id: pool19u64770wqp6s95gkajc8udheske5e6ljmpq33awxk326zjaza0q
        epoch: 225
      - pool_id: pool1dvla4zq98hpvacv20snndupjrqhuc79zl6gjap565nku6et5zdx
        epoch: 215
      - pool_id: pool1wvccajt4eugjtf3k0ja3exjqdj7t8egsujwhcw4tzj4rzsxzw5w
        epoch: 231
    pool_updates:
      type: array
      items:
        type: object
        properties:
          tx_hash:
            type: string
            description: Transaction ID
          cert_index:
            type: integer
            description: Certificate within the transaction
          action:
            type: string
            enum:
            - registered
            - deregistered
            description: Action in the certificate
        required:
        - tx_hash
        - cert_index
        - action
      example:
      - tx_hash: 6804edf9712d2b619edb6ac86861fe93a730693183a262b165fcc1ba1bc99cad
        cert_index: 0
        action: registered
      - tx_hash: 9c190bc1ac88b2ab0c05a82d7de8b71b67a9316377e865748a89d4426c0d3005
        cert_index: 0
        action: deregistered
      - tx_hash: e14a75b0eb2625de7055f1f580d70426311b78e0d36dd695a6bdc96c7b3d80e0
        cert_index: 1
        action: registered
    pool_delegators:
      type: array
      items:
        type: object
        properties:
          address:
            type: string
            description: Bech32 encoded stake addresses
          live_stake:
            type: string
            description: Currently delegated amount
        required:
        - address
        - live_stake
      example:
      - address: stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha
        live_stake: '1137959159981411'
      - address: stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u
        live_stake: '16958865648'
      - address: stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck
        live_stake: '18605647'
    pool_relays:
      type: array
      items:
        type: object
        properties:
          ipv4:
            type:
            - string
            - 'null'
            example: 4.4.4.4
            description: IPv4 address of the relay
          ipv6:
            type:
            - string
            - 'null'
            example: https://stakenuts.com/mainnet.json
            description: IPv6 address of the relay
          dns:
            type:
            - string
            - 'null'
            example: relay1.stakenuts.com
            description: DNS name of the relay
          dns_srv:
            type:
            - string
            - 'null'
            example: _relays._tcp.relays.stakenuts.com
            description: DNS SRV entry of the relay
          port:
            type: integer
            example: 3001
            des

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/blockfrost/refs/heads/main/openapi/blockfrost-cardano-pools-api-openapi.yml