Script address.

An address whose payment credential is a script hash. UTxOs here can only be spent if the script approves.

Think of it as

An address whose owner is a piece of code, not a person. To unlock a UTxO here you prove the script's rules are met, which may or may not include signatures.

In depth

Where a regular address is keyed by a public-key hash and spent by a signature, a script address is keyed by the hash of a script. To spend a UTxO there, the transaction must include or reference the script (CIP-33 reference scripts) and the script must succeed. For a Plutus script the transaction also supplies a redeemer, plus the datum if the UTxO stores only a datum hash (inline datums per CIP-32 are read directly). Plutus V1 and V2 outputs need a datum to be spendable, Plutus V3 makes it optional. A native script (multi-signature, time locks) takes no redeemer and no datum: the transaction just has to carry the required signatures inside the required time window.

Example

A DEX liquidity pool lives at a script address: anyone can swap against it, but only by submitting a transaction that the pool’s validator accepts.

Next on this path

  1. Validator A pure script that gates a UTxO. Returns pass or fail given Datum, Redeemer and Script Context.
  2. Inline datum A datum stored directly inside the UTxO it belongs to, instead of as a hash that the spender has to resolve.