Skip to main content

Payments

info

Credit for this payment protocol goes to Ruben Somsen. You can read more about it here.

The Ark payment protocol is a way to send bitcoin to someone else using a service provider, whom helps coordinating sharing UTXO and provide liquidity. Without covenants, sender and receiver would need to be online at the same time to make a payment, but if we include the receiver in VTXO as co-signer, we delegate the receiver to perform the claim of the VTXO when is ready. This way, the receiver can join a round with the ASP to claim the VTXO, where the VTXO is a self-spend versus the receiver. If all the senders are also receivers, we can cut the requirement of being online to "lock" the VTXO tree.

Timeline

  1. Alice wants to send bitcoin to Bob: Alice asks the ASP to spend from her VTXO.
  2. Creating the Shortcut Transaction: Alice and ASP create a new off-chain transaction that allows Bob to get a VTXO in the next round. This transaction has rules:
    • Bob and ASP together can claim the VTXO.
    • Alice and ASP together can claim the VTXO.
    • Alice alone can claim the VTXO after 1 month.
  3. Alice Forfeits the Old Claim: Alice signs a Forfeit transaction giving up her claim on the old virtual transaction, allowing ASP to claim the bitcoin if the old transaction is ever published.
  4. Sending the Transaction to Bob: Alice sends the new VTXO to Bob, who can claim the payment by working with ASP.
  5. If Bob Doesn't Respond: If Bob doesn't respond, Alice can:
    • Join the next round herself with ASP.
    • Try sending the transaction to another recipient, but this reduces the time lock each time (though this can be managed).
  6. Proof of Payment: Once Bob performs the claim, ASP can provide proof of payment.
  7. If ASP Refuses to Cooperate: If ASP refuses to cooperate, Alice can force ASP to act by publishing the new redeem transaction, which will reveal if Bob has completed the claim.

Payment Diagram

Ark Payment