gRPC API
Miden nodes expose a public gRPC API for querying chain state, synchronizing local state, submitting proven transactions, and subscribing to committed blocks and block proofs.
The service name is miden.node.v1.NodeService. Clients use this name in each gRPC method path. The existing ACCEPT
header version check remains in effect, and write methods still require the network genesis commitment.
The API uses standard gRPC status codes. Some methods also include additional Miden-specific error codes in status details for stable client-side handling.
See Official Network URLs for public RPC endpoints on official networks.
Schema
The safest way to inspect the schema for a deployed network is through gRPC reflection:
grpcurl rpc.testnet.miden.io:443 describe miden.node.v1.NodeService
For a local development network without TLS, use -plaintext:
grpcurl -plaintext localhost:57291 describe miden.node.v1.NodeService
For Rust developers, we also ship a Rust crate miden_node_proto_build which exposes the gRPC schemas as file descriptor sets, which can be used to generate the gRPC bindings using tonic.
The source schema files are also available in the Miden node repository, in the
proto/ directory. If you use the repository source instead of reflection, check out the release tag that matches the
network or client version you are targeting. Branches such as next describe repository state, not necessarily the
schema deployed on an official network.
Protocol Support
The RPC server supports:
- gRPC over HTTP/2.
- gRPC-Web.
- gRPC reflection for discovery tools such as
grpcurl.
Endpoint Groups
| Group | Methods |
|---|---|
| Status and limits | Status, GetLimits |
| State queries | GetAccount, GetBlockByNumber, GetBlockHeaderByNumber, GetNotesById, GetNoteScriptByRoot |
| Transaction submission | GetTransactionEncryptionKey, SubmitProvenTx, SubmitProvenTxBatch |
| Account registration | RegisterAccount, IsAccountAllowed, IsInvitationCodeValid |
| State synchronization | SyncTransactions, SyncNotes, SyncNullifiers, SyncAccountVault, SyncAccountStorageMaps, SyncChainMmr |
| Block streaming | BlockSubscription, ProofSubscription |
| Network note debugging | GetNetworkNoteStatus |
See Public RPC for endpoint summaries, Subscriptions for stream semantics, and Errors and Limits for request limits, content negotiation, and method-specific error codes.