• Stars
    star
    2,767
  • Rank 16,459 (Top 0.4 %)
  • Language
    C++
  • License
    Apache License 2.0
  • Created almost 6 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Cross-platform, cross-blockchain wallet library.

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.

iOS CI Android CI Linux CI Wasm CI Kotlin CI Docker CI Quality Gate Status

Gitpod Ready-to-Code GitHub GitHub release (latest by date) SPM Cocoapods

Documentation

For comprehensive documentation, see developer.trustwallet.com.

Supported Blockchains

Wallet Core supports more than 60 blockchains: Bitcoin, Ethereum, BNB, Cosmos, Solana, and most major blockchain platforms. The full list is here.

Building

For build instructions, see developer.trustwallet.com/wallet-core/building.

Using from your project

If you want to use wallet core in your project follow these instructions.

Android

Android releases are hosted on GitHub packages, you need to add GitHub access token to install it. Please checkout this installation guide or build.gradle from our android sample

Don't forget replacing the version in the code with latest: GitHub release (latest by date)

iOS

We currently support Swift Package Manager and CocoaPods (will discontinue in the future).

SPM

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"),

CocoaPods

Add this line to your Podfile and run pod install:

pod 'TrustWalletCore'

NPM (beta)

npm install @trustwallet/wallet-core

Go (beta)

Please check out the Go integration sample.

Kotlin Multipleplatform (beta)

Please check out the Kotlin Multiplatform sample

Projects

Projects using Trust Wallet Core. Add yours too!

Trust Wallet

Coinpaprika | IFWallet | crypto.com | Alice | Frontier | Tokenary | MemesWallet | xPortal | Slingshot

Community

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:

Contributing

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.

Disclaimer

The Wallet Core project is led and managed by Trust Wallet with a large contributor community and actively used in several projects. Our goal at Wallet Core is to give other wallets an easy way to add chain support.

Trust Wallet products leverage wallet core, however, they may or may not leverage all the capabilities, features, and assets available in wallet core due to their own product requirements.

License

Trust Wallet Core is available under the MIT license. See the LICENSE file for more info.

More Repositories

1

assets

A comprehensive, up-to-date collection of information about several thousands (!) of crypto tokens.
Go
4,539
star
2

trust-wallet-ios

πŸ“± Trust - Ethereum Wallet and Web3 DApp Browser for iOS
Swift
1,520
star
3

trust-web3-provider

Web3 javascript wrapper provider for iOS and Android platforms.
TypeScript
747
star
4

trust-wallet-android-source

Trust - Ethereum Wallet for Android (Inactive Repository)
Java
385
star
5

blockatlas

Clean and lightweight cross-chain transaction API
Go
368
star
6

tokens

Upload yours token, coin and dApp image to get displayed in the Trust Wallet
JavaScript
345
star
7

developer

Trust Developer documentation: developer.trustwallet.com
337
star
8

TrustSDK-iOS

No longer maintained. https://community.trustwallet.com/t/trustsdk-is-discontinued/213116
Swift
226
star
9

trust-ray

☁️ API for the Trust Wallet. Project no longer supported and current version used as source of transactions and address tokens in Blockatlas https://github.com/trustwallet/blockatlas/blob/master/config.yml#L64
TypeScript
185
star
10

TrustSDK-Android

No longer maintained. https://community.trustwallet.com/t/trustsdk-is-discontinued/213116
Kotlin
152
star
11

dapps-browser

DApps browser
JavaScript
131
star
12

trust-keystore

A general-purpose Ethereum keystore for managing wallets.
Swift
119
star
13

wallet-connect-swift

WalletConnect Swift client SDK
Swift
102
star
14

go-libs

Go
91
star
15

wallet-connect-kotlin

Kotlin
90
star
16

watchmarket

Watchmarket is an aggregation and caching service for blockchain market information
Go
86
star
17

trustsdk-react-native

No longer maintained. https://community.trustwallet.com/t/trustsdk-is-discontinued/213116
TypeScript
82
star
18

trust-core

DEPRECATED. Please use wallet-core
Swift
70
star
19

go-primitives

Go
59
star
20

Web3View

Java
52
star
21

trust-api

TypeScript
30
star
22

barz

A Secure, Modular, Upgradeable Smart Contract Wallet enabling mass adoption of Web3
TypeScript
28
star
23

ens-coincodec

Go
25
star
24

wizard-sdk

Wizard-SDK, a TypeScript software development kit, is designed to visualize diverse protocol EIP-712 messages and simulate transactions that users sign daily in the web3.0 environment.
TypeScript
25
star
25

ansible-collection-blockchain

Trust Wallet's Ansible Galaxy Collection of roles to configure blockchain nodes.
Jinja
23
star
26

web-core

TypeScript
16
star
27

dokka

WalletCore Kotlin API documentation
Shell
13
star
28

assets-go-libs

Go
12
star
29

web3-react-trust-wallet

TypeScript
10
star
30

trezor-crypto-ios

πŸ“™ Heavily optimized cryptography algorithms for embedded devices, packaged for iOS.
Ruby
9
star
31

docc

WalletCore Swift API documentation
Shell
2
star
32

multiversx

MultiversX metadata
2
star
33

solana-wallet-standard

2
star