As per my understanding, the formula to calculate for the transaction fees is a * tx' + b where tx' is the size of the transaction (in bytes).

Now the current value of a & b is 44 & 155381 respectively and bounding tx' by 16384, I get that fees is always <= 0.876277 ada. And therefore the ada only balance needed as collateral should always be <= ⌈1.5 * 0.876277⌉ = 1.314416 ada (collateral percentage is set to 150 inside current protocol parameters).

Is the above formulation correct?

1 Answer 1


Your formula is correct if no Plutus script is executed in the transaction. If a Plutus script validates the transaction, then one needs to add the cost of the most costly possible Plutus script. Here is a recipe: Language.Marlowe.Runtime.Transaction.Constraints.maximumFee.

The collateralPercentage procotol parameter will tell you how much greater than the fee the collateral requirement is. Currently it is 150%..

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.