- Last built against
1.0.1Flipper Zero firmware release - Using Trezor crypto libs from
core/v2.5.3release - NOTE: This app uses very close to the maximum Flipper Zero RAM. If you get
furi_check failedon launch, try running again!
- ETH (or ERC-20):
xtruan.ethor0xa9Ad79502cdaf4F6881f3C2ef260713e5B771CE2 - BTC:
16RP5Ui5QrWrVh2rR7NKAPwE5A4uFjCfbs
The goal of this project is to see how much crypto functionality can be brought to the Flipper Zero.
- Install from here: https://lab.flipper.net/apps/flipbip
- If you do not have one, download a Flipper Zero firmware to get the
fbtbuild tool - Plug your Flipper Zero in via USB
- Copy the contents of this folder into the
applications_userfolder of your firmware Modify thesite_scons/cc.sconsfile in the Flipper Zero firmware to add the"-Os"flag
Then run the command:
./fbt COMPACT=1 DEBUG=0 launch_app APPSRC=applications_user/FlipBIP
The application will be compiled and copied onto your device
- Trezor crypto C code ported into
cryptosubfolder- Adapted to use Flipper hardware RNG (see
crypto/rand.c) - Imports and some C library functions modified for compatibility with FBT
- Adapted to use Flipper hardware RNG (see
- Navigation and UI adapted from FAP Boilerplate app
- BIP39 mnemonic generation
- 24, 18, or 12 words configured in settings
- BIP39 mnemonic to BIP39 seed generation
- Hierarchical Deterministic (HD) wallet generation from seed
- Generation of offline
m/44'/0'/0'/0BTC wallet - Generation of offline
m/44'/60'/0'/0ETH wallet (coded from the $SPORK Castle of ETHDenver 2023!) - Generation of offline
m/44'/3'/0'/0DOGE wallet - Generation of offline
m/44'/133'/0'/0ZEC transparent address wallet (by @wh00hw) - Similar features to: https://iancoleman.io/bip39/
- Generation of offline
- Saving wallets to SD card
- Wallets are saved to SD card upon creation in
apps_data/flipbip- NOTE:
apps_datafolder must already exist on SD card!
- NOTE:
- Saved wallets can be viewed between app runs
- Wallets are encrypted with a randomly generated key, and that key is also encrypted
.flipbip.datand.flipbip.keyfiles are both required to be inapps_data/flipbip- Backups of both these files
.flipbip.dat.bakand.flipbip.key.bakare also maintained - If you want to externally back up your wallet, I recommend copying all these files, and storing the
keyanddatfiles seperately
- NOTE: The wallets should be decently tough to crack off of a Flipper, however any Flipper with the app installed can load a wallet in the
apps_data/flipbipdirectory if both thekeyanddatfile are present. Therefore, it is HIGHLY RECOMMENDED to use the BIP39 passphrase functionality and store the passphrase in your brain or on paper separately from the Flipper!
- Wallets are saved to SD card upon creation in
- BIP39 passphrase support
- Configured in settings, not persisted between runs for security
- Import your own mnemonic
- Lots of typing required but you can now use the wallet with an existing mnemonic you have saved
- Useful to convert paper backup to keys and receive addresses without relying on a laptop or phone
- Improved receive address generation features
- Addresses are now generated at the same time as other pieces of wallet info
- This slows down initial wallet load, but makes UI much more responsive
- QR code files are now generated for each address and stored in the
apps_data/flipbipdirectory- This app is required to view the QR code files: https://github.com/bmatcuk/flipperzero-qrcode
- NOTE: This happens during the
View Walletstep; you must view a wallet after generating/importing a wallet in order to ensure the address QR files are correct
- Addresses are now generated at the same time as other pieces of wallet info
- Broke out crypto functionality into its own library using
fap_private_libsfeature
- More coin types
- Support for more custom BIP32 wallet paths
- Custom wallet security
- User specified password
- USB/Bluetooth wallet functionality