Home /
Cardano Foundation /
CIPs
May 20, 2-3 AM (0)
May 20, 3-4 AM (0)
May 20, 4-5 AM (0)
May 20, 5-6 AM (0)
May 20, 6-7 AM (0)
May 20, 7-8 AM (0)
May 20, 8-9 AM (1)
May 20, 9-10 AM (1)
May 20, 10-11 AM (0)
May 20, 11-12 PM (0)
May 20, 12-1 PM (0)
May 20, 1-2 PM (0)
May 20, 2-3 PM (0)
May 20, 3-4 PM (1)
May 20, 4-5 PM (0)
May 20, 5-6 PM (0)
May 20, 6-7 PM (0)
May 20, 7-8 PM (0)
May 20, 8-9 PM (0)
May 20, 9-10 PM (0)
May 20, 10-11 PM (0)
May 20, 11-12 AM (0)
May 21, 12-1 AM (0)
May 21, 1-2 AM (0)
May 21, 2-3 AM (0)
May 21, 3-4 AM (0)
May 21, 4-5 AM (0)
May 21, 5-6 AM (0)
May 21, 6-7 AM (0)
May 21, 7-8 AM (0)
May 21, 8-9 AM (0)
May 21, 9-10 AM (0)
May 21, 10-11 AM (0)
May 21, 11-12 PM (0)
May 21, 12-1 PM (0)
May 21, 1-2 PM (0)
May 21, 2-3 PM (0)
May 21, 3-4 PM (0)
May 21, 4-5 PM (0)
May 21, 5-6 PM (0)
May 21, 6-7 PM (0)
May 21, 7-8 PM (0)
May 21, 8-9 PM (0)
May 21, 9-10 PM (0)
May 21, 10-11 PM (0)
May 21, 11-12 AM (0)
May 22, 12-1 AM (0)
May 22, 1-2 AM (0)
May 22, 2-3 AM (0)
May 22, 3-4 AM (0)
May 22, 4-5 AM (0)
May 22, 5-6 AM (2)
May 22, 6-7 AM (0)
May 22, 7-8 AM (0)
May 22, 8-9 AM (0)
May 22, 9-10 AM (0)
May 22, 10-11 AM (0)
May 22, 11-12 PM (0)
May 22, 12-1 PM (0)
May 22, 1-2 PM (0)
May 22, 2-3 PM (0)
May 22, 3-4 PM (0)
May 22, 4-5 PM (0)
May 22, 5-6 PM (0)
May 22, 6-7 PM (0)
May 22, 7-8 PM (0)
May 22, 8-9 PM (0)
May 22, 9-10 PM (0)
May 22, 10-11 PM (0)
May 22, 11-12 AM (0)
May 23, 12-1 AM (0)
May 23, 1-2 AM (0)
May 23, 2-3 AM (0)
May 23, 3-4 AM (0)
May 23, 4-5 AM (0)
May 23, 5-6 AM (0)
May 23, 6-7 AM (0)
May 23, 7-8 AM (0)
May 23, 8-9 AM (0)
May 23, 9-10 AM (0)
May 23, 10-11 AM (0)
May 23, 11-12 PM (0)
May 23, 12-1 PM (0)
May 23, 1-2 PM (0)
May 23, 2-3 PM (0)
May 23, 3-4 PM (0)
May 23, 4-5 PM (2)
May 23, 5-6 PM (0)
May 23, 6-7 PM (3)
May 23, 7-8 PM (10)
May 23, 8-9 PM (1)
May 23, 9-10 PM (1)
May 23, 10-11 PM (0)
May 23, 11-12 AM (0)
May 24, 12-1 AM (0)
May 24, 1-2 AM (0)
May 24, 2-3 AM (0)
May 24, 3-4 AM (0)
May 24, 4-5 AM (0)
May 24, 5-6 AM (0)
May 24, 6-7 AM (0)
May 24, 7-8 AM (0)
May 24, 8-9 AM (0)
May 24, 9-10 AM (0)
May 24, 10-11 AM (0)
May 24, 11-12 PM (0)
May 24, 12-1 PM (1)
May 24, 1-2 PM (36)
May 24, 2-3 PM (1)
May 24, 3-4 PM (0)
May 24, 4-5 PM (3)
May 24, 5-6 PM (2)
May 24, 6-7 PM (2)
May 24, 7-8 PM (0)
May 24, 8-9 PM (1)
May 24, 9-10 PM (2)
May 24, 10-11 PM (5)
May 24, 11-12 AM (5)
May 25, 12-1 AM (0)
May 25, 1-2 AM (0)
May 25, 2-3 AM (0)
May 25, 3-4 AM (0)
May 25, 4-5 AM (0)
May 25, 5-6 AM (0)
May 25, 6-7 AM (0)
May 25, 7-8 AM (0)
May 25, 8-9 AM (0)
May 25, 9-10 AM (5)
May 25, 10-11 AM (2)
May 25, 11-12 PM (0)
May 25, 12-1 PM (0)
May 25, 1-2 PM (0)
May 25, 2-3 PM (0)
May 25, 3-4 PM (0)
May 25, 4-5 PM (0)
May 25, 5-6 PM (0)
May 25, 6-7 PM (0)
May 25, 7-8 PM (0)
May 25, 8-9 PM (0)
May 25, 9-10 PM (0)
May 25, 10-11 PM (0)
May 25, 11-12 AM (0)
May 26, 12-1 AM (0)
May 26, 1-2 AM (0)
May 26, 2-3 AM (0)
May 26, 3-4 AM (0)
May 26, 4-5 AM (0)
May 26, 5-6 AM (2)
May 26, 6-7 AM (0)
May 26, 7-8 AM (0)
May 26, 8-9 AM (0)
May 26, 9-10 AM (4)
May 26, 10-11 AM (0)
May 26, 11-12 PM (0)
May 26, 12-1 PM (0)
May 26, 1-2 PM (0)
May 26, 2-3 PM (0)
May 26, 3-4 PM (2)
May 26, 4-5 PM (0)
May 26, 5-6 PM (2)
May 26, 6-7 PM (0)
May 26, 7-8 PM (0)
May 26, 8-9 PM (0)
May 26, 9-10 PM (2)
May 26, 10-11 PM (5)
May 26, 11-12 AM (1)
May 27, 12-1 AM (0)
May 27, 1-2 AM (0)
May 27, 2-3 AM (0)
105 commits this week
May 20, 2026
-
May 27, 2026
CIP-186 | rename directory + update path references
Per @rphair at the 2026-05-26 CIP editors meeting: this proposal was accepted as Candidate and assigned CIP number 186 (rphair pushed header update in 5c645d2). Follow-up: rename CIP-deeplink-signing/ to CIP-0186/ and update the schema $id / README $schema URLs that referenced the old path. The CIP-30-DeepLink protocol name itself remains as the friendly identifier per the spec's Title field; only the on-disk directory and the path component of canonical URLs change. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
correct candidate CIP number to 185 vs. duplicate 183
Update CPS-0???/README.md
Co-authored-by: Ryan <[email protected]>
escaping `?` CIP number to avoid YAML error & properly format header
Update CIP-0164/README.md
Co-authored-by: Ryan <[email protected]>
Update CIP-0164/README.md
Co-authored-by: Robert Phair <[email protected]>
Trim redundancy from CIP body
Removes paragraphs and sections that are non-normative noise under the
R-canonical derivation:
- The "TextEnvelope encoding mistakes" warning in Address Derivation:
irrelevant under R, which never goes through cardano-cli text
envelopes — implementers compute applied bytes directly from
bytestring concatenation, not from a serialised wrapper.
- The Tx3 paragraph in Public API and Transaction Shapes and the
"Generated bindings (supplementary)" subsection: Tx3 was a
non-normative reference file that was never published; the mentions
added noise without normative or informative value.
- The "L2 Interoperability" subsection: a disclaimer paragraph noting
cross-ledger semantics are out of scope; the Versioning section
already establishes scope.
Condenses two redundancies:
- The repeated MUST NOT in Datum and Redeemer Schema becomes a single
cross-reference to Definitions — TOA deposit, which already
establishes the normative rule.
- "What lives where" no longer restates content-hashing strategy
already covered in Mandatory Normative Artifacts; the two bullets
naming the CIP folder contents are preserved.
Updates two orphan references left behind: the "outside Tx3" sentence
in Address derivation helper, and the "any toa.tx3 file" mention in
Reference Artifacts — Normative components.
Net: 22 deletions, 5 insertions; 611 → 593 lines.
Extend test-vector format with conformance-gate updates for R
Keeps the conformance-vs-documentation cut agreed in PR review discussion r3293465306 (https://github.com/cardano-foundation/CIPs/pull/1200#discussion_r3293465306): conformance gates stay inline in the CIP; schema documentation lives in en7angled/[email protected]:test-vectors/README.md (referenced by content hash). Changes inline in the CIP: - Clarifies that per-vector fields `params_cbor_hex`, `applied_script_cbor_hex`, `applied_script_bytes`, and `flat_body_length` are diagnostic aids; conformance for category (a) is determined by `expected_script_hash`, `expected_address_mainnet`, `expected_address_testnet`. - Adds the CBOR-threshold rationale paragraph: lengths 23 and 24 bracket the single-byte vs length-prefixed CBOR bytestring header transition, and lengths 31 and 32 cover the upper boundary of the permitted asset_name domain. - Adds two coverage MUST bullets: single-policy_id-change vector pairs and single-asset_name-change vector pairs, useful for isolating which region of R depends on which input. The schema documentation for the new `flat_body_length` field is in en7angled/[email protected]:test-vectors/README.md, already content-hashed in the preceding paragraph. Implements cerinta section 3.4 under the conformance-vs-documentation cut.
Add R-canonical rationale, stability open question, acceptance criteria
Adds:
- Rationale entry "Why is the canonical address derivation specified
at the byte level (R) rather than via apply_params?" — explains why
on-chain executability + non-Haskell implementability justify the
byte-level specification, and documents the empirical precondition
(byte-aligned decomposition of the applied flat-encoded script).
- Open Question #6 "Stability of FLAT_PREFIX_TOA_V1 and
FLAT_SUFFIX_TOA_V1" — frames byte-aligned decomposition as a
property of the compiled artifact, not of the Plinth source;
recompilation requires a new toa_version.
- Acceptance Criteria items for canonical R implementation and for
toa-verify-reconstruction passing on every artifact release.
Also adjusts the high-level Specification intro to be neutral about
which procedure produces the applied script bytes (R reconstructs
them rather than calling apply_params).
Implements cerinta sections 3.5, 3.6, 3.7.
Restructure address derivation around canonical R (byte-level)
Motivation: under the previous apply_params-based derivation, the TOA address could not be derived on-chain (Plutus V3 exposes no primitive for apply_params + ledger serialisation), and off-chain implementations in TypeScript, Rust, Python, etc. had to depend on Plutus tooling. R removes both obstacles: it is implementable on-chain using only standard Plutus V3 builtins (appendByteString, consByteString, lengthOfByteString, serialiseData, blake2b_224) and off-chain in any language with bytestring concatenation and blake2b-224. The semantic identity of TOA v1 remains anchored in the same compiled validator artifact -- the byte-level constants are extracted from it -- but conformance is now expressed in a form that is verifiable uniformly on-chain and off-chain. Replaces the apply_params-based derivation procedure with the byte-level function R, executable on-chain via standard Plutus V3 builtins and implementable off-chain in any language with bytestring concatenation and blake2b-224. The compiled UPLC artifact and template hash become audit references; FLAT_PREFIX_TOA_V1 (528 B), FLAT_SUFFIX_TOA_V1 (1 B), the CBOR bytestring-header encoder, and the canonical PlutusData CBOR parameter encoder become the normative derivation inputs, pinned at en7angled/[email protected] with blake2b-256 content hashes. The reference recipe wraps params_cbor in a single-chunk chunked-bytestring frame (1-byte length prefix + paramCbor + 0x00 terminator), matching the flat-encoded UPLC layout the validator expects when applied via a Constant Data UPLC term (cardano-api applyArguments semantics). Implements cerinta sections 3.1, 3.2, 3.3, 3.8.
fixing messed-up scope for GitHub suggested change in `Discussions:`
CIP-0120 remove trailing whitespace from header
CIP-0102 modify header level to match template
CIP-0027 match Copywrite section to header License