oleganza/CoreBitcoin logo

oleganza/CoreBitcoin

Free

Awesome Bitcoin toolkit for ObjC and Swift

FreeFree tier
Type
Open Source

About oleganza/CoreBitcoin

CoreBitcoin is an Objective-C toolkit that implements the Bitcoin protocol, providing a comprehensive set of APIs for building Bitcoin-related apps on iOS and macOS. It deliberately minimizes dependency on OpenSSL, using native Objective-C code wherever possible, to offer a clean codebase for learning and extending the protocol. Features include address encoding/decoding, transaction building, elliptic curve keys and signatures, hierarchical deterministic wallets (BIP32/BIP44), BIP39 mnemonics, BIP70 payment protocol support, a script evaluation machine, and currency conversion tools. It also includes a QR code generator and scanner (iOS only). CoreBitcoin is used by projects such as Chain-iOS SDK, Mycelium iOS Wallet, bitWallet, Yallet, BitStore, and ArcBit.

Key Features

Encoding/decoding addresses: P2PK, P2PKH, P2SH, WIF format (BTCAddress)
Transaction building blocks: inputs, outputs, scripts (BTCTransaction, BTCScript)
EC keys and signatures (BTCKey)
High-level convenient and safe transaction builder (BTCTransactionBuilder)
Parsing and composing bitcoin URLs and payment requests (BTCBitcoinURL)
QR Code generator and scanner (BTCQRCode, iOS only)
BIP32, BIP44 hierarchical deterministic wallets (BTCKeychain)
BIP39 implementation (BTCMnemonic)
BIP70 implementation (BTCPaymentProtocol)
Automatic Encrypted Wallet Backup scheme (BTCEncryptedBackup)

Pros & Cons

Pros
  • Clean Objective-C codebase with limited OpenSSL dependency
  • Comprehensive feature set covering addresses, transactions, wallets, and currency tools
  • Includes QR code generation and scanning (iOS)
  • Supports modern standards: BIP32, BIP39, BIP70, RFC6979 signatures
  • Designed for learning and extending the Bitcoin protocol
  • Used by notable iOS Bitcoin wallet projects
Cons
  • Limited to macOS and iOS platforms; no Android or web support
  • QR code scanner and generator only available on iOS
  • Does not yet include full blockchain validation or SPV mode (on roadmap)
  • May require familiarity with Objective-C and Cocoa frameworks

Best For

Building Bitcoin wallets for iOS/macOSCreating payment processing applicationsEducational projects for learning the Bitcoin protocolDeveloping apps that require Bitcoin address generation and managementIntegrating Bitcoin payment requests and URLsImplementing hierarchical deterministic wallets (BIP32/BIP44)

FAQ

What is CoreBitcoin?
CoreBitcoin is an Objective-C toolkit that implements the Bitcoin protocol, providing APIs for address encoding, transactions, keys, HD wallets, and more, primarily for iOS and macOS apps.
What platforms does CoreBitcoin support?
CoreBitcoin targets macOS and iOS, with some features (like QR code scanning) available only on iOS.
Does CoreBitcoin include a full Bitcoin node?
No, but full blockchain validation and SPV mode are on the roadmap.
Is CoreBitcoin open source?
Yes, it is hosted on GitHub under an open source license (MIT).