Skip to main content

starknet_getStorageProof RPC Method

Get merkle paths in one of the Starknet state tries, either the global state, the classes trie, or an individual contract.

Updated on
Jul 30, 2026

Parameters

block_id
string
REQUIRED

The hash of the requested block, the block number (height) of the requested block, or a block tag (latest or l1_accepted). The pre_confirmed tag is not supported

class_hashes
array

A list of the class hashes for which we want to prove membership in the classes trie

contract_addresses
array

A list of contracts for which we want to prove membership in the global state trie

contracts_storage_keys
array

A list of (contract_address, storage_keys) pairs for which we want to prove membership in the contracts storage tries

Returns

result
object

The requested storage proofs. Note that if a requested leaf has the default value, the path to it may end in an edge node whose path is not a prefix of the requested leaf, thus effectively proving non-membership

classes_proof
array

The nodes in the union of the paths from the classes tree root to the requested leaves. Empty if class_hashes was not provided. Each entry has the following fields

node_hash
string

The hash of the node

node
object

A binary node, with the fields 'left' and 'right' holding the hashes of its child nodes, or an edge node, with the fields 'child' (the hash of the child node), 'path' and 'length' describing the path it represents

contracts_proof
object

The proof of membership in the global state trie

nodes
array

The nodes in the union of the paths from the contracts tree root to the requested leaves, each with a 'node_hash' and a 'node' (binary or edge, as in classes_proof)

contract_leaves_data
array

The nonce, class hash and storage root for each requested contract address, in the order in which they appear in the request. These values are needed to construct the associated leaf node. Each entry has the following fields

nonce
string

The nonce of the contract

class_hash
string

The hash of the contract class

storage_root
string

The root of the contract's storage trie

contracts_storage_proofs
array

The proofs of membership in the storage tries of the requested contracts, one list of nodes per requested contract. Empty if contracts_storage_keys was not provided. Each node has a 'node_hash' and a 'node' (binary or edge, as in classes_proof)

global_roots
object

The roots of the state tries at the requested block

contracts_tree_root
string

The root of the contracts tree

classes_tree_root
string

The root of the classes tree

block_hash
string

The associated block hash (needed in case the caller used a block tag for the block_id parameter)

Request
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free