OpenAPI Specification
openapi: 3.0.3
info:
title: Aleo Node REST Blocks Programs 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: Programs
description: Deployed program and mapping queries
paths:
/{network}/program/{programId}:
get:
operationId: getProgram
tags:
- Programs
summary: Get program source
description: Returns the Aleo instructions (bytecode) for the deployed program with the given program ID, e.g. credits.aleo.
parameters:
- $ref: '#/components/parameters/Network'
- name: programId
in: path
required: true
description: Program ID, e.g. credits.aleo.
schema:
type: string
example: credits.aleo
responses:
'200':
description: The program source.
content:
application/json:
schema:
type: string
'404':
description: Program not found.
/{network}/program/{programId}/mappings:
get:
operationId: getProgramMappings
tags:
- Programs
summary: List a program's mapping names
description: Returns the names of the mappings declared by the program.
parameters:
- $ref: '#/components/parameters/Network'
- name: programId
in: path
required: true
schema:
type: string
example: credits.aleo
responses:
'200':
description: The mapping names.
content:
application/json:
schema:
type: array
items:
type: string
/{network}/program/{programId}/mapping/{mappingName}/{key}:
get:
operationId: getMappingValue
tags:
- Programs
summary: Get a mapping value
description: Returns the value stored under the given key in the named mapping of the program (e.g. the account balance in credits.aleo/account).
parameters:
- $ref: '#/components/parameters/Network'
- name: programId
in: path
required: true
schema:
type: string
example: credits.aleo
- name: mappingName
in: path
required: true
schema:
type: string
example: account
- name: key
in: path
required: true
description: The mapping key (e.g. an Aleo address).
schema:
type: string
responses:
'200':
description: The mapping value (null if unset).
content:
application/json:
schema:
type: string
nullable: true
components:
parameters:
Network:
name: network
in: path
required: true
description: The Aleo network to query.
schema:
type: string
enum:
- mainnet
- testnet
default: mainnet
externalDocs:
description: Aleo developer documentation
url: https://docs.aleo.org/