Skip to main content
Stellar uses different address formats for different purposes. This library ensures you handle them correctly and safely.

Support Table

TypePrefixDescriptionUsage
G AddressG...Ed25519 Public Key (Classic)Primary account identifier.
M AddressM...Multiplexed Address (SEP-23)G-address + 64-bit Memo ID.
C AddressC...Contract ID (Soroban)Identifier for smart contracts.

M-Addresses (Muxed)

Multiplexed addresses are the preferred way to handle deposits for pooled accounts. They encode both the destination and the user’s ID into a single string, removing the need for a separate memo field.
The library automatically expands M-addresses into their base G-address and routing ID.

C-Addresses (Contracts)

C-addresses are NOT valid for classic deposit routing. Contracts do not have a “memo” field in the same way accounts do.
If a user provides a C-address in a classic deposit flow, the library returns an INVALID_DESTINATION error. Contracts should only be used as destinations for Soroban-specific integrations.

Further Reading