Get desktop application:
View/edit binary Protocol Buffers messages
RPC API for the RPC component
Streams committed blocks starting from the given block number (inclusive). Replays historical blocks first, then streams live blocks as they are committed. On lag (replica falls too far behind), the stream is closed with a DATA_LOSS error and the client should reconnect from its local tip.
Request to subscribe to the committed block stream.
The block number to start streaming from (inclusive).
A committed block streamed to a replica.
The block encoded using [miden_serde_utils::Serializable] implementation for [miden_protocol::block::SignedBlock].
The committed chain tip when this item was emitted.
Returns the latest details of the specified account.
Defines the request for account details.
ID of the account for which we want to get data
Optional block height at which to return the proof. Defaults to current chain tip if unspecified.
Request for additional account details; valid only for public accounts.
Represents the result of getting account proof.
The block number at which the account witness was created and the account details were observed.
Account ID, current state commitment, and SMT path.
Additional details for public accounts.
Returns raw block data for the specified block number, optionally including the block proof.
Retrieves block header by given block number. Optionally, it also returns the MMR path and current chain length to authenticate the block's inclusion.
Returns the block header corresponding to the requested block number, as well as the merkle path and current forest which validate the block's inclusion in the chain. The Merkle path is an MMR proof for the block's leaf, based on the current chain length.
The target block height, defaults to latest if not provided.
Whether or not to return authentication data for the block header.
Represents the result of getting a block header by block number.
The requested block header.
Merkle path to verify the block's inclusion in the MMR at the returned `chain_length`.
Current chain length.
Returns the query parameter limits configured for RPC methods. These define the maximum number of each parameter a method will accept. Exceeding the limit will result in the request being rejected and you should instead send multiple smaller requests.
Represents the query parameter limits for RPC endpoints.
Maps RPC endpoint names to their parameter limits. Key: endpoint name (e.g., "SyncNullifiers") Value: map of parameter names to their limit values
Returns the current status of a network note. The status indicates where the note is in its lifecycle: pending execution, processed (consumed by a transaction in the mempool), or discarded after too many failed attempts. Returns `NOT_FOUND` if the note ID is not tracked by the network transaction builder.
Returns the script for a note by its root.
Represents a note script or nothing.
The script for a note by its root.
Returns a list of notes matching the provided note IDs.
Streams block proofs starting from the given block number (inclusive). Replays existing proofs first, then streams new proofs as they are generated. On lag, the stream is closed with a DATA_LOSS error.
Request to subscribe to the block proof stream.
The block number to start streaming from (inclusive).
A block proof streamed to a replica.
The block number this proof corresponds to.
The block proof encoded using [miden_serde_utils::Serializable] implementation for [miden_protocol::block::BlockProof].
The proven chain tip when this item was emitted.
Returns the status info of the node.
Represents the status of the node.
The rpc component's running version.
The genesis commitment.
Number of the latest block in the chain.
The block producer status.
Submits proven transaction to the Miden network. Returns the node's current block height.
Submits a batch of transactions to the Miden network. All transactions in this batch will be considered atomic, and be committed together or not all. Returns the node's current block height.
Returns storage map updates for specified account and storage slots within a block range.
Storage map synchronization request. Allows requesters to sync storage map values for specific public accounts within a block range, with support for cursor-based pagination to handle large storage maps.
Block range from which to start synchronizing. If the `block_to` is specified, this block must be close to the chain tip (i.e., within 30 blocks), otherwise an error will be returned.
Account for which we want to sync storage maps.
Pagination information.
The list of storage map updates. Multiple updates can be returned for a single slot index and key combination, and the one with a higher `block_num` is expected to be retained by the caller.
Returns account vault updates for specified account within a block range.
Account vault synchronization request. Allows requesters to sync asset values for specific public accounts within a block range.
Block range from which to start synchronizing. If the `block_to` is specified, this block must be close to the chain tip (i.e., within 30 blocks), otherwise an error will be returned.
Account for which we want to sync asset vault.
Pagination information.
List of asset updates for the account. Multiple updates can be returned for a single asset, and the one with a higher `block_num` is expected to be retained by the caller.
Returns MMR delta needed to synchronize the chain MMR within the requested block range.
Chain MMR synchronization request.
Block number from which to synchronize. Set this to the last block already present in the caller's MMR so the delta begins at the next block.
Sync target: either the committed or the proven tip.
Represents the result of syncing chain MMR.
For which block range the MMR delta is returned.
Data needed to update the partial MMR from `request.current_client_block_height + 1` to the sync target.
Block header for the sync target.
Validator signature for the sync target.
Returns info which can be used by the client to sync up to the tip of chain for the notes they are interested in. Client specifies the `note_tags` they are interested in, and the block range to search. The response contains all blocks with matching notes that fit within the response payload limit, along with each note's metadata and inclusion proof. If `response.pagination_info.block_num` is less than the requested range end, make another request starting from `response.pagination_info.block_num + 1` to continue syncing.
Note synchronization request. Specifies note tags that the requester is interested in. The server will return blocks containing notes matching `note_tags` within the specified block range, batching as many blocks as fit within the response payload limit.
Block range from which to start synchronizing.
Specifies the tags which the requester is interested in.
Represents the result of syncing notes request.
Pagination information. `chain_tip` is the current chain tip. `block_num` is the last block checked. If it equals the requested `block_to` (or the chain tip when unset), the sync is complete. Otherwise the response was paginated and the client should resume from `block_num + 1`.
Blocks containing matching notes, ordered by block number ascending. May be empty if no notes matched in the range.
Returns a list of nullifiers that match the specified prefixes and are recorded in the node. Note that only 16-bit prefixes are supported at this time.
Returns a list of nullifiers that match the specified prefixes and are recorded in the node.
Block number from which the nullifiers are requested (inclusive).
Number of bits used for nullifier prefix. Currently the only supported value is 16.
List of nullifiers to check. Each nullifier is specified by its prefix with length equal to `prefix_len`.
Represents the result of syncing nullifiers.
Pagination information.
List of nullifiers matching the prefixes specified in the request.
Returns transactions records for specific accounts within a block range.
Transactions synchronization request. Allows requesters to sync transactions for specific accounts within a block range.
Block range from which to start synchronizing.
Accounts to sync transactions for.
Represents the result of syncing transactions request.
Pagination information.
List of transaction records.
Request the details for a public account.
Used in:
Last known code commitment to the requester. The response will include account code only if its commitment is different from this value. If the field is ommiteed, the response will not include the account code.
Last known asset vault commitment to the requester. The response will include asset vault data only if its commitment is different from this value. If the value is not present in the request, the response will not contain one either. If the number of to-be-returned asset entries exceed a threshold, they have to be requested separately, which is signaled in the response message with dedicated flag.
Request all entries for all storage map slots in the account. Each map response is still capped independently. If a map exceeds the entry threshold, the response will set `too_many_entries` for that map and clients should use `SyncAccountStorageMaps` to fetch it.
Request details for explicitly selected storage map slots.
Represents a storage slot index and the associated map keys.
Used in:
Storage slot name.
Request to return all storage map data. If the number exceeds a threshold of 1000 entries, the response will not contain them but must be requested separately.
A list of map keys associated with the given storage slot identified by `slot_name`.
Indirection required for use in `oneof {..}` block.
Used in:
A list of map keys associated with this storage slot.
Wrapper required because protobuf `oneof` fields cannot be `repeated`.
Used in:
Additional request per storage map.
Used in:
Account header.
Account storage data
Account code; empty if code commitments matched or none was requested.
Account asset vault data; empty if vault commitments matched or the requester omitted it in the request.
Account storage details for AccountResponse
Used in:
Account storage header (storage slot info for up to 256 slots)
Additional data for the requested storage maps
Used in:
Storage slot name.
True when the number of entries exceeds the response limit. When set, clients should use the `SyncAccountStorageMaps` endpoint.
The map entries (with or without proofs). Empty when too_many_entries is true.
All storage entries without proofs (for small maps or full requests).
Specific entries with their SMT proofs (for partial requests).
Wrapper for repeated storage map entries (without proofs). Used when all entries are requested for small maps.
Used in:
Definition of individual storage entries.
Used in:
Wrapper for repeated storage map entries including their proofs. Used when specific keys are requested to enable client-side verification.
Used in:
Definition of individual storage entries including a proof.
Used in:
Account vault details for AccountResponse
Used in:
A flag that is set to true if the account contains too many assets. This indicates to the user that `SyncAccountVault` endpoint should be used to retrieve the account's assets
When too_many_assets == false, this will contain the list of assets in the account's vault
Used in:
Vault key associated with the asset.
Asset value related to the vault key. If not present, the asset was removed from the vault.
Block number at which the above asset was updated in the account vault.
Represents the status of the block producer.
Used in:
The block producer's running version.
The block producer's status.
The block producer's current view of the chain tip height. This is the height of the latest block that the block producer considers to be part of the canonical chain.
Statistics about the mempool.
Represents a block range.
Used in: , , , , ,
Block number from which to start (inclusive).
Block number up to which to check (inclusive).
Represents the parameter limits for a single endpoint.
Used in:
Maps parameter names to their limit values. Key: parameter name (e.g., "nullifier", "account_id") Value: limit value
Finality level we'd like to sync up to.
Used in:
Sync up to the latest committed block (chain tip).
Sync up to the latest proven block.
Response containing the lifecycle status and latest execution error for a network note.
Used as response type in: ntx_builder.Api.GetNetworkNoteStatus, Api.GetNetworkNoteStatus
Current lifecycle status of the note.
The latest error message from execution, if any.
Number of failed execution attempts.
Block number of the last failed attempt, if any.
Statistics about the mempool.
Used in:
Number of transactions currently in the mempool waiting to be batched.
Number of batches currently being proven.
Number of proven batches waiting for block inclusion.
Lifecycle status of a network note within the transaction builder.
Used in:
Default / unspecified status.
The note is awaiting execution or being retried after transient failures.
The note has been consumed by a transaction that was sent to the block producer.
The note exceeded the maximum retry count and will not be retried.
The note's consuming transaction has been committed on-chain.
Represents pagination information for chunked responses. Pagination is done using block numbers as the axis, allowing requesters to request data in chunks by specifying block ranges and continuing from where the previous response left off. To request the next chunk, the requester should use `block_num + 1` from the previous response as the `block_from` for the next request.
Used in: , , , ,
Current chain tip
The block number of the last check included in this response. For chunked responses, this may be less than `request.block_range.block_to`. If it is less than request.block_range.block_to, the user is expected to make a subsequent request starting from the next block to this one (ie, request.block_range.block_from = block_num + 1).
Represents a single storage map update.
Used in:
Block number in which the slot was updated.
Storage slot name.
The storage map key.
The storage map value.
A single block's worth of note sync data.
Used in:
Block header of the block containing the matching notes.
Merkle path to verify the block's inclusion in the MMR. The proof is valid for an MMR of forest `N + 1`, where `N` is the requested `block_range.block_to` (or the chain tip if `block_to` was not specified).
List of notes matching the specified criteria in this block, together with the Merkle paths from `block_header.note_root`.
Represents a single nullifier update.
Used in:
Nullifier ID.
Block number.
Represents a transaction record.
Used in:
Block number in which the transaction was included.
The transaction header.
Inclusion proofs for committed output notes. Erased notes (created and consumed within the same batch) can be identified by comparing note IDs here with `header.output_notes`. Any note present in the header but absent here was erased.