Nothing to see here | Developers
⟵ back to Ledger.com
Need Customer Support?
Embedded App
Connect your app
Blockchain Support
Tokens
Live App
DApp Connect Kit
NFT
Nothing to see here
Getting Started
Theme Features
Customization
Embedded App
Blockchain support
Tokens
Live App
Connect your app
DApp Connect Kit
NFT
X
Search through our developers documentation
3 - Address derivation
Live Common Bridge Test
Ledger Live common bugs
1 - Cryptoassets Library
7 - Ledger Live Desktop and Mobile
Frequently Asked Questions
Ledger Live Architecture
This section describes the high level technical architecture of Ledger Live and how the different components interact.
General Process
This article describes the general process and way of working Ledger will follow while interacting with the teams wishing to add their currency on Ledger Live.
Generic test plan
2 - Embedded App JS Bindings
JS Bridge
Building the CLI for development
4 - Add accounts: light sync
Requirements and installation
Ledger Live mobile and desktop build
UI Guidelines for LLD
UI Guidelines for LLM
Most useful commands for the CLI
React hooks (optional/advanced)
Required programming skills
6 - Send
5 - Add accounts: full sync
Terms and Conditions
E2E UI Tests on Desktop and Mobile
Work breakdown structure
Writing Tests
Button behaviour
FAQ
Glossary
Implementation
What is the DApp Connect Kit?
Web3 Check
2 - Coding
Add a provider
Boilerplate plugin
Introduction
Setup
Finalize
Reference Flow
Init contract
Overview
Provide parameter
Provide Token
Query Contract ID
Query Contract UI
Selector Setup
Testing
What's next
1 - General
Write and load the manifest
Process
Plugin requirements and submission
3 - Security
Advanced display management
Advanced flows for advanced uses
1. Get the App Builder Docker images
Application Structure and I/O
I/O - aye, no?
Automated Testing
Application Environment
BOLOS Features
Secrets, Passphrases and Attestations
Hardware Architecture
Secure chips served with a helping of protocol
Introduction
A bird's eye view
2. Build the Application
External Development
Easy-peasy tutorial
In less time than having a cup of coffee
Clone Applications
Classic Development
Fast-Track
Experimentation
App Porting for Stax
Wich process for your Ethereum clone?
Companion wallet
Cosmos-like
blake2b_state__
cx_aes_key_s
cx_blake2b_s
cx_bn_mont_ctx_t
cx_curve_domain_s
cx_curve_montgomery_s
cx_curve_twisted_edwards_s
cx_curve_weierstrass_s
cx_des_key_s
cx_ec_point_s
cx_ecfp_256_extended_private_key_s
cx_ecfp_256_private_key_s
cx_ecfp_256_public_key_s
cx_ecfp_384_private_key_s
cx_ecfp_384_public_key_s
cx_ecfp_512_extented_private_key_s
cx_ecfp_512_private_key_s
cx_ecfp_512_public_key_s
cx_ecfp_640_private_key_s
cx_ecfp_640_public_key_s
cx_ecfp_private_key_s
cx_ecfp_public_key_s
cx_errors.h
cx_groestl_s
cx_hash_header_s
cx_hash_info_t
cx_hmac_ripemd160_t
cx_hmac_sha256_t
cx_hmac_sha512_t
cx_hmac_t
cx_ripemd160_s
cx_rsa_1024_private_key_s
cx_rsa_1024_public_key_s
cx_rsa_2048_private_key_s
cx_rsa_2048_public_key_s
cx_rsa_3072_private_key_s
cx_rsa_3072_public_key_s
cx_rsa_4096_private_key_s
cx_rsa_4096_public_key_s
cx_rsa_private_key_s
cx_rsa_public_key_s
cx_sha256_s
cx_sha3_s
cx_sha512_s
dir_a69a61e9293a18e19774232b7e40aad8
dir_d44c64559bbebec7f509842c48db8b23
dir_f19cb56d6ecfeb72444413e62ae31a52
File list
globals_b
globals_d
globals_r
globals_s
globals_u
hash_state_s
Start here
Introduction
lcx_aead.h
lcx_aes.h
lcx_aes_gcm.h
lcx_blake2.h
lcx_blake3.h
lcx_common.h
lcx_crc.h
lcx_des.h
lcx_ecdh.h
lcx_ecdsa.h
lcx_ecfp.h
lcx_ecschnorr.h
lcx_eddsa.h
lcx_groestl.h
lcx_hash.h
lcx_hmac.h
lcx_math.h
lcx_pbkdf2.h
lcx_ripemd160.h
lcx_rng.h
lcx_rsa.h
lcx_sha256.h
lcx_sha3.h
lcx_sha512.h
ox_aes.h
ox_bn.h
ox_crc.h
ox_des.h
ox_ec.h
ox_rng.h
uint64_s
Examples of using cryptography functions
Application Debug
Making testing easier
Submission form Content
Icons and interface
Display Management Design
With Oscars for on-screen performance
Display Management Flows
With Oscars for on-screen performance
Documentation
Ensuring your documentation is well documented
1 - Using the 44/60 path
2 - All other paths
Frequently Asked Questions
Content
Function Tests
Functions & Staking Features
BOLOS-App Interaction
Getting smooth exchanges
Introduction
Developing and submitting an Embedded App
Find the necessary instructions to develop and submit an app for Ledger devices
Input/output
Manage your device with ledgerctl
Linux users
Mac Users
Low-level display management
Hold your breath. Then jump in
App updates
Marketing
Memory alignment
Get padded if you're not aligned
Memory
Parachain
Persistent Storage
Not for goldfish
PIN bypass
Position-Independent Code
Printf
Application Isolation
Checking the apps on the Ledger Nano S
Applications for HD Trees
HD Trees and the 24 words
Introduction
PSDs - The secure portal to your assets, not a bank
HD Key Generation
The children of infinite trees
The Master Seed
How the 24 words are used on the device
Release Types
Required programming skills
General
Security
Ensuring your app passes the security review
Security Audits
Security requirements
Start Here
Address verification and sharing
STAX Graphic Library
App’s home
Icons and interface
Infos and settings
Interactions with wallet clients
Messages and advanced signing
Stax porting steps
Transactions
Submission form
Support
Test funds
Pitfalls & Troubleshooting
Types of apps and global architecture
Demo
7 Use-cases
Requirements and Coding guidelines versions
Warranty and liability
What to do
Do it yourself, with a signpost
Developer Journeys
Enabling the developer mode
Frequently Asked Questions
Review guidelines
Required programming skills
Start here
NFT image requirements
How-to add Ledger Stax Metadata to your NFTs with Manifold Studio
How-to use the Ledger Stax Metadata tool
How-to Create Images Optimized For Ledger Stax
Update mutable metadata (in-depth guide)
Broadcast
Fund
Release
Sell
Setup
Sign
Swap (TDB)
Test
Introduction
Debug App
Manifest
Live App SDK
Release
Setup
Manifest
Import
Test
Conclusion
Introduction
Use Cases
UX requirements
Tests
Build (Linux)
Build (WSL2)
Speculos emulator
REST API
Automation: press buttons automatically
Clients: how to send APDUs
Debug: how to use GDB
Docker
Docker with an M1 chip
Semihosting as an additional debug mechanism
Usage
Flows
How to
Ledger's Exchange SDK
What do we need?
Provider's Endpoints
Provider's LiveApp
Test your LiveApp
Introduction
ASA
Enabling clear-signing of EIP-712 messages
Process
Addition or modification
Frequently Asked Questions
Introduction
Form content
Addition or modification
TRC10 and TRC20
Why is U2F deprecated ?
Application Architecture
Architecture Dataflow
Choose the right transport
Clear Signing for ERC721, ERC1155 and ERC20
Ledger Logos
Node HID integration
Automatic firmware applications opening / closing
Overview
Introduction on wallet connection
Prerequisites
React Native HID (Android only)
React Native Bluetooth on Android (Nano X only)
React Native Bluetooth on iOS (Nano X only)
Required programming skills
Introduction on wallet connection
Why my app can not communicate with an Ledger Embedded App?
Transfer of Ethers between accounts
Transfer of Sol between accounts
Call a Smart Contract
Sign a personal message
Interact with the Cosmos App
Where can I find the devices USB identifiers?
Web Bluetooth
Web USB/HID