Skip to main content

Flow Archive Node Access API Specification

The Archive Access API is implemented as a gRPC service.

A language-agnostic specification for this API is defined using Protocol Buffers, which can be used to generate client libraries in a variety of programming languages.

Flow archive node access endpoints

The Archive Nodes hosted by DapperLabs are accessible at:

Current Mainnet

archive.mainnet.nodes.onflow.org:9000

Sandboxnet

archive.sandboxnet.nodes.onflow.org:9000

Testnet

archive.devnet.nodes.onflow.org:9000

Canarynet

archive.canary.nodes.onflow.org:9000

Rate limits for Dapper Labs archive nodes

Archive nodes operated by Dapper Labs are rate limited.


Accounts

GetAccountAtBlockHeight

GetAccountAtBlockHeight gets an account by address at the given block height.

The archive node queries an execution node for the account details, which are stored as part of the execution state.


_10
rpc GetAccountAtBlockHeight(GetAccountAtBlockHeightRequest) returns (AccountResponse)

Request


_10
message GetAccountAtBlockHeightRequest {
_10
bytes address
_10
uint64 block_height
_10
}

Response


_10
message AccountResponse {
_10
Account account
_10
}

Scripts

ExecuteScriptAtBlockID

ExecuteScriptAtBlockID executes a ready-only Cadence script against the execution state at the block with the given ID.

This method can be used to read account state from the blockchain. The script is executed on an execution node and the return value is encoded using the JSON-Cadence data interchange format.


_10
rpc ExecuteScriptAtBlockID (ExecuteScriptAtBlockIDRequest) returns (ExecuteScriptResponse)

Request


_10
message ExecuteScriptAtBlockIDRequest {
_10
bytes block_id
_10
bytes script
_10
}

Response


_10
message ExecuteScriptResponse {
_10
bytes value
_10
}

ExecuteScriptAtBlockHeight

ExecuteScriptAtBlockHeight executes a ready-only Cadence script against the execution state at the given block height.

This method can be used to read account state from the blockchain. The script is executed on an execution node and the return value is encoded using the JSON-Cadence data interchange format.


_10
rpc ExecuteScriptAtBlockHeight (ExecuteScriptAtBlockHeightRequest) returns (ExecuteScriptResponse)

Request


_10
message ExecuteScriptAtBlockHeightRequest {
_10
uint64 block_height
_10
bytes script
_10
}

Response


_10
message ExecuteScriptResponse {
_10
bytes value
_10
}