Standards/monero-uri
Monero URI
Overview
The Monero URI is the monero: payment-URI scheme used to encode a Monero payment request — recipient address plus optional amount and metadata — as a clickable link or a qr-code.[1] It follows the generic URI syntax of RFC 3986, with the Monero address as the path and payment details supplied as query parameters; it exists so that merchants and donors can generate scannable codes from a specification-regulated scheme.[1] The Monero wallet exposes make_uri and parse_uri RPC methods to build and decode these URIs.[2]
History
The monero: URI scheme is documented in the monero-project "URI Formatting" wiki and implemented in the reference C++ wallet (monero-project/monero, ~10.6k stars).[1][3] The scheme has evolved: the tx_payment_id parameter was supported in earlier versions of the specification but is now deprecated and no longer allowed for manual inclusion.[4] A later proposal (monero PR #7737) extended the URI to support multiple recipients per transaction, with make_uri accepting an array of address/amount/recipient-name objects.[3]
Technical specification
Structure:[1]
monero:<address>?<parameters>
The scheme follows RFC 3986; the path is the Monero address, and parameters are URL-encoded (e.g. spaces as %20).[1]
| Parameter | Meaning |
|---|---|
tx_amount |
proposed transaction amount in decimal XMR (not atomic units); multiple amounts may be separated by ; |
recipient_name |
proposed recipient contact name (URL-encoded); multiple names may be separated by ; |
tx_description |
reason/description of the transaction (URL-encoded) |
tx_payment_id |
legacy 16-character hex payment identifier — deprecated and no longer permitted for manual inclusion |
Example URI (from the make_uri RPC documentation):[2]
monero:55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt?tx_payment_id=420fa29b2d9a49f5&tx_amount=0.000000000010&recipient_name=el00ruobuob%20Stagenet%20wallet&tx_description=Testing%20out%20the%20make_uri%20function.
Use cases
- Merchant / donation payments: generate a
monero:qr-code so a payer's wallet pre-fills the address, amount and description.[1] - Wallet interoperability: any wallet implementing the scheme can decode the URI; the reference wallet provides
parse_urifor this andmake_urifor construction.[2] - Multi-recipient requests: the extended scheme allows several recipients/amounts in one URI via semicolon-separated values.[3]
Implementations
- monero-project/monero — C++; reference daemon and wallet; defines the URI scheme and the
make_uri/parse_uriRPC methods; ~10.6k stars, active 2026.[2][3] - monero-project/monero-gui — C++; the official GUI wallet that generates and scans
monero:payment QR codes; ~2.3k stars, active 2026.[5]
Comparison
- Monero URI vs a bare address: a raw Monero address conveys only the destination; the
monero:URI additionally carries amount (tx_amount), recipient name and description so the payer's wallet can pre-fill the whole request.[1][2] - Monero URI vs bip-21: both are RFC 3986 cryptocurrency payment URIs with address-as-path plus amount/label/description parameters; Monero's privacy model led it to a payment-id parameter (now deprecated), whereas bip-21 never had one and later gained a
lightning=extension.[1][4] - Monero URI vs eip-681: the Monero scheme targets only simple payments, while eip-681 additionally encodes arbitrary contract calls and chain selection.[1]
Status
The monero: URI is the active, reference-implemented payment-URI scheme for Monero, supported by the official CLI and GUI wallets and the wallet RPC; tx_payment_id is deprecated, and multi-recipient support has been added to the scheme.[1][2][3][4]
Sources
1 URI Formatting — monero-project/monero Wiki — GitHub, n.d. 2 Monero Wallet RPC — make_uri / parse_uri — getmonero.org, n.d. 3 extend payment uri scheme to support multiple recipients (PR #7737) — GitHub, 2021 4 Support specifying another asset for amount in URI (Issue #8064) — GitHub, n.d. 5 monero-project/monero-gui — GitHub, 2026
Deployments
No country reports mention this standard by name.
Regions / aggregations not mapped to a single country
- Universal