Bitcoin protocol toolkit for Swift

starsStars 726
forksForks 186
watchersWatchers 726
current-versionCurrent version v1.1.0
total-releasesTotal releases 14
open_issues_countOpen issues 95
dateFirst release 2018-02-06
dateLatest release 2019-09-29
updateLast update 2020-12-22

TravisCI Swift 5.0+ Carthage Swift Package Manager CococaPods

Welcome to BitcoinKit

The BitcoinKit library is a Swift implementation of the Bitcoin protocol which support both BCH and BTC. Improving the mobile ecosystem for Bitcoin developers is our mission.

BitcoinKit allows maintaining a wallet, sending or receiving transactions without a full blockchain node. Following is a wallet app that demonstrates the way to use it.

Release notes are here.


  • Encoding/decoding addresses: base58, Cashaddr, P2PKH, P2SH, WIF format.
  • Transaction building blocks: inputs, outputs, scripts.
  • EC keys and signatures.
  • BIP32, BIP44 hierarchical deterministic wallets.
  • BIP39 implementation.
  • SPV features are under construction. The following functions cannot work well sometimes.
    • Send/receive transactions.
    • See current balance in a wallet.


  • iOS 9.0+ / Mac OS X 10.11+ / tvOS 9.0+ / watchOS 2.0+
  • Xcode 10.0+
  • Swift 5.0+


$ gem install cocoapods

CocoaPods 1.5.0+ is required to build BitcoinKit.

To integrate BitcoinKit into your Xcode project using CocoaPods, specify it in your Podfile:

source ''
platform :ios, '13.0'

target '<Your Target Name>' do
    pod 'BitcoinKit', '~> 1.1.0'

Then, run the following command:

$ pod install

Add this to Cartfile

github "yenom/BitcoinKit" ~> 1.1.0

Run carthage update to build the framework and drag the built BitcoinKit.framework into your Xcode project.

Simply add the following lines to dependencies of your Package.swift:

.package(url: "", .upToNextMinor(from: "1.1.0"))

Note that following data types and features are currently not supported on Linux platform.

  • Peer and PeerGroup
  • SQLite based BlockStore


Contributions to BitcoinKit are welcome and encouraged! Feel free to open issues, drop us pull requests.

Authors & Maintainers


BitcoinKit is maintained and funded by Yenom. Visit our @Yenom_wallet_en)


BitcoinKit is available under the MIT license. See the LICENSE file for more info.


This project exists thanks to all the people who contribute.


Thank you to all our backers! 🙏 [Become a backer]


Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]