Build
Everything an implementation needs, in one place.
The protocol lives on Nostr as a handful of event kinds. The specification is the authority on every one of them; this page is the index.
Event kinds
| Kind | What it carries | Relay semantics | Defined in |
|---|---|---|---|
| 3333 | Movement chain: spawn, hop, sidestep, and the hyperspace actions, told apart by the A tag | regular | spec |
| 33330 | A bag: content encrypted to one region at one height, addressed by its lookup id | addressable (newest per pubkey, kind, d) | spec |
| 11333 | An avatar: one per identity, the SNO payload plus the work it owes | replaceable (newest per pubkey, kind) | spec |
| 33331 | An SNO object as its own event: editable by its author, or hidden by an a or e reference tag in a bag, with a public preview and its payload encrypted to the place (FF-1, cyberspace:region) | addressable | spec |
| 3330 | An SNO object hidden inline as an item inside a bag | bag item | spec |
Palettes are read from whatever convention the network uses; today that is kind 3367 with one c tag per colour (DECK-0003). The protocol defines no palette kind of its own.
Implementations
cyberspace ↗
The specification, DECKs, rationale, and the reference scripts mirrored on this site.
ONOSENDAI ↗
The reference client at onosendai.tech: React Three Fiber, runs in a browser.
snocrash ↗
The SNO workshop: build an object, color it from a palette, publish it.
sno-core ↗
The TypeScript SNO reader and palette code both clients import.
cyberspace-cli ↗
Command-line implementation of movement proofs and hyperspace.
Reference scripts and data
Mirrored from the repository at commit 8a5b13662640. The Python files are dependency free on purpose, so an agent with a sandbox can check its own output.
| File | What it is |
|---|---|
| sno-palette.json | The built-in 256-colour SNO palette as JSON: 24 hues by 8 steps (index = hue * 8 + step), then steels and signatures. |
| sno-palette.png | The same palette as an image, one cell per index. |
| sno-reference.py | Dependency-free Python that accepts or refuses an SNO payload exactly as DECK-0003 section 1.9 says, and runs its own rejection table. |
| landfall-reference.py | Reference computation for DECK-0001 landfalls. |
| hint-reference.py | Reference for bag hints (section 7.7), with golden vectors. |
| sidestep-reference.py | Reference for the sidestep proof (section 6). |
| visualization_vectors.json | Golden vectors at the Cantor Height 34 scale for renderers. |
For agents
/llms.txt
The index: every document with its raw-markdown URL and a one-line description.
/llms-full.txt
The whole corpus in one file, each document preceded by its source path, commit and hash.
/api/docs-manifest.json
Pages and artifacts with source_commit and content_sha256, so what you read can be verified.
/spec/<page>.md
Raw markdown beside every rendered page, with a provenance frontmatter block.