Skip to content

LLD:DeepLinking

pdeville-ledger edited this page Jan 15, 2026 · 21 revisions

Deep Linking Ledger Live Desktop 🔗

It is possible to launch Ledger Live Desktop and open a specific section or modal by using a deep link.

Supported Protocols

Ledger Live Desktop supports two URI schemes:

Protocol Status Description
ledgerwallet:// Recommended Primary protocol, aligned with the Ledger Wallet branding
ledgerlive:// ✅ Supported Legacy protocol, maintained for backward compatibility

Both protocols are fully interchangeable and support the same routes and parameters.

💡 Recommendation: Use ledgerwallet:// for new integrations. The ledgerlive:// scheme remains supported for existing implementations but may be deprecated in future versions.

MacOS Settings & Dev builds

On mac the Dev builds will override the default deeplink for LLD prod.

So if you want/need to reset the deeplink you can use this tool: https://github.com/Lord-Kamina/SwiftDefaultApps It allows you to change the target for the ledgerlive deeplink, as seen in the image below.

image (1)

Routing

Every route is preceded by the protocol ledgerwallet:// (or legacy ledgerlive://).

Some routes allow you to use query params to pass additional context.

⚠️ You should not use anchor tag inside your deeplink ⚠️

This is especially true for discover related deeplinks.

Keep in mind that everything after an anchor tag is client side (in this case Ledger Live) and will then not be forwarded to the liveApp (even query params). Have a look at this resource for more context.


portfolio - Portfolio Page (default landing)

Query String Parameters: None

Examples:

  • ledgerwallet:// or ledgerwallet://portfolio

accounts - Accounts Page

Query String Parameters:

  • address (optional): navigate directly to account with this fresh address

Examples:

  • ledgerwallet://accounts will redirect to accounts page
  • ledgerwallet://accounts?address=0x123...abc will redirect to the account matching this address

account - Account Page

Query String Parameters:

  • currency (required): the ticker or name of the currency
  • address (optional): the fresh address of the specific account

Examples:

  • ledgerwallet://account?currency=btc will open the first bitcoin account found
  • ledgerwallet://account?currency=ethereum&address=0x1fd2c4d9e5Fd4f9B4B..Ec9C40F88324fB opens the specific Ethereum account matching this address

add-account - Add Account Modal

Query String Parameters:

  • currency (optional): the ticker or name of the currency

Examples:

  • ledgerwallet://add-account opens Add Account Modal
  • ledgerwallet://add-account?currency=bitcoin opens Add Account Modal with Bitcoin pre-filled

send - Send Flow

Query String Parameters:

  • currency (optional): the ticker or token ID of the currency
  • recipient (optional): the address to send to
  • amount (optional): the amount to send

Examples:

  • ledgerwallet://send will redirect to send page (modal)
  • ledgerwallet://send?currency=ethereum will redirect to send page with the first ethereum account found, if no account then redirect to Add Account flow with the currency pre-filled
  • ledgerwallet://send?currency=ethereum&recipient=0xex...xxx&amount=0.1 will redirect to send page with the first ethereum account found and recipient and amount pre-filled

receive - Receive Flow

Query String Parameters:

  • currency (optional): the ticker or token ID of the currency
  • recipient (optional): pre-filled recipient address
  • amount (optional): pre-filled amount

Examples:

  • ledgerwallet://receive will redirect to receive page (modal)
  • ledgerwallet://receive?currency=ethereum will redirect to receive page with the first ethereum account found, if no account then redirect to Add Account flow with the currency pre-filled

delegate - Delegate Flow

Query String Parameters:

  • currency (required): the ticker or name of the currency
  • recipient (optional): the validator/baker address
  • amount (optional): the amount to delegate

⚠️ Only tezos is currently supported for delegation.

Examples:

  • ledgerwallet://delegate?currency=tezos will redirect to delegate page with the first tezos account found

buy - Buy Crypto Flow

Query String Parameters: Passed through to the buy liveApp (see liveApp documentation)

Examples:

  • ledgerwallet://buy will redirect to buy page

swap - Swap Crypto Flow

Query String Parameters:

  • fromToken (optional): source token ID
  • toToken (optional): destination token ID
  • amountFrom (optional): pre-filled amount to swap
  • affiliate (optional): affiliate tracking parameter

Examples:

  • ledgerwallet://swap will redirect to swap page
  • ledgerwallet://swap?fromToken=ethereum&toToken=bitcoin will redirect to swap page with tokens pre-selected
  • ledgerwallet://swap?fromToken=ethereum&toToken=bitcoin&amountFrom=1 will redirect to swap page with tokens and amount pre-filled

myledger - Device Management Flow

Query String Parameters:

  • installApp (optional): the search query to be pre-filled when MyLedger opens

Examples:

  • ledgerwallet://myledger will redirect to MyLedger page
  • ledgerwallet://myledger?installApp=bitcoin will redirect to MyLedger page with a pre-filled search for bitcoin

discover/:liveAppId/ - Live Discover Catalog

URL Parameter:

  • liveAppId (optional): the liveApp id

Query String Parameters:

  • &{params}: the url query params that will be transmitted to the liveApp (please refer to each apps documentation in order to use them).

Examples:

  • ledgerwallet://discover will redirect to discover page
  • ledgerwallet://discover/paraswap will redirect to the discover catalog page of Paraswap
  • ledgerwallet://discover/paraswap?accountId=1 will redirect to the discover catalog page of Paraswap with a pre-selected first account

earn - Earn Dashboard

URL Parameter:

  • path (optional): sub-path (e.g., deposit)

Query String Parameters:

  • cryptoAssetId (optional): the crypto asset ID for deposit flow
  • accountId (optional): pre-select a specific account

Examples:

  • ledgerwallet://earn will redirect to earn dashboard page
  • ledgerwallet://earn/deposit?cryptoAssetId=ethereum&accountId=abc123 will open deposit flow with specified asset and account

asset/:coinName – Asset Page

URL Parameter:

  • coinName (required): coin identifier (e.g., bitcoin, ethereum)

Examples:

  • ledgerwallet://asset/bitcoin
  • ledgerwallet://asset/ethereum

market - Live Market Page

Query String Parameters: None

Examples:

  • ledgerwallet://market will redirect to market page

market/:coinName – Market Coin Page

URL Parameter:

  • coinName (required): coin identifier (e.g., bitcoin, ethereum)

Examples:

  • ledgerwallet://market/bitcoin
  • ledgerwallet://market/ethereum

settings - Settings

URL Parameter:

  • path (optional): settings sub-page

Available paths:

  • ledgerwallet://settings/ - Settings home
  • ledgerwallet://settings/general - Display settings
  • ledgerwallet://settings/accounts - Accounts settings
  • ledgerwallet://settings/about - About page
  • ledgerwallet://settings/help - Help page
  • ledgerwallet://settings/experimental - Experimental features

card - Ledger Card

Query String Parameters: Passed through to the card page

Examples:

  • ledgerwallet://card will redirect to Ledger Card page

recover - Ledger Recover Flow

URL Parameter:

  • path (optional): sub-path within recover flow

Examples:

  • ledgerwallet://recover will redirect to recover page
  • ledgerwallet://recover/onboarding will redirect to recover onboarding
  • ledgerwallet://recover-restore-flow will redirect to recover restore flow

Misc

Feature Deeplink
Ledger Sync ledgerwallet://ledgersync
Wallet Connect ledgerwallet://wc?uri=...
Post Onboarding ledgerwallet://post-onboarding?device=nanoX
Bridge (deprecated) ledgerwallet://bridge?origin=...&appName=...

Legacy Protocol Support

All routes documented above also work with the legacy ledgerlive:// protocol. Simply replace ledgerwallet:// with ledgerlive://:

Recommended Legacy (still works)
ledgerwallet://portfolio ledgerlive://portfolio
ledgerwallet://send?currency=btc ledgerlive://send?currency=btc
ledgerwallet://discover/paraswap ledgerlive://discover/paraswap

⚠️ Note: For new implementations, prefer ledgerwallet:// to ensure future compatibility.

Clone this wiki locally