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
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.
_10rpc GetAccountAtBlockHeight(GetAccountAtBlockHeightRequest) returns (AccountResponse)
Request
_10message GetAccountAtBlockHeightRequest {_10 bytes address_10 uint64 block_height_10}
Response
_10message 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.
_10rpc ExecuteScriptAtBlockID (ExecuteScriptAtBlockIDRequest) returns (ExecuteScriptResponse)
Request
_10message ExecuteScriptAtBlockIDRequest {_10 bytes block_id_10 bytes script_10}
Response
_10message 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.
_10rpc ExecuteScriptAtBlockHeight (ExecuteScriptAtBlockHeightRequest) returns (ExecuteScriptResponse)
Request
_10message ExecuteScriptAtBlockHeightRequest {_10 uint64 block_height_10 bytes script_10}
Response
_10message ExecuteScriptResponse {_10 bytes value_10}