Developing and submitting a device app

Development and submission phases

See the complete submission flow here.

Your developer journey

Engage with the Ledger developer community

Joining Discord is not required to code your device application, but it will be easier to meet with our team and discuss the specifics of your project. Join us on the Ledger's Discord server (opens in a new tab) and introduce your project in the #embedded-app channel.

Understand the process & meet the requirements

Ensure that you have a clear understanding of the Process and are able to meet the Requirements and produce the deliverables.

Begin Coding

Device applications are primarily developed in C using the Blockchain Open Ledger Operating System (BOLOS).

To develop a device application, ensure that you:

Used languages and format


ComponentDeveloping language
OS BolosC
ApplicationsC or Rust
Tools (including tests)Python (mostely)

Data formats

CI (GitHub Workflows)YAML
ledger_app.toml manifestsTOML
App databaseJSON

The available SDK is for Apps written in C

For the Apps written in Rust, a Rust SDK is available (only for Nano S/S+/X devices, Stax not supported yet).

Documentation version

The current version of the Device App documentation displayed on the Developer Portal is v04_20240126.


Interested in enhancing our documentation? Feel free to leave your suggestions in the comment box at the bottom of each page. We value your input.

Copyright © Ledger SAS. All rights reserved. Ledger, Ledger Nano S, Ledger Vault, Bolos are registered trademarks of Ledger SAS