Deep protocol understanding
Deep protocol understanding
Bitcoin-S allows you to interact with data structures found in the Bitcoin and Lightning protocols as first-class citizens of your app. Go back and forth between hex, byte and JVM representation trivially, letting our abstractions focus on what you want to build
Immutable data structures
Immutable data structures
Code with confidence, knowing your data won't change under you. All data structures in Bitcoin-S are immutable. This eliminates a big range of bugs right away, and enable you to write concurrent code much easier
Algebraic data types
Algebraic data types
Get the compiler to work for you, ensuring your logic covers all cases. Modelling your application with mathematically founded types enables greater confidence in the correctness of your code
Construct and sign bitcoin transactions
Construct and sign bitcoin transactions
We provide solid APIs for constructing and signing transactions. From small-scale 1-in 2-out transactions, to custom logic powering exchange withdrawals, we've got you covered. Check out our TxBuilder
example to see how.
Super-powered RPC clients
Super-powered RPC clients
Use our RPC clients for bitcoind
/Bitcoin Core and Eclair, and get powerful static typing baked into your RPC calls. All returned values you get from bitcoind
and Eclair are converted into native Bitcoin/Lightning data structures for you. Is that raw hex string you've been passing around a transaction or a Lightning invoice? With Bitcoin-S you get both confidence in your code and powerful methods available on your data
Battle tested, high quality code
Battle tested, high quality code
Bitcoin-S is used in production today, facilitating transactions and systems handling millions of dollars each day. It has a very high degree of code coverage, with unit tests, property based tests and integration tests.
Who is using Bitcoin-S?
Bitcoin-S is used in production applications, by both small and large companies