OpenAPI Specification
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/