Offboards vs. exitsUnder normal circumstances, a user that wants to move their bitcoin off Ark will instead perform an offboard or Lightning payment cooperatively with the server, by forfeiting their VTXO (instead of broadcasting it). This is more efficient and cheaper.
VTXO types overview
There are three types of VTXO in the Ark protocol:- Board VTXO: The simplest type, created when moving bitcoin onto Ark. Completely trustless after creation.
- Refresh VTXO: Created during periodic server rounds. Standard refresh VTXOs share the same trust model as board VTXOs. More complex transaction trees enable cost sharing among users.
- Spend VTXO: Created instantly for payments within Ark. Extends board and refresh VTXOs. Emergency exit requires trusting that previous senders haven’t colluded with the server to double-spend.
VTXO type comparison
| Aspect | Board VTXO | Refresh VTXO | Spend VTXO |
|---|---|---|---|
| Structure | Root → Leaf (2 txs) | Root → Branches → Leaf (3+ txs) | Extended leaf from existing VTXO |
| Creation timing | On-demand, needs on-chain confirmations | Periodic rounds only | On-demand, instant |
| Trust assumptions | Trustless | Trustless | Assumes sender + server don’t collude |
| Cost | Full on-chain fee | Partial on-chain fee + liquidity | Marginal |
| Exit depth | 2 (root + leaf) | 3+ (root + branches + leaf) | Same as source VTXO + 1 additional |
| Lifetime | ~30 days | ~30 days | Inherited |
| Typical use case | Moving bitcoin onto an Ark | Refreshing VTXOs | Sending payments |
VTXO types are illustrativeThe three VTXO types are a conceptual framework to help explain the structural and trust model differences across VTXOs. They are not defined or distinguished in code—VTXOs are generally treated the same regardless of how they were created.
Transaction trees
All VTXOs are built on “transaction trees”—structures that enable multiple users to share one large on-chain UTXO while maintaining individual emergency exit rights. A transaction tree consists of pre-signed bitcoin transactions held off-chain, interconnected with strict spending conditions that create a “pseudo covenant”.- Root: The only on-chain transaction, creating the VTXO when confirmed
- Branch: Off-chain transactions that split the root’s value among multiple users
- Leaf: Individual exit transactions that deliver bitcoin to user-controlled addresses
Transaction spend paths
Each transaction in the tree enforces two mutually exclusive spend paths: Spend path 1: Cooperative multisig between users and server. Root and branch transactions use n-of-n multisigs (MuSig2) between all users sharing that branch plus the server for cooperative operations. Leaf transactions use 2-of-2 multisigs between user and server for forfeits and payments. Spend path 2: Timelocked recovery mechanisms. Root and branch transactions use absolute CLTV timelocks (<expiry-height> OP_CHECKLOCKTIMEVERIFY), while leaf transactions use relative CSV timelocks (<144> OP_CHECKSEQUENCEVERIFY) for user exits.
Quad tree structureThe diagrams show binary trees for illustration purposes only. The concepts remain the same, but in practice we use quad trees (each branch transaction splits into four outputs) because they minimize emergency exit costs by reducing the number of transactions a user must broadcast.
Board VTXOs
Board VTXOs are created when users first move bitcoin onto Ark, representing the simplest VTXO construction.Refresh VTXOs
Refresh VTXOs are created during Ark server rounds when users must refresh expiring VTXOs or when they want to improve security after receiving spend VTXOs. Rounds are expected to occur roughly every hour, though this is a server-configurable parameter.Delegated refreshes on mobile devicesFor mobile devices using delegated refreshes, refresh VTXOs require trusting that at least one of the designated co-signers behaved honestly during the round. Users who require standard trust model VTXOs must perform a standard, interactive refresh.
Users don’t hold VTXOs in every roundOne common misconception is that all users of an Ark server participate in every round. This is not the case. Users only hold refresh VTXOs in rounds where they personally participated.
Spend VTXOs
Spend VTXOs are created instantly when users send payments within the same Ark server, using a technique known as arkoor (Ark out-of-round). This mechanism enables immediate transfers without waiting for the next server round. Most users will receive their first Ark balances as spend VTXOs (from friends, customers, or exchanges).Spend VTXO chains
Spend VTXOs can be chained, with each consecutive spend increasing the exit length by one. A user receiving a spend VTXO in a chain must trust that none of the previous senders colluded with the server to double-spend. However, individual senders cannot unilaterally double-spend—this requires server cooperation.Spend VTXO change
Like spending UTXOs on-chain, users typically spend only a portion of a VTXO, creating two new spend VTXOs:- Payment: Sent to the recipient
- Change: Returned to the sender
- Change from trustless VTXOs: Change from board or refresh VTXOs remains trustless since users cannot collude against themselves.
- Change from self-controlled chains: Change remains trustless when every transaction in the chain is the user’s own (change or self-sends) and the chain originates from the user’s own board or refresh VTXO.
- Third-party chains: Once other users appear in the spending chain, change inherits the same trust requirements as regular spend VTXOs—users must trust that previous senders in the chain didn’t collude with the server.
Multiple VTXOs for larger payments
Users can send multiple VTXOs simultaneously to complete a single larger payment, creating multiple outputs for the receiver. This approach offers significant advantages over creating multiple small UTXOs on-chain. There are not the same downsides as doing this on-chain, where the on-chain transaction fees will linearly scale with the number of UTXOs. On the Ark protocol, the cost to send is marginal, and for the receiver, the cost to refresh is relative to the payment size and the amount of liquidity used—not the number of VTXOs being refreshed. However, there is still one trade-off: sending multiple VTXOs to complete a single payment increases the emergency exit costs for the receiver. If the receiver ever needs to perform an exit, they must broadcast an additional on-chain transaction for each spend VTXO they hold, multiplying their on-chain transaction fees accordingly.Transaction tree scalability
Transaction trees scale efficiently with the number of users. The number of transactions a user must broadcast for an emergency exit of a refresh VTXO is one plus the number of branch layers in the tree. The number of branch layers scales logarithmically (log base 4) with the number of users. For example:
- 4 users = 1 branch layer (2 total transactions to exit)
- 16 users = 2 branch layers (3 total transactions to exit)
- 64 users = 3 branch layers (4 total transactions to exit)
- 256 users = 4 branch layers (5 total transactions to exit)
How users interact with VTXO types
Users don’t directly choose which VTXO type to use—the VTXO type is determined by their behavior and circumstances:- Spend VTXOs are received when someone sends you a payment on Ark. Most users will first encounter Ark by receiving spend VTXOs from friends, customers, or exchanges.
- Refresh VTXOs are created when users participate in server rounds, either to refresh expiring VTXOs or to improve security on spend VTXOs.
- Board VTXOs are primarily used by power users who want to move their bitcoin from on-chain onto Ark. Most casual users won’t need to create board VTXOs.