-
Notifications
You must be signed in to change notification settings - Fork 454
LLM:DeepLinking
It is possible to launch Ledger Live Mobile and open a specific section or modal by using a deep link.
All Ledger Live deep links start with the ledgerlive:// URI.
Every route is preceded by the protocol ledgerlive://.
Some routes allow you to use query params to pass additional context.
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.
Query String Parameters: None
Examples:
-
ledgerlive://orledgerlive://portfolio
Examples:
-
ledgerlive://accountswill redirect to accounts page -
ledgerlive://accounts?currency=btcwill open the first bitcoin account found -
ledgerlive://accounts?currency={{currency}}&address={{my_address}}should redirect to the corresponding account page if address matching an account is found, if not it falls back to the {{currency}} account page
Query String Parameters:
- currency (optional): the ticker or name of the currency
Examples:
-
ledgerlive://add-accountOpens Add Account Modal -
ledgerlive://add-account?currency=bitcoinOpens Add Account Modal with Bitcoin pre-filled
Examples:
-
ledgerlive://sendwill redirect to send page -
ledgerlive://send?currency=ethereumwill redirect to send page with ethereum accounts search pre-filled
Examples:
-
ledgerlive://receivewill redirect to receive page -
ledgerlive://receive?currency=ethereumwill redirect to receive page with ethereum accounts search pre-filled
ledgerlive://buy will redirect to buy page
ledgerlive://buy/bitcoin will redirect to buy page with bitcoin accounts search prefilled
ledgerlive://sell will redirect to sell page
ledgerlive://sell/bitcoin will redirect to sell page with bitcoin accounts search prefilled
Query String Parameters: None
- installApp: the search query to be pre-filled when MyLedger opens
Examples:
-
ledgerlive://myledgerwill redirect to MyLedger page -
ledgerlive://myledger?installApp=bitcoinwill redirect to MyLedger page with a pre-filled search for bitcoin
ledgerlive://swap will redirect to swap page
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:
-
ledgerlive://discoverwill redirect to discover page -
ledgerlive://discover/paraswapwill redirect to the discover catalog page of Paraswap -
ledgerlive://discover/paraswap?accountId=1will redirect to the discover catalog page of Paraswap with a pre-selected first account
Query String Parameters:
- uri : uri to be passed
Example:
ledgerlive://wc?uri=${encodeURIComponent(url)}
ledgerlive://settings/ledgerlive://settings/generalledgerlive://settings/accountsledgerlive://settings/aboutledgerlive://settings/helpledgerlive://settings/developerledgerlive://settings/notificationsledgerlive://settings/experimental
Opens the assets (currencies) list page.
Query String Parameters:
-
showHeader(optional):true | false— toggles header visibility -
isSyncEnabled(optional):true | false— controls sync availability -
sourceScreenName(optional): source screen identifier (e.g.Portfolio)
Examples:
ledgerlive://assetsledgerlive://assets?showHeader=falseledgerlive://assets?showHeader=false&isSyncEnabled=enabled&sourceScreenName=Portfolio
Opens the asset (currency) page for a given coin.
URL Parameter:
-
coinName(required): coin identifier (e.g.bitcoin,ethereum)
Examples:
ledgerlive://asset/bitcoinledgerlive://asset/ethereumledgerlive://asset/solana
Examples:
-
ledgerlive://marketwill redirect to market page
Opens the market page for a given coin.
URL Parameter:
-
coinName(required): coin identifier (e.g.bitcoin,ethereum)
Examples:
ledgerlive://market/bitcoinledgerlive://market/ethereum
Query String Parameters:
-
currencyIds(required): comma-separated list of currency IDs in uppercase
Examples:
ledgerlive://landing-page-large-mover?currencyIds=BTC,ETH,SOL,XRP
ledgerlive://ledgersync
ledgerlive://sync-onboarding
Query String Parameters:
- device : type of device
Example:
ledgerlive://post-onboarding?device=stax
- Landing Pages:
ledgerlive://landing-page(Example:ledgerlive://landing-page?useCase=LP_Generic) - Ledger Sync:
ledgerlive://ledgersync ledgerlive://hw-purchase-successledgerlive://custom-imageledgerlive://scan-accounts
Testing on android in order to test in debug your link run using adb
adb shell am start -W -a android.intent.action.VIEW -d "ledgerlive://{{YOUR_URL}}" com.ledger.live.debug
Beware of escaping the query parameters starting with "&", otherwise you will lose them :)
xcrun simctl openurl booted ledgerlive://{{YOUR_URL}}
run
pnpm mobile test-deep-links
Then go to the provided link in order to see a test web page. For this either
- redirect the :8000 port on your chrome remote device settings
- use
adb reverse tcp:8000 tcp:8000 - use the network link provided by the command.
- Ledger Live Desktop
- Ledger Live Mobile
-
Ledger Live Common
- Introduction
- Currency Models
- Currency Bridge
- Account
- Account Bridge
- apps
- appsCheckAllAppVersions
- ledger-live bot
- Canonical Ways to Investigate Bugs
- Coin Integration Introduction
- Countervalues
- Packages Duplicates
- Derivation
- Developing with CLI
- Developing
- Gist Firmware Update
- Gist Transaction
- Hardware Wallet Logic
- Socket
- Assorted tips
- Integration Tests
- Process
- Monorepository Migration Guide
- Issues, Workaround and Tricks
- Common CI Troubleshooting
- Create staging builds using the CI
- Deprecated