Gem Wallet Core is the core engine powering Gem Wallet, a fully open source, secure and decentralized crypto wallet designed for Bitcoin, Ethereum, Solana, BNB Chain, Base, Sui and much more. Built in Rust, it ensures high performance, safety, and reliability.
- 🚀 High-Performance: Completely native UI and Core is written in Rust for speed and safety.
- 🔐 Secure: Utilizes strong cryptographic standards.
- 🛠 Extensible: Designed to support additional features and integrations.
- 🤝 Open Source: Community-driven and actively maintained.
Gem Wallet Core serves as the backbone for both backend and frontend apps, handling various tasks, including:
- Transaction indexing and push notifications
- Asset price, charts and alerts
- Fiat on and off-ramps
- ENS, Solana and more name resolution
- NFTs
- Native and cross-chain swaps
- Native BNB Chain and Sui staking
- More ...
Run just install
to install rust, typeshare
- Create a new database
api
and grant privileges tousername
role - Run
diesel migration run
to create tables and do migrations
Run API locally: cargo run --package api
Cross platform Rust library for iOS and Android with native async networking support.
Download Gemstone-spm.tar.bz2
from the releases page.
Unzip and add it to your project as a local Swift Package.
Add the following to your libs.versions.toml
file:
[versions]
gemstone = "<latest_version>"
[libraries]
gemstone = { module = "com.gemwallet.gemstone:gemstone", version.ref = "gemstone" }
Add the following to your build.gradle.kts
file:
dependencies {
api(libs.gemstone)
}
allprojects {
repositories {
maven {
url = uri("https://maven.pkg.github.com/gemwalletcom/core")
credentials {
username = <github_username>
password = <github_token>
}
}
}
}
We welcome contributions! To get started:
- Look for issues with the
help wanted
labels. - Fork the repository.
- Create a new branch (feature-xyz).
- Commit your changes and push.
- Open a Pull Request.
This project is licensed under the MIT License.
Made with ❤️ by the Gem Wallet community.