Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Network

port0.sh runs on Miden testnet. The version the testnet runs is published at status.testnet.miden.io.

FactValue
RPChttps://rpc.testnet.miden.io (gRPC, miden.node.v1.NodeService)
Remote proverhttps://tx-prover.testnet.miden.io
Chain fee faucet0x4cbdcaffe75f0a317482224dae6436
Chain fee assetUSDCX, 6 decimals
Block timeabout 3 seconds
Measured transaction feeabout 133 base units of USDCX

Version rule

A client talks only to a node of the same major and minor version. A stale minor fails with errors that look like application bugs, such as a missing procedure root, a null pointer passed to Rust, or a missing account header record.

Pin every @miden-sdk/* and miden-node-proto dependency to the version the testnet runs, and bump them together. The manifests carry the current pins: package.json and package-lock.json in the SDK and the app, Cargo.toml and Cargo.lock in the contracts and the indexer.

Fees and notes

Notes carry a fee, and the executing account pays it from its own vault. A pool’s fee faucet must equal the chain’s fee faucet, or the node never consumes the pool’s notes. USDCX comes from the network faucet. Do not mint it.

Node state window

The node serves account state for the last 50 blocks. Anchors and block numbers older than that fail with a pruned-block error. A network-note-emitting transaction expires 20 blocks after its reference block, which is about one minute, so slow proving can outrun the window.

Numeric bound

Every pool amount, reserve, and lp_supply is bounded by MAX_AMOUNT = 2^57. The bound keeps the u128 intermediates inside u128::MAX.