An open API service indexing awesome lists of open source software.

https://github.com/gemwalletcom/gem-android

Gem - Open Source Android Crypto Wallet
https://github.com/gemwalletcom/gem-android

bitcoin bitcoin-wallet crypto-wallet cryptocurrency defi ethereum ethereum-wallet solana sui ton ton-wallet wallet

Last synced: 5 days ago
JSON representation

Gem - Open Source Android Crypto Wallet

Awesome Lists containing this project

README

          

# πŸ’Ž Gem Wallet - Android

[![Android Tests](https://github.com/gemwalletcom/gem-android/actions/workflows/ci.yml/badge.svg)](https://github.com/gemwalletcom/gem-android/actions/workflows/ci.yml)
[![License](https://badgen.net/github/license/gemwalletcom/gem-android)](https://github.com/gemwalletcom/gem-android/blob/main/LICENSE)
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/gemwalletcom/gem-android)
[![Gem Wallet Discord](https://img.shields.io/discord/974531300394434630?style=plastic)](https://discord.gg/aWkq5sj7SY)
[![X (formerly Twitter) Follow](https://img.shields.io/twitter/follow/GemWalletApp)](https://x.com/GemWalletApp)
[![Telegram](https://img.shields.io/badge/Telegram-2CA5E0?style=flat&logo=telegram&logoColor=white)](https://t.me/gemwallet_developers)

Gem Wallet is a powerful and secure mobile application designed for Android and [iOS](https://github.com/gemwalletcom/gem-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](https://github.com/gemwalletcom/core) library implemented in Rust, providing efficient and secure cryptographic operations for enhanced data protection.

πŸ€– [Android available on the Google Play Store](https://play.google.com/store/apps/details?id=com.gemwallet.android&utm_campaign=github&utm_source=referral&utm_medium=github)

πŸ“²οΈ [iOS available on the App Store](https://apps.apple.com/app/apple-store/id6448712670?ct=github&mt=8)

## ✨ 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](https://github.com/gemwalletcom/gem-android/issues)
- See progress on our [Github Project Board](https://github.com/orgs/gemwalletcom/projects/2)
- Public [Roadmap](https://github.com/orgs/gemwalletcom/projects/4)

See our [Contributing Guidelines](./CONTRIBUTING.md).

## πŸ₯° Community

- Install the app [Gem Wallet](https://gemwallet.com)
- Join our [Discord](https://discord.gg/aWkq5sj7SY)
- Follow on [Twitter](https://twitter.com/GemWalletApp) or join [Telegram](https://t.me/GemWallet)

## πŸ™‹ Getting Help

- Join the [support Telegram](https://t.me/gemwallet_developers) to get help, or
- Open a [discussion](https://github.com/gemwalletcom/gem-android/discussions/new) with your question, or
- Open an issue with [the bug](https://github.com/gemwalletcom/gem-android/issues/new)

If you want to contribute, you can use our [developers telegram](https://t.me/gemwallet_developers) to chat with us about further development!

## πŸš€ Getting Started

### Android Development

> [!NOTE]
> We recommend using Apple silicon Macs for development (arm64), if you're using Intel Mac, you need to add `x86_64` to `targets` under `cargoNdk` in `build.gradle.kts`.

1. Download and install latest [Android Studio](https://developer.android.com/studio)
2. Install JDK 17, preferably using [SDKMAN](https://sdkman.io/)
3. Install `just` by running `brew install just` if you don't have it already.
3. Run `just bootstrap` to install all nessesary tools (Rust / NDK).
4. Generate a GitHub personal [token](https://github.com/settings/tokens) with `read:packages` permission and add it to your `local.properties` file:

```properties
gpr.username=
gpr.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](https://github.com/gemwalletcom/wallet-core-release).

## πŸ” Security Scanning

We run [MobSF mobsfscan](https://github.com/MobSF/mobsfscan) to catch insecure patterns in our Kotlin/Java sources.

- **Local usage**: Install [`uv`](https://docs.astral.sh/uv/getting-started/installation/) and run `uv tool install mobsfscan` once. After that, `just mobsfscan` (internally `uv tool run mobsfscan -- --type android --config .mobsf --exit-warning`) scans the Android codebase with the repo-wide configuration and fails on `WARNING` and `ERROR` findings.
- **CI enforcement**: `.github/workflows/mobsfscan.yml` runs the same command on every push/PR to `main`, uploads a SARIF report to GitHub code scanning, and fails the workflow if issues remain.

Only suppress detections when you fully understand the riskβ€”ideally fix the code; otherwise, add a targeted `// 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](CONTRIBUTING.md) first!

## 🌍 Localization

Join us in making our app accessible worldwide! Contribute to localization efforts by visiting our [Lokalise project](https://app.lokalise.com/public/94865410644ee707546334.60736699)

## βš–οΈ License

Gem Wallet is open-sourced software licensed under the Β© [GPL-3.0](LICENSE).