Skip to content

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.

Diagram showing the client-server architecture of Ark, with users connecting to an Ark server

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.

Diagram illustrating a board VTXO, showing the structure of the simplest type of VTXO in the Ark protocol

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.

Example of a one-hour round frequency

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.

Diagram of a transaction tree showing how VTXOs are structured with overlapping branches, with the root committed to the blockchain and a refresh VTXO highlighted

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.

Diagram of an Ark server sweeping an expired round to its own wallet

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.

Diagram of how Ark liquidity works

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 VTXO chained from a board VTXO

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:

  1. Zero liquidity costs
  2. 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.