Developers | Integrating with Ledger
⟵ back to Ledger.com
Need Customer Support?
Embedded App
Connect your app
Blockchain Support
Tokens
Live App
DApp Connect Kit
NFT
404
Page not found :(
The requested page could not be found.
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 Flows for LLD
UI Flows 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
UI/UX Guidelines
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
Application Structure and I/O
I/O - aye, no?
Blind Signing
Application Environment
BOLOS Features
Secrets, Passphrases and Attestations
Hardware Architecture
Secure chips served with a helping of protocol
Introduction
A bird's eye view
Build & Load App
Clone Applications
Wich process for your Ethereum clone?
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
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
External Development
Frequently Asked Questions
Ledger Framework
Global architecture
Icons
BOLOS-App Interaction
Getting smooth exchanges
Developing and submitting an Embedded App
A comprehensive guide on how to develop and submit applications for Ledger devices
Manage your device with ledgerctl
Low-level display management
Hold your breath. Then jump in
App updates
Marketing
Memory alignment
Get padded if you're not aligned
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 flow
Release types and requirements
Required programming skills
Security
Ensuring your app passes the security review
Security Audits
Address verification and sharing
STAX Graphic Library
App’s home
Infos and settings
Interactions with wallet clients
Messages and advanced signing
Process
Transactions
App submission
Support
Pitfalls & Troubleshooting
Demo
Requirements and Coding guidelines versions
Warranty and liability
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)
Introduction
Manifest
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
What do we need?
Ledger's Exchange SDK
Provider's Endpoints
Provider's LiveApp
Introduction
Device transaction approval
Edge Cases
Partner Live App
Quote display and user preferences
Start here
Transaction Status
ASA
Enabling clear-signing of EIP-712 messages
Tokens on EVM chains
Addition or modification
Frequently Asked Questions
Introduction
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