bitcoinj/bitcoinj

A library for working with Bitcoin

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 54 minutes ago
Added to GitGenius on September 13th, 2026
Created on November 19th, 2013
Open Issues & Pull Requests: 600 (+0)
GitHub issues: Enabled
Number of forks: 2,563
Total Stargazers: 5,228 (+0)
Total Subscribers: 299 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

bitcoinj is a Java library for working with the Bitcoin protocol that enables wallet management and transaction handling without requiring a local Bitcoin Core installation.

The library solves the problem of integrating Bitcoin functionality into Java applications by providing a complete implementation of the Bitcoin protocol. It allows developers to maintain wallets, send and receive transactions, and interact with the Bitcoin network directly from Java code. The approach works by implementing the protocol in pure Java, supported by Google Protocol Buffers for serialization and hardware communications, making it portable across platforms including Android.

Developers should choose this library if they are building Java or Android applications that need native Bitcoin integration. It suits projects ranging from command-line wallet tools to JavaFX-based wallet applications, with the project providing both a wallet tool subproject for managing HD keychains and SPV blockchain state, and a wallet template subproject as a starting point for building graphical wallet applications. The library supports modern Bitcoin features including Segregated Witness, Taproot, and various BIPs relevant to transaction handling and key derivation.

The project maintains active builds across multiple Java versions, with official builds using Java 17 and continuous integration testing against Java 17, 21, and 25. The codebase is modular, with base and core modules supporting Java 8 for broader compatibility while newer modules require more recent Java versions. The project provides comprehensive documentation and example applications to help developers get started. Build infrastructure spans both GitHub Actions and GitLab pipelines, with test coverage tracking in place.