Trust Wallet Core is an open source, cross-platform, mobile-focused library implementing low-level cryptographic wallet functionality for a high number of blockchains. It is a core part of the popular Trust Wallet, and some other projects. Most of the code is C++ with a set of strict C interfaces, and idiomatic interfaces for supported languages: Swift for iOS and Java (Kotlin) for Android.
For comprehensive documentation, see developer.trustwallet.com.
Wallet Core supports more than 60 blockchains: Bitcoin, Ethereum, BNB, Cosmos, Solana, and most major blockchain platforms. The full list is here.
For build instructions, see developer.trustwallet.com/wallet-core/building.
If you want to use wallet core in your project follow these instructions.
Android releases are hosted on GitHub packages, please checkout this installation guide, you need to add GitHub access token to install it.
Add this dependency to build.gradle and run gradle install
plugins {
id 'maven'
}
dependencies {
implementation 'com.trustwallet:wallet-core:x.y.z'
}
Replace x.y.z with latest version:
We currently support Swift Package Manager and CocoaPods (will discontinue in the future).
Download latest Package.swift
from GitHub Releases and put it in a local WalletCore
folder.
Add this line to the dependencies
parameter in your Package.swift
:
.package(name: "WalletCore", path: "../WalletCore"),
Or add remote url + master
branch, it points to recent (not always latest) binary release.
.package(name: "WalletCore", url: "https://github.com/trustwallet/wallet-core", .branchItem("master")),
Then add libraries to target's dependencies
:
.product(name: "WalletCore", package: "WalletCore"),
.product(name: "SwiftProtobuf", package: "WalletCore"),
Add this line to your Podfile and run pod install
:
pod 'TrustWalletCore'
npm install @trustwallet/wallet-core
Please check out the Go integration sample.
Projects using Trust Wallet Core. Add yours too!
Coinpaprika | IFWallet | crypto.com | Alice | Frontier
There are a few community-maintained projects that extend Wallet Core to some additional platforms and languages. Note this is not an endorsement, please do your own research before using them:
- Flutter binding https://github.com/weishirongzhen/flutter_trust_wallet_core
- Python binding https://github.com/phuang/wallet-core-python
- Wallet Core on Windows https://github.com/kaetemi/wallet-core-windows
The best way to submit feedback and report bugs is to open a GitHub issue. If you want to contribute code please see Contributing. If you want to add support for a new blockchain also see Adding Support for a New Blockchain, make sure you have read the requirements section.
Thanks to all the people who contribute.
Trust Wallet Core is available under the MIT license. See the LICENSE file for more info.