# Getting started

In this section of the Developer Portal, you will find the resources to build, test and submit C and Rust apps, Ethereum plugins and Cloned coins apps, compatible with all Ledger devices (Ledger Nano S+, Ledger Nano X, Ledger Stax and Ledger Flex).

## Reach an agreement with our team

### 1. Contact us and introduce your project

[Fill in this form](https://tally.so/r/mORpv8) to introduce your project. We’ll get back to you to align on your device app development and its integration in . After meeting with our teams, you’ll be directed to one of the following paths.

### 2.a. Ledger Development

You can sign a contract with Ledger for development of your device app and full support of your blockchain in .

This option includes:

- Development of your device app with Clear Signing for transactions
- Integration into , including the features defined in the SOW and the relevant  services
- Ongoing maintenance and updates of the integration
- Mandatory security audits for each device app update, managed within Ledger’s process
- Direct collaboration with Ledger’s engineering team throughout the project

### 2.b. Autonomous Development

If an agreement with Ledger is not feasible, you can still develop a device app on your own.

**What to expect**

- Every device app must pass a security audit before it can appear on the  “My Ledger” app list.
- You will build a device app compatible with third-party wallets; users won’t be able to manage their assets in  unless an agreement is signed later.

**Security audit**

Before publication, your app must go through a functional and security audit. The audit is performed by one of our approved partners, at your expense. Both partners follow Ledger specifications and deliver a full report including potential vulnerabilities.

**Audit partners**

When your device app is ready for audit, contact one of our partners:

- [Kudelski IoT](https://www.kudelski-iot.com/services-and-systems/ledger-security-audit)
- [Quarkslab](https://www.quarkslab.com/) — [contact them here](mailto:qb_ledger@quarkslab.com)

> **Note:** Ensure your device app meets all necessary requirements and is fully tested before initiating a security audit with our partners.

**Agreement details**

When contracting with an auditor, align on:

- **Time** — When the audit can start
- **Cost** — The audit is entirely at your expense
- **Maintenance** — Include a clause for updates or plan to sign a new contract for major updates. Otherwise, Ledger will not update your app and it may be delisted from the My Ledger app list if it becomes incompatible.

> **Note:** Ledger is not a party to the contract between you and the auditor.

## Tools and boilerplates

- To learn how to quickstart a project with the Ledger VS code extension, read [this guide](./beginner/vscode-extension). The extension makes the environment set up, the app building, and the tests very easy.
- To start developing your project with the boilerplates, go in the How-to section in "Integration walkthroughs" and you will find [the C Boilerplate](./integration/how-to/c-boilerplate), [the Rust Boilerplate](./integration/how-to/rust-boilerplate), [the Ethereum plugin doc](./integration/how-to/plugin) and [the Cloned coins apps integration process](./integration/how-to/clone).

## Technical information

### Languages

| Component                                         | Developing language |
| ------------------------------------------------- | ------------------- |
| [Ledger OS](./explanation/ledger-os/introduction) | `C`                 |
| Applications                                      | `C` or `Rust`       |
| Plugins                                           | `C`                 |
| Tools (including tests)                           | `Python` (mostly)   |

### Data formats

| Component                   | Format |
| --------------------------- | ------ |
| CI (GitHub Workflows)       | `YAML` |
| `ledger_app.toml` manifests | `TOML` |
| App database                | `JSON` |
