Monitoring
Network operators can use miden-network-monitor and OpenTelemetry tracing to observe network health, RPC freshness,
validator status, prover status, and related infrastructure.
See Logging for stdout filtering, filter precedence, user-facing targets, and separate OpenTelemetry filter configuration.
Network Monitorโ
miden-network-monitor is an observer and test client. It is not required for block production. Depending on
configuration, it can check RPC freshness, validator health, remote prover status, faucet availability, explorer
availability, note transport, Agglayer bridge status, and end-to-end network transaction flows.
End-to-end transaction checks require the validator's signing public key. Set
MIDEN_MONITOR_VALIDATOR_SIGNING_PUBLIC_KEY to the validator key's hex encoding. The monitor uses this key to verify
the validator's transaction encryption key before it submits private inputs. It obtains the active fee asset from RPC
and verifies the returned protocol configuration against each transaction's reference block. Remote transaction-prover
probes use the same RPC configuration discovery.
On a chain that charges fees, those checks also need the native asset, because the monitor's accounts pay their own
transaction fees. Set MIDEN_MONITOR_FUNDING_SERVICE_URL to the funding service, which is the
only source the monitor pays fees from. MIDEN_MONITOR_FAUCET_URL configures the faucet checks and does not fund fees.
The monitor's accounts live only in memory, so each restart abandons the wallet's remaining fee balance.
MIDEN_MONITOR_WALLET_FUNDING_AMOUNT sets how much each funding request asks for, and so bounds that loss. See the
monitor operation guide for how to
choose the amount.
On networks with account allowlist enforcement enabled, set MIDEN_MONITOR_REGISTRATION_CODES_FILE to a JSON file of
unused invitation codes. The monitor registers fresh accounts from this finite pool and keeps other checks running if
registration cannot proceed. See the
monitor operation guide for the
file format, code budget, restart behavior, and pool replenishment procedure.
Each faucet check requests MIDEN_MONITOR_FAUCET_MINT_AMOUNT base units, which defaults to 1_000. Keep this amount at
or below the faucet's maximum claimable amount, otherwise the faucet rejects every request and the faucet card stays
unhealthy.
Use the binary help output for the current configuration surface:
miden-network-monitor start --help
Telemetryโ
Services export OpenTelemetry traces when an OTLP trace endpoint is configured through the standard OpenTelemetry environment variables.
Set one of:
OTEL_EXPORTER_OTLP_TRACES_ENDPOINTOTEL_EXPORTER_OTLP_ENDPOINT
Services register a default OpenTelemetry service name and the miden service namespace. To distinguish multiple
instances of the same service, set service.instance.id through OTEL_RESOURCE_ATTRIBUTES.
For example:
OTEL_EXPORTER_OTLP_ENDPOINT=http://collector:4317 \
OTEL_RESOURCE_ATTRIBUTES=service.instance.id=full-node-1 \
miden-node full ...
Other standard OpenTelemetry resource variables, such as OTEL_SERVICE_NAME, can still be used when an operator needs
to override the default service identity.