For developers
Want to contribute to Trezor firmware? Great!
You can find the Trezor Firmware repository here. This repository is a so called monorepo, containing several different (yet very related) projects that together form the Trezor Firmware ecosystem.
You can also find the documentation for Trezor Suite here, which provides technical information for Suite developers, third-party wallet developers integrating Trezor, and users interested in implementation details.
Adding a small feature or a fix
If your change is somewhat subtle, please submit an Issue first in the trezor-firmware repository, so we can review the request. After the review you can submit a pull request (PR).
Your PR should follow these criteria:
- The code is properly tested.
- Tests must pass on CI.
- The code is properly formatted. Use
make style_check
to check the format andmake style
to do the required changes. - The generated files are up-to-date. Use
make gen
in repository root to make it happen. - Commits must have concise commit messages, we endorse Conventional Commits.
- A changelog entry must be part of the pull request.
Adding a new coin
Forks and derivatives
If the coin you are adding is a fork of Bitcoin or other cryptocurrency we already support (in other words, a new app is not needed), please contact us first by creating an issue in the trezor-firmware repository about adding the coin.
If you are asked to submit a PR, you can modify the definitions in the trezor-firmware repository and file a PR. The location depends on the type of the asset to be added:
- Bitcoin clones should be added to the common/defs/bitcoin subdirectory as separate .json files
- Ethereum networks/chains should be added to ethereum-lists/chains
- Ethereum tokens should be added to the ethereum-lists/tokens repository
- NEM mosaics should be added to the common/defs/nem/nem_mosaics.json file
Other
At the moment, we do not have the capacity to add new coins that do not fit the aforementioned category. Our current product goal is to unite what we support in firmware and in Trezor Suite, and since firmware is way ahead of Suite, we want to pause for a bit, implement the remaining coins into Suite, and then consider adding new coins. This effectively means that our team will not be accepting any requests to add new cryptocurrencies.