Quick Access
Coin Methods
Monero
Miscellaneous
Methods
Monero
moneroGetAddress

Monero Get Address

Display requested Monero address derived by given BIP44 path on device and returns it to caller. User is presented with a description of the requested key and asked to confirm the export on Trezor.

const result = await TrezorConnect.moneroGetAddress(params);

Params

Including CommonParams

MoneroGetAddress

path

String | Array<Number>

Required

minimum length is 3. All components must be hardened (e.g., m/44'/128'/0'). read more

address

String

Optional

address for validation (read Handle button request section below)

showOnTrezor

Boolean

Optional

determines if address will be displayed on device. Default is set to true

networkType

Enum: MAINNET (0) | TESTNET (1) | STAGENET (2) | FAKECHAIN (3)

Optional

Monero network type: 0 = MAINNET (default), 1 = TESTNET, 2 = STAGENET, 3 = FAKECHAIN

account

Number

Optional

Account index for subaddress derivation

minor

Number

Optional

Minor index for subaddress derivation

paymentId

String

Optional

Payment ID (hex string, 16 or 64 chars) for integrated address generation

chunkify

Boolean

Optional

determines if address will be shown in chunks of 4 characters. Default is set to false

Bundle(MoneroGetAddress)

Example

Display Monero address of first account on mainnet:

TrezorConnect.moneroGetAddress({
    path: "m/44'/128'/0'",
});

Display Monero testnet address:

TrezorConnect.moneroGetAddress({
    path: "m/44'/128'/0'",
    networkType: 1, // TESTNET
});

Get a Monero subaddress (account 0, minor 5):

TrezorConnect.moneroGetAddress({
    path: "m/44'/128'/0'",
    account: 0,
    minor: 5,
});

Generate an integrated address with payment ID:

TrezorConnect.moneroGetAddress({
    path: "m/44'/128'/0'",
    paymentId: '1234567890abcdef', // 16 hex chars for short payment ID
});

Return a bundle of Monero addresses without displaying them on device:

TrezorConnect.moneroGetAddress({
    bundle: [
        { path: "m/44'/128'/0'", showOnTrezor: false }, // account 1
        { path: "m/44'/128'/1'", showOnTrezor: false }, // account 2
        { path: "m/44'/128'/2'", showOnTrezor: false }, // account 3
    ],
});

Validate address using custom UI inside the web application:

TrezorConnect.moneroGetAddress({
    path: "m/44'/128'/0'",
    address: '4AxYyVr...',
});

Result

Result with only one address

{
    success: true,
    payload: {
        address: string,     // Monero address (human-readable string)
        path: Array<number>, // hardended path
        serializedPath: string,
    }
}

Result with bundle of addresses

{
    success: true,
    payload: [
        { address: string, path: Array<number>, serializedPath: string }, // account 1
        { address: string, path: Array<number>, serializedPath: string }, // account 2
        { address: string, path: Array<number>, serializedPath: string }  // account 3
    ]
}

Error

{
    success: false,
    payload: {
        error: string // error message
    }
}