Read the Monad validator peer set without running a node — by speaking the discovery protocol directly, from any ordinary server.
Each record is { secp, ip, port, authPort, seq } — the same name records the protocol defines. CORS is open, fetch them straight from a browser dApp or explorer.
Speaks Monad's real peer-discovery protocol (authenticated ping/pong + PeerLookup), reusing the official monad-bft crates.
Runs anywhere — a laptop, CI, a small VPS. Nothing touches a signing host, no NVMe, no state sync.
A building block for explorers, dashboards and observed-data layers. Prooflines' geo-latency map runs on these feeds.
# build (pure Rust, ~9.5 MB clone, no node required) git clone https://github.com/ColinkaMir/monad-sonar && cd monad-sonar cargo build --release # read the testnet or mainnet peer set, write JSON ./target/release/monad-sonar --network mainnet peers \ --config configs/mainnet.toml --run-secs 100 --out peers.json