
A virtual transaction is just a regular Bitcoin transaction that will optimistically never go onchain
VTXO Structure
VTXOs are presigned Bitcoin transactions secured by a Taproot script (keypath unspendable) with two distinct spending paths:- Exit Path (Unilateral) This path is exclusively controlled by the VTXO owner. It allows the user to move their offchain funds onchain at any time without requiring permission or cooperation from the operator.
- Collaborative Path This path is the default path being used for Arkade transactions as well as for standard exits of user funds. An Arkade transaction simply requires a cosignature from the Arkade Signer in addition to the owner’s signature. Such design allows for rapid offchain execution within the virtual mempool.
Every VTXO carries a CSV delay that prevents double-spending. Without it, a malicious user could spend their VTXO in a batch swap while simultaneously withdrawing the same funds through an exit - essentially spending the same money twice.
VTXO States
A VTXO can exist in multiple states, depending on its origin, use, and confirmation status:- Preconfirmed State (Unsettled): The VTXO was created offchain through an Arkade transaction, has been validated and cosigned by the Arkade Signer, but has not yet been settled onchain via a commitment transaction. It can be used for further offchain activity but requires trust in the operator.
- Unconfirmed State: These VTXOs have been included in a commitment transaction batch and are awaiting Bitcoin network confirmation.
- Confirmed / Bitcoin Finality (Settled): VTXOs anchored onchain through confirmed commitment transactions inherit full Bitcoin security guarantees with complete unilateral exit rights.
- Recoverable: These VTXOs are valid within Arkade’s offchain protocol but cannot be exited unilaterally. They cannot be reused in offchain transactions, but can be included in Arkade intents. Sub-dust VTXOs, expired VTXOs and Arkade Notes fall in this category.
- Spent: The VTXO has been used as an input to another Arkade transaction and is no longer active.
VTXO Expiration
Every VTXO is tied to the lifetime of the batch output it originates from. To maintain unilateral exit rights, users must periodically renew their VTXOs before expiry. If that expiration window is missed, the operator regains control of the underlying funds and issues a redeemable Arkade Note in exchange.This liveness requirement can be managed directly by the user or it appoints a delegate to automatically renew VTXOs on their behalf it can also be.
Considerations
- Deep transaction chains: VTXOs that are part of a deep Arkade transaction chain increases unilateral exit exit cost as all transactions of the chain would need to be broadcast, which might make a unilateral exit economically burdensome
- Preconfirmation status: VTXOs as part of an offchain transaction chain require honest operator behavior. Preconfirmed VTXOs can be batch swapped at any time which implies inheriting Bitcon finality
- Batch Expiry: If a VTXO is not renewed (manually or via a delegate before batch expiry, a user loses unilateral control of their funds
- Dust Limits: Arkade supports sub-dust VTXOs by representing them as OP_RETURN outputs tied to a taproot pubkey. These VTXOs are valid within Arkade’s offchain protocol but cannot be exited unilaterally. They cannot be reused in offchain transactions. Sub-dust VTXOs can be included in BIP322-based Arkade intents
VTXO vs. Traditional Account ModelsUnlike account-based systems that maintain a global state ledger, Arkade’s VTXO model requires no global state machine, only local transitions between VTXOs. This enables parallel execution across independent transaction branches without the bottlenecks common in account models, where operations must be serialized to maintain consistent state.