Welcome to Bark
Bark is a Rust implementation of the Ark protocol on Bitcoin, led by Second. The Ark protocol is a Bitcoin Layer 2 solution for making fast, low-cost, self-custodial payments at scale.What is Ark?
Ark uses a client-server model to enable users to transact off-chain while maintaining the ability to “exit” their balances on-chain at any time. It enables multiple users to share control of a single bitcoin UTXO through a tree of pre-signed, off-chain transactions. This allows instant, off-chain payments while maintaining self-custody—users can always withdraw their bitcoin either cooperatively with the Ark server or unilaterally on-chain.Why use Bark?
As bitcoin adoption grows, on-chain fees spike during busy periods, making everyday transactions impractical. While Lightning has been revolutionary for bitcoin scaling, it’s beginning to show its limitations—channel management and liquidity requirements create complexity for developers and users. Ark offers a complementary scaling solution that simplifies bitcoin self-custody:Smooth onboarding
No channels to open, no on-chain setup required—create a wallet and start transacting
Simplified UX
Send and receive without managing channels, liquidity, or routing
Universal payments
Send Ark, Lightning, and on-chain payments from a single off-chain balance
Easier integration
Client-server architecture reduces complexity compared to P2P protocols
Lower costs
Instant payments at a fraction of on-chain fees
Self-custodial
Users maintain full control of their funds at all times
Project components
Bark consists of three main components:bark CLI wallet
A command-line wallet for end users to send and receive Ark payments. Perfect for testing and getting familiar with the protocol.barkd REST daemon
An Ark wallet that runs as a daemon and exposes a REST API over HTTP. Well suited for power users and great for automation—think web shops, Telegram/Discord bots, and similar use cases.captaind server
The Ark server implementation that coordinates rounds and enables the protocol. For those looking to run their own Ark service provider.ark-lib primitives
The core Rust library containing all protocol primitives. Published to crates.io for integration into your own applications.Integration options
Choose the integration method that best fits your use case:Rust SDK
Integrate directly using the bark-wallet crate
REST API
Use barkd’s HTTP API from any language
CLI
Command-line wallet for users and scripting
FFI bindings
Native mobile/desktop apps (experimental, see bark-ffi)
Get started
Quickstart
Make your first Ark transaction in minutes
Installation
Install bark, barkd, or compile from source
Core concepts
Learn how the Ark protocol works
Wallet integration
Integrate Bark into your application
Resources
- Documentation: docs.second.tech
- Website: second.tech
- Blog: blog.second.tech
- YouTube: @2ndbtc
- Community forum: community.second.tech
- Issue tracker: gitlab.com/ark-bitcoin/bark/issues