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/