24 · PROTOCOL
NIL-0 Specification
STATUS
DRAFT
SPEC
NIL-0
VERSION
0.4.2
UPDATED
2026-06-02
Purpose
This page collects the normative requirements referenced throughout the preceding documentation into a single reference. It is not a replacement for the individual sections, which contain the rationale each requirement is drawn from.
Normative Requirements
- An Obligation Object's economic fields MUST be immutable after compilation (04).
- State MUST only transition along the paths defined in 21.
- A router MUST re-validate domain liquidity capacity at assignment time rather than trusting advertised figures alone (05, 08).
- An obligation MUST NOT transition to WITNESSED or RESOLVED without a valid witness matching its finality condition (15).
- Cycle detection and multilateral netting MUST preserve every domain's net position exactly (12).
- Recipient-facing finality guarantees MUST depend only on local finality, never on global finality (16).
- Failure states MUST be surfaced as first-class obligation states, not generic errors (17).
Status
NIL-0 is a draft specification. Sections marked FINAL above (00, 04 core structure, 21) are considered stable; sections marked DRAFT or ACTIVE remain subject to revision through the NIP process (see Improvement Proposals).