Aleo Blocks API

Block and transaction queries

OpenAPI Specification

aleo-blocks-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Aleo Node REST Blocks API
  description: The public REST API exposed by Aleo network nodes (snarkOS), served through Provable's public gateway at api.explorer.provable.com. It provides read access to on-chain state — the latest block height/hash/state root, blocks and their transactions, deployed programs and their mappings, and the current validator committee — plus a broadcast endpoint for submitting signed transactions to the network. The API is unauthenticated and read-only for query endpoints. Endpoints were verified live against the mainnet gateway; the route surface follows the snarkOS node REST implementation.
  version: v1
  contact:
    name: Provable / Aleo Developer Community
    url: https://docs.aleo.org/
  license:
    name: Apache-2.0
    url: https://github.com/ProvableHQ/snarkOS/blob/staging/LICENSE.md
servers:
- url: https://api.explorer.provable.com/v1
  description: Provable public gateway (mainnet + testnet)
tags:
- name: Blocks
  description: Block and transaction queries
paths:
  /{network}/block/{height}:
    get:
      operationId: getBlock
      tags:
      - Blocks
      summary: Get block by height or hash
      description: Returns the block at the given height (integer) or block hash (ab1...).
      parameters:
      - $ref: '#/components/parameters/Network'
      - name: height
        in: path
        required: true
        description: Block height (integer) or block hash.
        schema:
          type: string
        example: '0'
      responses:
        '200':
          description: The requested block.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Block'
        '404':
          description: Block not found.
  /{network}/block/{height}/transactions:
    get:
      operationId: getBlockTransactions
      tags:
      - Blocks
      summary: Get transactions in a block
      description: Returns the list of transactions confirmed in the given block.
      parameters:
      - $ref: '#/components/parameters/Network'
      - name: height
        in: path
        required: true
        description: Block height.
        schema:
          type: string
        example: '0'
      responses:
        '200':
          description: The transactions in the block.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Transaction'
  /{network}/transaction/{id}:
    get:
      operationId: getTransaction
      tags:
      - Blocks
      summary: Get transaction by ID
      description: Returns the transaction with the given transaction ID (at1...).
      parameters:
      - $ref: '#/components/parameters/Network'
      - name: id
        in: path
        required: true
        description: Transaction ID.
        schema:
          type: string
      responses:
        '200':
          description: The requested transaction.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
        '404':
          description: Transaction not found.
  /{network}/find/blockHash/{transactionId}:
    get:
      operationId: findBlockHashByTransaction
      tags:
      - Blocks
      summary: Find the block hash containing a transaction
      description: Returns the hash of the block that confirmed the given transaction ID.
      parameters:
      - $ref: '#/components/parameters/Network'
      - name: transactionId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The block hash.
          content:
            application/json:
              schema:
                type: string
        '404':
          description: Transaction not found.
components:
  parameters:
    Network:
      name: network
      in: path
      required: true
      description: The Aleo network to query.
      schema:
        type: string
        enum:
        - mainnet
        - testnet
        default: mainnet
  schemas:
    Transaction:
      type: object
      description: An Aleo transaction (execution or deployment).
      properties:
        type:
          type: string
          enum:
          - execute
          - deploy
          - fee
        id:
          type: string
        execution:
          type: object
        deployment:
          type: object
    Block:
      type: object
      description: An Aleo block.
      properties:
        block_hash:
          type: string
        previous_hash:
          type: string
        header:
          type: object
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/Transaction'
externalDocs:
  description: Aleo developer documentation
  url: https://docs.aleo.org/