Skip to main content
Version: 0.15 (unstable)

Public RPC

This page summarizes the public gRPC rpc.Api service.

As a reminder, you can inspect the exact schema on any deployed network using gRPC reflection:

grpcurl rpc.testnet.miden.io:443 describe rpc.Api

Status and Limits

MethodPurpose
StatusReturns the node RPC version, genesis commitment, store status, and block producer status when available.
GetLimitsReturns configured query parameter limits for methods that accept large repeated parameters.

State Queries

MethodPurpose
GetAccountReturns account witness data and optional details for public accounts.
GetBlockByNumberReturns raw block data for a block number, optionally including the block proof.
GetBlockHeaderByNumberReturns a block header and, optionally, MMR authentication data.
GetNotesByIdReturns committed notes matching the requested note IDs.
GetNoteScriptByRootReturns a note script by script root when available.

Transaction Submission

MethodPurpose
SubmitProvenTxSubmits one proven transaction and returns the node's current block height.
SubmitProvenTxBatchSubmits an atomic batch of proven transactions and returns the node's current block height.

Write requests must identify the target network with the genesis parameter in the Accept header:

application/vnd.miden; genesis=<genesis-commitment>

Clients may also include a compatible RPC version:

application/vnd.miden; version=<semver>; genesis=<genesis-commitment>

See Errors and Limits for the transaction submission detail codes returned in gRPC status details.

State Synchronization

MethodPurpose
SyncTransactionsReturns transaction records for specified accounts within a block range.
SyncNotesReturns note metadata and inclusion proofs for matching note tags within a block range.
SyncNullifiersReturns nullifiers matching specified 16-bit prefixes within a block range.
SyncAccountVaultReturns public account vault updates within a block range.
SyncAccountStorageMapsReturns public account storage map updates within a block range.
SyncChainMmrReturns MMR delta information needed to synchronize the chain MMR.

Use GetLimits to discover the maximum request sizes accepted by the node before batching large sync requests.

Streaming

MethodPurpose
BlockSubscriptionStreams committed blocks from block_from, replaying history before live blocks.
ProofSubscriptionStreams block proofs from block_from, replaying existing proofs before live proofs.

These streams are the primary mechanism full nodes use to replicate chain data from an upstream source. They are also useful for indexers, explorers, and other services that need an append-only view of network progress.

Network Note Debugging

MethodPurpose
GetNetworkNoteStatusReturns the lifecycle status of a network note tracked by the network transaction builder.