Monero - Addresses
Author | silverpill |
---|---|
Discussions-To | https://github.com/ChainAgnostic/namespaces/issues/41 |
Status | Draft |
Type | Informational |
Created | 2023-09-01 |
Requires | CAIP-10 |
Table of Contents
CAIP-10
For context, see the CAIP-10 specification.
Rationale
CAIP-10 defines a pattern for identifying an account in a blockchain. Monero chains use UTXO model and Monero addresses are functionally similar to accounts in other namespaces.
Semantics
Monero has several types of addresses: standard address, subaddress and integrated address. Any address contains network and address type identifiers, public spend key, public view key, a checksum, and may contain additional data depending on the address type. Note that the Base58-monero encoding algorithm is used to encode the address from a byte array into a string; it uses the same alphabet as base58btc but should not be decoded using base58btc libraries due to the additional padding step to normalize string length.
CAIP-10 “accounts” should not be confused with Monero accounts, which are used in Monero wallets for grouping related addresses and transactions.
Syntax
Monero CAIP-10 account ID is a case-sensitive string in the form:
account_id: chain_id + ":" + address
chain_id: See Monero CAIP-2 profile
address: [a-zA-Z0-9]{95,106}
The syntax of chain_id
is specified in Monero CAIP-2.
Test Cases
This is a list of manually composed examples:
# Monero mainnet standard address
monero:418015bb9ae982a1975da7d79277c270:4AdUndXHHZ6cfufTMvppY6JwXNouMBzSkbLYfpAV5Usx3skxNgYeYTRj5UzqtReoS44qo9mtmXCqY45DJ852K5Jv2684Rge
# Monero mainnet integrated address
monero:418015bb9ae982a1975da7d79277c270:4LL9oSLmtpccfufTMvppY6JwXNouMBzSkbLYfpAV5Usx3skxNgYeYTRj5UzqtReoS44qo9mtmXCqY45DJ852K5Jv2bYXZKKQePHES9khPK
# Monero private testnet subaddress
monero:00000000000000000000000000000000:86MD1PNx3vmKUQjLvxNnmUfGQoHXAg8x56Nq97KrziKj5K8ACnpNUYx2KjiNAczP3igo7uUUUoGssDvKuZ7UUEoM1A8cvZs
Additional Considerations
In the future new types of Monero addresses will be introduced. They will likely be longer and may exceed the 128 character limit set in CAIP-10 specification.
References
- Address documentation from Monero documentation
- Account documentation from Monero documentation
Copyright
Copyright and related rights waived via CC0.
Citation
Please cite this document as:
silverpill, "namespaces/monero-caip10: Monero - Addresses [DRAFT]," Chain Agnostic Namespaces, monero-caip10, September 2023 / . [Online serial]. Available: https://github.com/ChainAgnostic/namespaces/monero-caip10.md