Skip to main content

Plutus-Related CIPs

This page lists all Cardano Improvement Proposals (CIPs) that are substantially related to Plutus smart contract platform, including core language features, builtin functions, and infrastructure improvements.

CIPDescriptionStatus
031Reference inputs - Allows looking at outputs without spending them, crucial for Plutus validatorsActive
032Inline datums - Allows datums to be attached directly to outputs instead of datum hashesActive
033Reference scripts - Allows scripts to be attached to outputs for reuse without including in transactionsActive
035Changes to Plutus Core - Defines the process for proposing changes to Plutus Core, its builtins, and ledger interfaceActive
040Collateral Output - Addresses collateral requirements for Plutus smart contract executionActive
042New Plutus Builtin serialiseData - Adds builtin for serializing BuiltinData to BuiltinByteStringActive
049ECDSA and Schnorr signatures in Plutus Core - Adds cryptographic signature verification builtinsActive
057Plutus Contract Blueprint - Machine-readable specification for documenting Plutus contractsActive
058Plutus Bitwise Primitives - Superseded by CIP-121 and CIP-122Inactive
068Datum Metadata Standard - Token metadata standard using output datums, mentions "inspectable metadata from within Plutus validators"Proposed
069Script Signature Unification - Unifies script signature handling across different script typesActive
085Sums-of-products in Plutus Core - Adds algebraic data type support to Plutus CoreActive
091Don't force Built-In functions - Optimization for builtin function evaluationProposed
101Integration of keccak256 into Plutus - Adds Keccak-256 hash function builtinProposed
109Modular Exponentiation Built-in for Plutus Core - Adds modular exponentiation builtinProposed
110Plutus v1 Script References - Enables reference scripts for PlutusV1Active
112Observe Script Type - Allows scripts to observe their own type during executionProposed
117Explicit script return values - Improves script return value handlingActive
121Integer-ByteString conversions - Adds integer to bytestring conversion builtinsActive
122Logical operations over BuiltinByteString - Adds bitwise logical operationsActive
123Bitwise operations over BuiltinByteString - Bitwise shift and rotation operationsActive
127ripemd-160 hashing in Plutus Core - Adds RIPEMD-160 hash function builtinActive
132New Plutus Builtin dropList - Adds dropList builtin functionProposed
133Plutus support for Multi-Scalar Multiplication over BLS12-381 - Adds BLS12-381 multi-scalar multiplicationProposed
138Plutus Core Builtin Type - Array - Adds Array as a builtin typeProposed
141Web-Wallet Bridge - Plutus wallets - Wallet bridge specification specifically for Plutus-enabled walletsProposed
152Modules in UPLC - Introduces module system to Untyped Plutus CoreProposed
153Plutus Core Builtin Type - MaryEraValue - Adds MaryEraValue as a builtin typeProposed
156Plutus Core Builtin Function - multiIndexArray - Adds multi-dimensional array indexing builtinProposed
381Plutus support for Pairings over BLS12-381 - Adds elliptic curve pairing operations for cryptographyActive