This repository contains the versioned protocol specifications for the Notareum Protocol -- a Universal Transfer Interface (UTI) for verified blockchain resource sharing.
The protocol/ repo is the constitutional document of the Notareum Protocol. Every behavioral contract between participants (users, validators, integrators, governance) is formally specified here. The on-chain smart contracts implement these specs; if there is ever a conflict, this document governs intent.
protocol/
├── README.md -- this file
├── CHANGELOG.md -- version history
├── v1.0/ -- v1.0 specifications
│ ├── README.md
│ ├── 00-overview.md
│ ├── 01-nota-format.md
│ ├── 02-resource-registry.md
│ ├── 03-verification.md
│ ├── 04-staking.md
│ ├── 05-slashing.md
│ ├── 06-fee-model.md
│ ├── 07-governance.md
│ ├── 08-security.md
│ └── 09-glossary.md
└── package.json
Protocol versions follow semver (MAJOR.MINOR):
- MAJOR bumps indicate breaking changes to the .nota format, consensus rules, or economic parameters that require coordinated network upgrades.
- MINOR bumps indicate backward-compatible additions (new resource types, optional fields, new verification levels).
Each version lives in its own directory (v1.0/, v1.1/, v2.0/, etc.). Older versions are never deleted -- they remain as authoritative historical records.
The current stable version is v1.0.
- Discuss first. Open a GitHub Issue describing the proposed change and its motivation before writing a spec draft.
- Draft a PR. Create a branch named
spec/<version>-<short-description>(e.g.,spec/v1.1-add-did-resource-type). - Follow the template. Every spec document MUST include: Abstract, Motivation, Specification, Security Considerations. Use RFC 2119 language (MUST, SHOULD, MAY, MUST NOT, SHOULD NOT).
- Cross-reference. Link to affected specs by number (e.g.,
[03-verification]). - Governance approval. Changes to MAJOR parameters (quorum sizes, thresholds, token economics) require a governance vote via veNOTA. See
[07-governance]. - Maintain CHANGELOG.md. Every merged change MUST be documented.
All specifications in this repository use RFC 2119 keywords. When these words appear in ALL CAPS they carry their defined meaning:
- MUST / REQUIRED / SHALL: absolute requirement
- MUST NOT / SHALL NOT: absolute prohibition
- SHOULD / RECOMMENDED: strong recommendation; deviation requires documented justification
- SHOULD NOT / NOT RECOMMENDED: strong discouragement
- MAY / OPTIONAL: truly optional
- Research: research@notareum.com
- Security: security@notareum.com
- GitHub: https://github.com/notareum