Load a dApp in the Discover section
☞ The renaming of “Ledger Live” to “Ledger Wallet” and “wallet” (in the hardware sense) to “signer” is still in progress. This page may contain legacy references that will be updated.
In this tutorial, we will write a Live App manifest and load it locally so the dApp appears in the Discover section of Ledger Wallet. By the end, we will have a local app entry that we can open on desktop, and on Android if we also load the manifest on mobile.
This tutorial builds on the manifest field reference and Developer mode.
What you will learn
- What a manifest file contains
- How we load a local manifest on desktop
- How we load a manifest on Android
- Where the field reference lives for later edits
Step 1: Write the manifest
To test and integrate the application, we first write a Manifest file. It must include mandatory information such as the app identity, the URL, the networks, the permissions, and the hardware and software features. The Live app manifest reference lists every required field.
Let’s start from this Lido example. If we use Polygon during development, we replace [your-key] with our own node endpoint. In production, Ledger overrides nodeURL with the approved node for the dApp.
{
"id": "lido",
"name": "Lido",
"url": "https://stake.lido.fi/?embed=true",
"dapp": {
"nanoApp": "Lido",
"networks": [
{
"currency": "ethereum",
"chainID": 1,
"nodeURL": "https://eth-dapps.api.live.ledger.com"
},
{
"currency": "bsc",
"chainID": 56,
"nodeURL": "https://bsc-dataseed.binance.org/"
},
{
"currency": "polygon",
"chainID": 137,
"nodeURL": "https://polygon-mainnet.g.alchemy.com/v2/[your-key]"
},
{
"currency": "arbitrum",
"chainID": 42161,
"nodeURL": "https://arb1.arbitrum.io/rpc"
},
{
"currency": "optimism",
"chainID": 10,
"nodeURL": "https://mainnet.optimism.io"
}
]
},
"homepageUrl": "https://lido.fi/",
"icon": "https://cdn.live.ledger.com/icons/platform/lido.png",
"platform": "all",
"apiVersion": "^2.0.0",
"manifestVersion": "2",
"branch": "stable",
"categories": ["staking", "defi"],
"currencies": ["ethereum", "bsc", "polygon", "arbitrum", "optimism"],
"content": {
"shortDescription": {
"en": "Stake your ETH with Lido to earn daily staking rewards."
},
"description": {
"en": "Stake your ETH with Lido to earn daily staking rewards."
}
},
"permissions": [],
"domains": ["https://"]
}We should now have a JSON file we can point Ledger Wallet at.
Step 2: Load the Live App on desktop
Let’s unlock Developer mode in Ledger Wallet and add a local app. That option lets us browse for local files and add a local app from our manifest. After we import the file, the application appears in Discover under the name we set in name.
Step 3: Load the Live App on mobile (Android only)
On Android, we go to Settings → Developer and select Load Platform Manifest. We paste the manifest there and load it. The same Developer mode entry is documented in Enabling the developer mode.
You have loaded a local Live App from a manifest. Next: Live app manifest reference, Adding a Live App to the Discover section.