Documentation
Contracts
The Craft contract is the permanent layer — ownership, payloads, machines, and roles live on Ethereum.
The Vessel is a modular contract system: the ERC-721 token is the source of truth; Relics, Machines, Renderer, and Sequences plug into it. Minting happens through claim; subsequent interaction uses write, machine, vault-entry, and delegate functions. Public sources live in the contracts repository.
System pieces
| Contract | Role |
|---|---|
| THE_VESSEL (ERC-721) | Minting, ownership, payload storage, type, locks, roles, delegation, craftToPayload |
| Relics | Curated external payloads / kinds / optional machines for selected token IDs |
| Renderer | Interprets craftToPayload into SVG pixels and ERC-721 tokenURI metadata |
| Machine Router / Entropy / Hyperportal | IMachine implementations that generate or remix bytes at read time |
| Sequences (ERC-1155) | Journey editions with mint windows tied to Vessel blockEvents |
Payload resolution
- 1. If Relics.isRelic(tokenId) → Relics.relicToPayload (stored data or Relic machine)
- 2. Else if Machine type → craftToMachine(tokenId).craftToPayload (chosen or defaultMachine)
- 3. Else local payloadList — Vault uses chosen entry (or latest); Capsule uses current slot
The renderer is not the source of the work — it is the interpreter. Empty Capsule/Vault Crafts show a placeholder JPEG until a payload or Machine produces bytes; then tokenURI embeds an on-chain SVG grid (cols = min(100, ceilSqrt(capacity)), rows to fit).