Monero - Addresses

Author silverpill
Discussions-To https://github.com/ChainAgnostic/namespaces/issues/41
Status Draft
Type Informational
Created 2023-09-01
Requires CAIP-10

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

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