How does Kaspa's shared secret script support two types of UTXO spending?

Kaspa's shared secret script locks a UTXO so it can be spent in exactly two ways: by the original owner, or by an authorized borrower who meets a strict set of conditions. A UTXO (unspent transaction output) is the bundle of funds sitting at a particular address, waiting to be used. The owner path is straightforward — a valid signature is all that's required. The borrower path is much stricter: the borrower must prove knowledge of a pre-defined secret implemented as a cryptographic keypair, must create transaction outputs that match or exceed the value of the inputs they are spending, and must send those funds back to the same script address. Understanding this matters because it shows that Kaspa scripts can enforce complex spending rules — including controlled delegation — directly at the protocol level, with no trusted third party required.

Learn more ›