Collateral.

A reserved input the network burns if a Plutus script fails on-chain.

Think of it as

A small deposit the network keeps if your script throws an error on-chain. Like a no-show fee that only fires when something actually goes wrong.

In depth

Plutus transactions declare a collateral input (a key-locked, pure-ada UTxO worth at least 150% of the fee, the `collateralPercentage` protocol parameter). Phase-1 checks (signatures, fees, balance) happen off-chain; phase-2 runs the scripts. If a script unexpectedly fails in phase-2, the transaction is still added to the chain so the network is paid for the work, and collateral is forfeited. Since Plutus V2 (Babbage), a transaction can also declare a `collateralReturn` output, so only the required amount is burned and the rest comes back, you don't lose the whole input UTxO.

Example

If a swap script fails because the price moved, the user loses just the collateral (a few ada), not the funds they wanted to swap.

Next on this path

  1. Inline datum A datum stored directly inside the UTxO it belongs to, instead of as a hash that the spender has to resolve.
  2. Reference script A script body stored on-chain in a UTxO so transactions can use it by reference instead of bundling the whole script every time.