The Ark protocol
The Ark protocol is a second layer on the bitcoin network. It offers: simple onboarding, low and predictable fees, instant payments, Lightning interoperability, and full control over your bitcoin.
The Ark protocol works on bitcoin today and doesn't require any new opcodes or changes in consensus rules.
Client-server
The protocol centers around an Ark server. Users connect to the server to transact with one another directly over Ark. Ark users can also transact with the broader Lightning Network via the server's Lightning gateway.
VTXO-based scaling
Ark introduces a new scaling model based on virtual UTXOs (VTXOs). A VTXO is a series of off-chain, pre-signed transactions that a user can broadcast at any time to retrieve their bitcoin on-chain in an emergency. Under normal operating conditions, these off-chain transactions will never be broadcast on-chain, and users will instead off-board from the Ark protocol cooperatively with the Ark server.
Although VTXOs are structurally more complex under the hood, they are based on the UTXO model and for the most part function in the same manner—anything you can do with a UTXO, you can do with a VTXO.
A board VTXO, the simplest type of VTXO
Round-based
The Ark server initiates and coordinates rounds on a periodic basis. We're expecting the optimal round interval to be in the region of an hour, but it's configurable by each Ark server.
In each round, users can refresh their VTXOs—forfeit old VTXOs for new ones. Not all users of an Ark participate in every round. Only the users participating in the refresh have their VTXOs included in the round transaction.
A one-hour round interval will result in a round transaction being confirmed roughly every six blocks
Transaction trees
During a round, the Ark server and users together construct a transaction tree. Each leaf of the tree (also known as an exit transaction) is controlled by a single user and corresponds to a single VTXO.
The root of the tree is broadcast on-chain and is known as a round transaction. Once the round transaction is confirmed, each user has verifiable assurance that they can unilaterally retrieve their bitcoin on-chain.
An example transaction tree, with root committed to the blockchain, and a refresh VTXO highlighted
Expiry times
VTXOs must be refreshed on an ongoing basis because VTXOs have an expiry time. This is required by the protocol to enable the Ark server to claim all forfeited bitcoin in an expired round using a single on-chain transaction ("sweeping"), instead of many small transactions.
Each VTXO includes a built-in expiration that's set at creation. Users (or rather, their wallets) must spend or refresh their VTXOs before the expiry, otherwise the VTXO technically becomes spendable by either the user or the Ark server. The expiry time is expected to be in the region of 30 days, though ultimately it'll be determined by each Ark server's configuration.
Expiries are what enable an Ark server to replace deployed liquidity in a single on-chain transaction
Liquidity
Unlike Lightning, Ark users don't need to manage liquidity—the Ark server takes care of this for them.
The Ark server must maintain liquidity for several operations, with refreshes being the most common. During a refresh, a user forfeits an old VTXO for a new one. The bitcoin in the forfeited VTXO will not be available to the Ark server until expiration, while the new VTXO requires immediate on-chain bitcoin for inclusion in the round transaction's tree. This creates a temporary capital requirement for the Ark server, which will translate into user fees.
Ark's fee structure (not yet defined) will need to reflect that refreshing newer VTXOs costs more, while refreshing VTXOs closer to expiration costs less.
Other liquidity-demanding operations include offboarding and Lightning payments. Transfers between Ark users don't require liquidity—they are handled out-of-round.
Ark servers face the capital costs of funding current rounds while waiting for the timelocks of previous rounds to expire.
Boarding
To get bitcoin onto an Ark, a user co-signs a funding transaction with the Ark server and broadcasts it. The user does not need to wait for a round, but does need to wait for one or more on-chain block confirmations to complete the boarding.
Importantly, new users do not need to go through the boarding process. They can start receiving VTXOs immediately (from someone else that has) upon setting up a wallet.
Offboarding
Ark is an optimistic protocol. Under normal operations, users will withdraw bitcoin from Ark using offboarding, not unilateral exits, which should be reserved for exceptional circumstances.
To offboard, a user participates in a round, but instead of refreshing, they forfeit their VTXO(s) in return for an output to an on-chain bitcoin address of their choice. Like most processes on Ark, the offboard is atomic, so neither the Ark server or the user are exposed to counterparty risk.
Unilateral exits
The availability of unilateral exit is the key feature of the Ark protocol that puts users in total control of their off-chain bitcoin. However, unilateral exits are expected to be reserved for emergency situations—e.g., the Ark server becomes unresponsive.
To perform a unilateral exit, a user broadcasts the pre-signed transactions that make up their VTXO in sequence, from root to branch to leaf. Each of these transactions breaks up the round transaction into successively smaller chunks until the user's bitcoin is released to their own on-chain address.
Since users' VTXOs share branches in the transaction tree, each user's unilateral exit reduces the number of transactions required for subsequent users to complete their own unilateral exits.
Payments
Payments between Ark users happen at any time between rounds using a method called arkoor (Ark out-of-round). This is the sole method of making user-to-user payments within Ark. In an arkoor payment, the receiver obtains a new spend VTXO extending directly from the sender's leaf in the transaction tree.
A spend (arkoor) VTXO chained from a board VTXO
Payments are co-signed by both the Ark server and the sender, using a state-chain-like approach. The arkoor method provides two key advantages:
- Zero liquidity costs
- Near-instantaneous settlement (requiring only the Ark server's co-signature)
However, there is a temporary trust trade-off: the received VTXO can be used to perform a unilateral exit as long as the sender and Ark server don't collude to double-spend—in other words, as long as at least one of them acts honestly. Once the receiver refreshes the VTXO in a subsequent round, they regain the ability to perform a trustless unilateral exit on the received balance.
Beyond the basics
Now you're up to speed with the fundamentals, it's time to dive deeper! Whether you're a developer looking to integrate with Ark or simply exploring the protocol's design, we hope the following sections provide you the technical depth needed to fully understand Ark's approach to bitcoin scaling.