Skip to main content

getStatePath

Fetches the Merkle state path proving a record commitment's inclusion in the ledger.

Spending a record requires its state path, so call this when building execution proofs outside a node. The path verifies against the global state root (see getStateRoot). Queries the connected node, so it hits the network. Use getStatePaths to fetch several paths in one round trip.

Usage​

import { createPublicClient, http } from '@provablehq/veil-core'

const client = createPublicClient({
transport: http('https://edge.provable.com/api/v2', { network: 'mainnet' }),
})

const path = await client.getStatePath({
commitment: '5031743...field',
})
// '{"global_state_root":"sr1...","block_path":{...},...}'

Returns​

string

The serialized state path for the commitment. Per snarkVM's Serialize implementation this arrives as a JSON string — the path's Display representation rather than a parsed object. Callers who need the structured fields (global_state_root, block_path, transaction_leaf, transition_leaf, and so on) parse the string themselves.

Parameters​

commitment​

  • Type: string

Record commitment, a field literal, whose inclusion path to fetch.