Gem - Open Source Android Crypto Wallet. Migrated to https://github.com/gemwalletcom/wallet
๐ Gem Wallet - Android
Gem Wallet is a powerful and secure mobile application designed for Android and iOS. It provides users with a seamless and intuitive experience to manage their digital assets and cryptocurrencies.
The app is developed using Kotlin/Compose. The codebase also includes a Core library implemented in Rust, providing efficient and secure cryptographic operations for enhanced data protection.
๐ค Android available on the Google Play Store
๐ฒ๏ธ iOS available on the App Store
โจ Features
- ๐จโ๐ฉโ๐งโ๐ฆ Open Source & Community Owned with web3 ethos.
- ๐๏ธ Self-Custody Exclusive ownership and access to funds.
- ๐ Secure and Privacy preserving wallet.
- ๐ Multi-Chain Support: Supports Ethereum, Binance Smart Chain, Polygon, Avalanche, Solana, and more.
- ๐ Swaps: Exchange cryptocurrencies quickly and easily.
- ๐ Staking: Earn rewards by staking assets.
- ๐ WalletConnect: Secure communication with decentralized applications (dApps).
- ๐ Fiat On/Off Ramp: Easily convert between cryptocurrencies and traditional currencies.
- ๐๏ธ Backup and Recovery: Simple backup and recovery options.
- ๐ Real-Time Market Data: Integrated with real-time price tracking and market data.
- ๐ Instant Transactions: Fast and efficient transactions with low fees.
- ๐ Customizable Notifications: Set alerts for transactions, price changes, and important events.
- ๐ก๏ธ Advanced Security: Encryption and secure key management.
๐โโ๏ธ Contributing
- Look in to our Github Issues
- See progress on our Github Project Board
- Public Roadmap
๐ฅฐ Community
- Install the app Gem Wallet
- Join our Discord
- Follow on Twitter or join Telegram
๐ Getting Help
- Join the support Telegram to get help, or
- Open a discussion with your question, or
- Open an issue with the bug
๐ Getting Started
Android Development
[!NOTE]
We recommend using Apple silicon Macs for development (arm64), if you're using Intel Mac, you need to addx86_64totargetsundercargoNdkinbuild.gradle.kts.
- Download and install latest Android Studio
- Install JDK 17, preferably using SDKMAN
- Install
justby runningbrew install justif you don't have it already. - Run
just bootstrapto install all nessesary tools (Rust / NDK). - Generate a GitHub personal token with
read:packagespermission and add it to yourlocal.propertiesfile:
gpr.username=<your-github-username>
gpr.token=<your-github-personal-token>
Optionally, you can generate models and kotlin bindgen by running just generate, Gem Android consumes wallet core library as a local module, if you need to update it, ping us or create an issue on here.
๐ Security Scanning
We run MobSF mobsfscan to catch insecure patterns in our Kotlin/Java sources.
- Local usage: Install
uvand runuv tool install mobsfscanonce. After that,just mobsfscan(internallyuv tool run mobsfscan -- --type android --config .mobsf --exit-warning) scans the Android codebase with the repo-wide configuration and fails onWARNINGandERRORfindings. - CI enforcement:
.github/workflows/mobsfscan.ymlruns the same command on every push/PR tomain, uploads a SARIF report to GitHub code scanning, and fails the workflow if issues remain.
// mobsf-ignore: rule_id comment with context.
โป๏ธ Reproducible Release Verification
See reproducible/README.md for the Docker-based verification workflow, prerequisites, and known gaps. You can also grab the latest CI-built APK from the Docker workflow artifact gem-android-apk on GitHub Actions.
๐จโ๐งโ๐ฆ Contributors
We love contributors! Feel free to contribute to this project but please read the Contributing Guidelines first!
๐ Localization
Join us in making our app accessible worldwide! Contribute to localization efforts by visiting our Lokalise project
โ๏ธ License
Gem Wallet is open-sourced software licensed under the ยฉ GPL-3.0.