MONERO NETWORK RELAY · VERIFIED RPC GATEWAY
One address for your wallet. Every answer checked.
Point any Monero wallet at mnr. We forward your requests to public nodes and to our own, verify each block, transaction and header against its hash and against several nodes, and tell you exactly what we could not check.
mnr (official packages: @mnrnetwork/* and mnr-network).
Verified, not trusted
A block's contents hash to its block hash. A transaction hashes to its txid. Headers chain to the tip. We check all of it before we answer, and compare consensus state across several nodes.
Nothing hidden
Every upstream node we use is listed, with our request rate to it and every wrong answer we caught. Most of these nodes are not ours. We say so.
No account
A token is the whole relationship. Free, or paid in XMR. No email, no KYC, and no request logs on our side.
How an answer gets to you
Your wallet asks
A normal daemon RPC call arrives with your token in the path. We never log the path or your address.
We ask several nodes
Reads go to the fastest healthy node on the agreed chain tip. Transactions are broadcast to every healthy node at once.
We check, then answer
Hashes are recomputed, headers linked, consensus state compared. What we could verify is marked; what we could not is marked too.
get_block_header_by_height 3401220 ✓ hash recomputed, matches chain · 5/5 upstreams agree ✓ cached (30d, below tip−10) get_transactions [2 txids] ✓ 2/2 txid hashes match · 1 in mempool via upstream #4 — unverifiable, not cached send_raw_transaction ✓ relayed 6/7 upstreams upstream #2 · header 3401197 ✗ hash ≠ chain — ejected 24h, logged publicly
Sample output. The real log for every upstream is on the upstreams page.
What mnr is, plainly
mnr is a verified proxy. Your wallet's requests are forwarded to public Monero nodes run by community members, and to our own public node. We check every block, transaction and header we return against its hash and against several nodes, so you get a better answer than any single node gives — but the nodes are not ours, and we make no uptime promise.
We cap our traffic to each public node, identify ourselves to operators, honour opt-outs, and publish the full upstream list live, with status, latency and our request rate to each node. If you need nodes we run ourselves, with an SLA, that is a separate paid service coming later.
At most 5 requests per second and 2 wallet-sync streams to any public node. Overflow goes to our own node.
Every upstream request identifies itself: mnr-relay/0.x (+https://mnr.network/upstreams)
Node operators can opt out at any time, by message or with a /.well-known/mnr-optout file. Removal within 24 hours, listed publicly.
We run a full public node ourselves, listed like any other, and it carries the heaviest traffic.
Independent consensus, not first-party promises
mnr does not ask you to trust our word. Verification is established mathematically and cross-checked in real-time across independent infrastructure run by distinct third parties:
Independent Node Operators
Our consensus quorum actively queries community nodes operated by prominent, verifiable third parties: Cake Wallet, Seth For Privacy, HashVault, BoldSuck, StormyCloud, and Stack Wallet.
External Network Monitors
mnr's dedicated node (node.kyc.rip) is independently crawled, indexed, and monitored by monero.fail — the canonical open-source Monero node scanner — and community monitors at nodes.monero.ninja.
Independent Package Registries
AGPL-3.0 source code and reproducible crates are anchored on independent package registries: crates.io/crates/mnr, pypi.org/project/mnr, and npm/mnr-network.
Start in two minutes
Get a token
Free tokens are issued instantly on the token page. Pro tokens are paid with an XMR invoice; a subaddress, ten confirmations, done.
Point your wallet at it
Set the daemon address in your wallet (per-wallet steps), or on the command line:
monero-wallet-cli \ --daemon-address rpc.mnr.network:443 \ --daemon-login <token>:x --daemon-ssl enabled
See what was checked
Every response carries Mnr-Verify and Mnr-Relayed headers, and the upstreams page shows the running record.
Free, or nine dollars
Neither comes with an uptime promise — we do not run most of the nodes. What you pay for is more room and a second check on the answers that matter most.
| Free | Pro | |
|---|---|---|
| Price | $0 | $9 / month, in XMR |
| Monthly allowance | 500k requests | 10M requests |
| Burst | 5 per second | 25 per second |
| Output lookups (get_outs) | one node | two nodes must agree |
| Wallet sync streams | 1 at a time | 3 at a time, our node first |
| Uptime promise | none | none |
Free tokens are issued now on the token page. Pro invoices open as soon as payments are switched on; the build is public either way.
WHERE THIS IS GOING
Today a proxy. Next, nodes we run. Then, nodes you run.
The verification layer you are using now is the same code that will front a mesh of nodes we operate with real uptime commitments, and after that an open network where anyone running monerod can plug in and get paid in XMR for verified work. Same address for you the whole way.