If I understood Ark correctly, pool transactions (which are on-chain transactions) are connected, as the output of pool transaction A is used as an input of the pool transaction A+1.

If so, how can that work if there's this mempool policy that limits the number of ascendants/descendants on unconfirmed transactions to 25?

With pool transactions every 5 seconds that would amount to chains of 120 (on average) unconfirmed transactions in the mempool.

1 Answer 1


The pool transactions don't need to reference each other.

Suppose, you have a vtxo that was created in round n and you want to spend it in round n+1.

The idea is that you do some kind of an atomic swap. You will forfeit your vtxo of round n against a new vtxo in round n+1.

This is done, by creating two transactions.

  • Forfeiture transaction: The forfeiture transaction takes a connector from round n+1 as an input. This ensures that the forfeiture transaction is only valid if round n+1-occurs exactly as you would expect
  • New vtxo The new vtxo will also appear in round n+1

We don't need any on-chain link here between pool-transaction n and n+1. All the funds entering pool-transaction n+1 are provided by the ASP.

  • And the forfeiture transaction is never broadcasted, is that it?
    – bordalix
    Commented Sep 26, 2023 at 14:50
  • 3
    Yes, Ark is an optimistic protocol. If everything goes right only the pool transactions will be broadcast. The LSP only needs to broadcast the forfeiture transaction if someone tries to redeem a forfeited vtxo. We don't expect this to happen often. Broadcasting a forfeited vtxo is stupid because you pay transaction costs for money you cannot get.
    – Erik
    Commented Sep 27, 2023 at 7:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.