Reproducible identity and health probes
These commands were executed against https://rpc.monolythium.com, which reported the registered v0.4.0-testnet identity. They are safe, read-only JSON-RPC probes: no key, wallet, transaction, or funded account is required. On 2026-07-16 the endpoint was reachable and identity-matched, but finalized state was stale/degraded; reachability must not be reported as liveness.
The public endpoint is rate-limited and best-effort. Do not use this page as a load generator. Testnet may be wiped and re-genesis without notice, so compare the full genesis hash—not only chain ID—with the active chain-registry entry.
Registered identity and reported height
Section titled “Registered identity and reported height”curl --fail-with-body --max-time 10 -sS https://rpc.monolythium.com \ -H 'content-type: application/json' \ --data '{"jsonrpc":"2.0","id":1,"method":"lyth_chainStats","params":[]}' \ | jq -e ' .result.chainId == 69420 and .result.genesisHash == "0xe22733f4d7e013b93f0f825667fcf852cbf7ad1ca31a42a1bfcf1ab6d79c89a3" and (.result.latestHeight | type == "number") and .result.clusters.total == 4 'The current response uses camelCase fields: chainId, genesisHash, latestHeight, latestTimestamp, peerCount, and clusters.total. Older snake_case samples do not match this released wire shape.
Read the current round separately:
curl --fail-with-body --max-time 10 -sS https://rpc.monolythium.com \ -H 'content-type: application/json' \ --data '{"jsonrpc":"2.0","id":1,"method":"lyth_currentRound","params":[]}' \ | jq -e '.result.height | type == "number"'Empty periods may be represented without a new user-facing block, so two height samples are not a throughput benchmark. Health checks must also read finalized timestamps, sync state/lag, peer-health bands, and round progression.
Finalized-state freshness and sync health
Section titled “Finalized-state freshness and sync health”lyth_syncStatus.state == "synced" is peer-relative. A stalled node can be synchronized with stalled peers, so the value cannot override an old finalized timestamp or absent progression.
stats="$(curl --fail-with-body --max-time 10 -sS https://rpc.monolythium.com \ -H 'content-type: application/json' \ --data '{"jsonrpc":"2.0","id":1,"method":"lyth_chainStats","params":[]}')"sync="$(curl --fail-with-body --max-time 10 -sS https://rpc.monolythium.com \ -H 'content-type: application/json' \ --data '{"jsonrpc":"2.0","id":1,"method":"lyth_syncStatus","params":[]}')"
age="$(( $(date -u +%s) - $(jq -er '.result.latestTimestamp' <<<"$stats") ))"jq -e '.result | (.state | type == "string") and (.lag | type == "number") and (.localRound | type == "number") and (.peerMaxRound | type == "number")' <<<"$sync"if [ "$age" -gt 300 ]; then echo "degraded: finalized state is ${age}s old" >&2 exit 2fiThe nonzero exit is intentional: it distinguishes stale health from a transport or identity failure. The repository’s pnpm check:rpc-probes samples twice, parses the full health shape, and succeeds only when the observed state matches the truthfully published degraded record. pnpm check:rpc-probes:strict additionally requires healthy observations and currently fails. If health changes, --print-observation prints the reviewed JSON needed to update the point-in-time record; the default check never rewrites documentation.
Runtime provenance
Section titled “Runtime provenance”curl --fail-with-body --max-time 10 -sS https://rpc.monolythium.com \ -H 'content-type: application/json' \ --data '{"jsonrpc":"2.0","id":1,"method":"lyth_runtimeProvenance","params":[]}' \ | jq -e ' .result.chainId == 69420 and .result.genesisHash == "0xe22733f4d7e013b93f0f825667fcf852cbf7ad1ca31a42a1bfcf1ab6d79c89a3" and .result.runtime.releaseTag == "v0.4.0-testnet" and .result.runtime.gitCommit == "da04f8f5e8391811f80e8d0511dff74311f4e811" and .result.runtime.binarySha256 == "259c67c1c7fc8bc3f8ca22c82953ea7dc54a9e2ceaa02d0fe0879ab5192f8227" and .result.runtime.gitDirty == false 'This verifies what the endpoint reports. It does not independently prove the binary or make an untrusted endpoint trustworthy; compare release artifacts and registry provenance through a separate channel.
Aggregate peer health
Section titled “Aggregate peer health”curl --fail-with-body --max-time 10 -sS https://rpc.monolythium.com \ -H 'content-type: application/json' \ --data '{"jsonrpc":"2.0","id":1,"method":"lyth_peerSummary","params":[]}' \ | jq -e ' (.result.peerCount | type == "number") and (.result.asOfBlock | type == "number") and (.result.versionDistribution | type == "object") and (.result.healthSummary.synced | type == "number") and (.result.healthSummary.lagging | type == "number") and (.result.healthSummary.stale | type == "number") 'Peer counts and health bands change. The command validates the supported response shape without asserting a marketing number. A healthy label requires both recent progressing state and acceptable peer/sync signals; no single field is sufficient.
What this page deliberately does not do
Section titled “What this page deliberately does not do”- It does not submit a no-op transaction or spend testnet funds.
- It does not claim TPS, inclusion latency, checkpoint latency, finality, or availability from a single public endpoint.
- It does not call removed or undocumented
lyth_chainIdentityorlyth_clusterDirectoryshapes. - It does not present bridge or agent-commerce settlement as available.
- It does not use compatibility APIs as a substitute for full native chain identity.
For repeatable performance work, run an isolated node, publish the exact binary, genesis, hardware, workload, and raw samples, and keep the public endpoint out of the load path.