Cross-platform, cross-blockchain wallet library. https://developer.trustwallet.com/wallet-core
  • C++ 39.2%
  • Rust 32.2%
  • C 13.3%
  • Swift 6.4%
  • Kotlin 5%
  • Other 3.7%
Find a file
nikotw 5295dc4fe2
Ci/revive sonarcloud new org (#4827)
* ci: re-enable SonarCloud analysis under the new organization

The workflow was hard-disabled (if: false) after the previous SonarCloud
account stopped working. Retarget the analysis to the organization where
the project now lives and restore the draft gate — push events on
dev/master always run.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci: bump sonar-scanner-cli 5.0.1 -> 8.1.0 (arch-suffixed artifact) + fail-fast download

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci: exclude the unzipped scanner CLI from analysis scope

The scanner is downloaded and unzipped into the working directory and
was indexing its own JRE (79 encoding/size warnings per run).

* ci: quote scanner script variables and drop the zip after extraction

Copilot review: quoting matches the pattern in sibling tools scripts,
and removing the downloaded archive keeps the workspace clean.

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 09:41:33 +01:00
.claude/skills/bc-check feat(skill): Add bc-check skill and bc-risk-router workflow for backward-compatibility audits (#4753) 2026-05-06 23:23:40 +02:00
.devcontainer [Codegen] Introduce a generic & adjustable C header parser in Rust (#3065) 2023-04-21 13:52:34 +02:00
.github Ci/revive sonarcloud new org (#4827) 2026-07-14 09:41:33 +01:00
android Add support for Robinhood Chain (#4806) 2026-06-18 14:39:38 +09:00
audit [Sec]: Add Kudelski security audit certificate from 2023-09-15 (#3649) 2024-01-09 07:29:15 -05:00
cmake Adds flutter bindings (#4412) 2025-06-09 13:34:02 +07:00
codegen feat(stable-account): Add TWDerivationSmartChainStableAccount derivation type (#4585) 2025-12-05 13:12:31 +01:00
codegen-v2 Migrates Barz and Eth Address APIs to Rust (#4422) 2025-06-24 11:38:31 +02:00
docs [sc-144760] [sc-144909]: Fix Stellar and NEAR handling wrong input parameters (#4812) 2026-06-30 08:29:02 +02:00
flutter Adds flutter bindings (#4412) 2025-06-09 13:34:02 +07:00
include/TrustWalletCore fix(derivation-path): Reject invalid derivation indices exceeding range (#4802) 2026-06-23 12:32:05 +02:00
jni fix(random): Terminate process on failed reading random data (Native targets ONLY) (#4618) 2026-01-15 13:36:25 +01:00
kotlin Add support for Robinhood Chain (#4806) 2026-06-18 14:39:38 +09:00
protobuf-plugin Fixed protobuf-plugin for newer versions of protobuf (#3910) 2024-08-19 10:41:22 +02:00
rust fix(webauthn): enforce strict challenge validation in clientDataJSON (#4818) 2026-07-13 12:12:01 +02:00
samples fix(binance): Remove token order types and associated tests (#4746) 2026-05-06 23:37:21 +02:00
src fix(ios): update simulator destination to iPhone 17 and iOS 26.2 in build scripts, fix implicit double conversion (#4815) 2026-07-02 12:01:58 +02:00
swift fix(derivation-path): Reject invalid derivation indices exceeding range (#4802) 2026-06-23 12:32:05 +02:00
tests Update Robinhood mainnet (#4817) 2026-07-02 15:22:39 +09:00
tools Ci/revive sonarcloud new org (#4827) 2026-07-14 09:41:33 +01:00
trezor-crypto fix(mnemonic): clear mnemonic from memory (#4615) 2026-02-27 01:14:59 +01:00
walletconsole Adds ability to specify the curve while constructing Private Key (#4324) 2025-03-24 14:52:25 +01:00
wasm Cardano: support auxiliary data (CIP-20 memo) (#4784) 2026-06-23 09:21:25 +02:00
.clang-format Fix Non-void return type missing warnings (#2356) 2022-07-11 12:07:08 +09:00
.clang-tidy [CI] Fix some clang-tidy-11 warnings (#1703) 2021-10-21 09:05:15 +09:00
.dockerignore [Dockerfile] Add missing include (#3061) 2023-04-11 15:34:43 +02:00
.gitignore feat(biz): Add Biz.signExecuteWithSignatureCall and BizPasskeySession.signExecuteWithSignatureCall (#4594) 2025-12-24 21:50:07 +01:00
.gitmodules Self-contained dependencies (#84) 2019-03-04 20:39:38 -08:00
.gitpod.yml try gitpod (#1227) 2021-01-11 13:56:33 +09:00
.hadolint.yaml Update clang / boost version in Dockerfile (#972) 2020-05-31 16:11:48 +08:00
bootstrap.sh Adds Safety and Codecov CI (#4408) 2025-06-03 19:13:20 +05:30
CLAUDE.md fix(ios): update simulator destination to iPhone 17 and iOS 26.2 in build scripts, fix implicit double conversion (#4815) 2026-07-02 12:01:58 +02:00
CMakeLists.txt Adds flutter bindings (#4412) 2025-06-09 13:34:02 +07:00
coverage.stats [Cosmos]: Adding support for Mars (#3082) 2023-04-14 11:46:25 +02:00
Dockerfile chore(actions): Replace unverified actions with GH scripts (#4604) 2026-01-05 15:42:35 +01:00
gitpod.Dockerfile try gitpod (#1227) 2021-01-11 13:56:33 +09:00
LICENSE Update LICENSE (#3664) 2024-01-16 20:04:26 +07:00
LICENSE-3RD-PARTY.txt [License]: 3rd party licensing (#2709) 2022-11-10 11:05:09 +09:00
Package.swift Renames Swift Package to WalletCoreSwiftProtobuf (#4352) 2025-04-11 12:23:46 +02:00
README.md Renames Swift Package to WalletCoreSwiftProtobuf (#4352) 2025-04-11 12:23:46 +02:00
registry.json Update Robinhood mainnet (#4817) 2026-07-02 15:22:39 +09:00
SECURITY.MD [Misc]: add SECURITY.MD (#2872) 2023-01-17 16:08:29 +01:00
sonar-project.properties Ci/revive sonarcloud new org (#4827) 2026-07-14 09:41:33 +01:00
wallet_core.srctrlprj Support XRP X-address (#730) 2019-11-22 06:42:56 +08:00
WalletCore.podspec Upgrades protobuf to 3.20.3 (#4359) 2025-04-08 14:47:37 +02:00
WalletCoreSwiftProtobuf.podspec Renames Swift Package to WalletCoreSwiftProtobuf (#4352) 2025-04-11 12:23:46 +02:00

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 Rust 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.

Audit Reports

Security Audit reports can be found in the audit directory.

Supported Blockchains

Wallet Core supports more than 130 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 check out 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: "WalletCoreSwiftProtobuf", 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 | crypto.com | Frontier | Tokenary | MemesWallet | xPortal | Slingshot | ECOIN Wallet

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 related to WalletCore is to open a GitHub issue. If the bug is not related to WalletCore but to the TrustWallet app, please create a Customer Support ticket. 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 Apache 2.0 license. See the LICENSE file for more info.