GalleryFRAYActivityLeaderboardStudio
GalleryArtistsFRAYActivityLeaderboardCode modulesHow it worksMy claimsStudio

Discover, collect and make digital art that lives onchain. Built on KEEL, so every work stays viewable without depending on any one website.

Creative toolsPreserveDocumentationHow we verifyCode modulesLook up a workYour profile
OnKeel Guide
⌕/
Browse documentation
Overview

Start here

One engine. A connected creative world.Your work, your choicesThe Shell & Harness

Create

Revisions, freezes & preservationKEEL collections & mintingThe launchpad: from work to releaseThe marketplace: after the mintYour artist page & creative identityCosts, reads & interrupted uploads

System

The Hold: storing a workThe Crucible: checks & permissionsParts, modules & shared codeInline, Hybrid & direct mediaEthereum, Tezos & AnchorsKEEL on Ethereum / EVMKEEL on Tezos / TEZThe Index & discoveryThe Rites: contract map

Tools

Images, code & worldsThe SDK: KEEL from codeChain data: let the work respondMCP: working with an assistantThe editor: bring it all together

Projects

FRAY: KEEL’s auction systemOnchaininator: preserving existing work

Reference

The design language: one word, one jobKEEL’s words, explainedWhen something does not open
Overview

Start here

One engine. A connected creative world.Your work, your choicesThe Shell & Harness

Create

Revisions, freezes & preservationKEEL collections & mintingThe launchpad: from work to releaseThe marketplace: after the mintYour artist page & creative identityCosts, reads & interrupted uploads

System

The Hold: storing a workThe Crucible: checks & permissionsParts, modules & shared codeInline, Hybrid & direct mediaEthereum, Tezos & AnchorsKEEL on Ethereum / EVMKEEL on Tezos / TEZThe Index & discoveryThe Rites: contract map

Tools

Images, code & worldsThe SDK: KEEL from codeChain data: let the work respondMCP: working with an assistantThe editor: bring it all together

Projects

FRAY: KEEL’s auction systemOnchaininator: preserving existing work

Reference

The design language: one word, one jobKEEL’s words, explainedWhen something does not open

Guide/System·4 min read

The Rites: contract map

Each RiteKEEL's name for a smart contract: published rules that the chain enforces when someone calls them.For exampleA Rite can enforce the supply limit even if a website offers a button to mint more.Full glossary entry → enforces a particular job. See how storage, ownership, presentation, permissions, and sales connect.

Select an underlined word to see what it means.

In this guide
A Rite is a set of enforceable rules.Follow the core jobs.Keep ownership, editing, and governance separate.Other Rites add particular capabilities.Learn what a method will do before calling it.

“How do all these contracts fit together?”

Use KEEL’s own symbols to find each job, then open the implementation map.
THE RITES / ONE JOB PER MODULE FAMILYTRY THE IDEA
⌂Storage

Keep the files

Stores pieces and the instructions for recovering the whole file.

See the contract files

src/modules/keel-hold

  • KeelHold.sol
  • Ingot.sol
  • KeelIndex.sol
  • interfaces/IKeelHold.sol
  • interfaces/IKeelHoldLimits.sol
  • interfaces/IKeelHoldSeal.sol
  • libraries/KeelSealValidation.sol
  • libraries/KeelCastDispatch.sol
  • interfaces/IKeelIndex.sol
  • interfaces/IKeelHoldHarness.sol
NATIVE TEZOS IMPLEMENTATION

src/modules/keel-hold/tezos

  • keel_hold.py
  • keel_hold_onchfs.py
  • keel_index.py
Mapped from the 19 current contract module manifests. Family symbols are navigation cues; this map describes source architecture, not deployment status.

A Rite is a set of enforceable rules.

The contract source reads like a workshop: a banner, a symbol, a short purpose, then the rules. Those names are meant to help you follow the system. The HoldKEEL's native onchain storage for the file bytes and the instructions for joining them back together.For exampleYour sketch and its shared drawing library are stored as separate objects in the Hold.Full glossary entry → stores. The DieThe artist's token contract. It records the Slabs, their owners or balances, supply, and presentation bindings.For exampleA Die can issue a series of 100 individually identified works.Full glossary entry → issues. The HarnessThe composition that runs the work: its selected resources, runtime context, and isolated environment.For exampleThe Harness connects your sketch to its drawing library and runs it inside the Cage.Full glossary entry → assembles. Each job has a boundary.

Use the map above to connect a job to its module family. The implementation tables below go deeper. This is an architecture guide, not a security audit or a claim that every module is deployed on every chain.

FOR EXAMPLE

The sale offers one Slab too many

The DieThe artist's token contract. It records the Slabs, their owners or balances, supply, and presentation bindings.For exampleA Die can issue a series of 100 individually identified works.Full glossary entry → permits a limited supply and the release has already used its available allocation.

A website displaying “Mint” does not override that limit. The mint path must pass the DieThe artist's token contract. It records the Slabs, their owners or balances, supply, and presentation bindings.For exampleA Die can issue a series of 100 individually identified works.Full glossary entry →’s supply and authorization checks.

What this means for you: Read the contract state and release terms when deciding whether an action can succeed.

Follow the core jobs.

These are KEEL’s system roles. A role may involve several contracts and browser code; it is not always one contract with the same name.

RoleJob for the work
HoldKEEL's native onchain storage for the file bytes and the instructions for joining them back together.For exampleYour sketch and its shared drawing library are stored as separate objects in the Hold.Full glossary entry →Store the exact file bytes and their ordered joins.
IndexThe sealed inventory and presentation records that identify the work's pieces and their Marks. This protocol layer is different from the site's search indexer.For exampleThe inventory says this revision uses this sketch and this exact library version.Full glossary entry →Record the inventory, versions, and presentation selection.
CrucibleThe verification layer. Its browser checks compare recovered files with the fingerprints and sizes the work declared.For exampleA changed script fails its check before the default shell opens it.Full glossary entry →Check recovered resources and record specific verification or attestation evidence.
HarnessThe composition that runs the work: its selected resources, runtime context, and isolated environment.For exampleThe Harness connects your sketch to its drawing library and runs it inside the Cage.Full glossary entry →Compose the selected PartsReusable components included in a work, with their own identities and permissions.For exampleSeveral artworks can share the same verified drawing library.Full glossary entry → and run creator content in the CageThe isolated browser box where creator code runs. The default environment does not give it a wallet or unrestricted network access.For exampleAn animated work can draw inside its box without receiving control of the gallery's wallet.Full glossary entry →.
DieThe artist's token contract. It records the Slabs, their owners or balances, supply, and presentation bindings.For exampleA Die can issue a series of 100 individually identified works.Full glossary entry →Record SlabThe collectible token recorded in your wallet. It identifies an owned item and points to its work.For exampleYou collect Tidal Study #7. That token is your Slab; the artwork files have their own storage records.Full glossary entry → ownership or balances, supply, and allowed minting.
SleeveYour work's name, image and details in the standard format wallets and marketplaces already know how to show.For exampleThe Sleeve supplies a name and preview in the format the receiving tool expects. Full interaction still depends on that tool.Full glossary entry →Expose the expected token and presentation information to other tools.
AnchorA record on another chain that points to one version of your work, so people can check a copy is kept there too.For exampleAn Anchor may document a checked copy; an attested route additionally depends on the named parties vouching for its observation.Full glossary entry →Bind a stated revision to particular preservation or chain evidence.
PartsReusable components included in a work, with their own identities and permissions.For exampleSeveral artworks can share the same verified drawing library.Full glossary entry → & InlaysAttached components that contribute to another work's composition under its rules.For exampleA game character can display an equipped item while keeping the item's own identity.Full glossary entry →Describe reusable and attached components under their own identities and policies.
Technical detail: registries with similar names

KeelIndex handles active presentation records; KeelArtifactRegistry manages logical artifact revisions. KeelHarnessRegistry composes artifact slots and token forks. The builder’s shell registry selects reusable shell records and their revisions. KeelArtifactTokenRenderer assembles metadata for current creator collections. These are distinct jobs. The site’s searchable indexer is separate from all of them.

Keep ownership, editing, and governance separate.

Owning a SlabThe collectible token recorded in your wallet. It identifies an owned item and points to its work.For exampleYou collect Tidal Study #7. That token is your Slab; the artwork files have their own storage records.Full glossary entry →, changing an artwork revision, administering a DieThe artist's token contract. It records the Slabs, their owners or balances, supply, and presentation bindings.For exampleA Die can issue a series of 100 individually identified works.Full glossary entry →, and changing platform settings require different authority. An operator allowed to transfer a token does not automatically gain minting or editing permission.

The manager controls specified platform operations. Creator-owned records retain their own rules. Some choices can be updated; others are permanently frozen.

Technical detail: native governance boundaries

The current manager implementations require a two-thirds governance threshold. EVM uses its threshold-signature execution envelope; Tezos approves an exact native operation lambda. Tezos access control and signature authority remain distinct. ShellThe opening program and interface around creator content. The canonical KEEL verification shell owns the protected checks and K controls.For exampleOpen the K control to inspect the files and checks behind the displayed work.Full glossary entry → registration distinguishes keeper-controlled platform shells from creator-owned shells. Inspect the deployed version and current roles for a real operation.

Other Rites add particular capabilities.

Mint controllers manage release rules and allocations. Equipment and stake systems handle attachments or custody. Identity records describe creators and attribution. Market and rights systems govern their own operations.

Use only the pieces the project needs. Adding a catalog entry or an AnchorA record on another chain that points to one version of your work, so people can check a copy is kept there too.For exampleAn Anchor may document a checked copy; an attested route additionally depends on the named parties vouching for its observation.Full glossary entry → does not automatically enable a sale, transfer, or cross-chain mint.

Technical reference: contract modules

Use this directory to find the contract family responsible for a particular job. Each family has its own interface; use the version for your chosen network.

ModuleJob
keel-anchorsChecks and records evidence for copies or commitments on other carriers and chains.
keel-artifactsRecords artifacts, revisions, HarnessThe composition that runs the work: its selected resources, runtime context, and isolated environment.For exampleThe Harness connects your sketch to its drawing library and runs it inside the Cage.Full glossary entry → compositions, links, seeds, and platform management.
keel-codecsDecodes the data formats used by proof and resource readers.
keel-creator-identityRecords creator profiles, commitments, and attribution.
keel-cross-chain-mintManages publication jobs and separately authorized cross-chain mint requests.
keel-crucibleRecords collection checks, attestations, fingerprints, and community preservation evidence.
keel-dieIssues and records tokens; organizes creator collections and renderer bindings.
keel-equipmentHandles equipment inventory, reservations, distribution, and constrained duplication.
keel-graphRecords relationships, PartsReusable components included in a work, with their own identities and permissions.For exampleSeveral artworks can share the same verified drawing library.Full glossary entry →, libraries, contract capabilities, and module reviews.
keel-harnessBuilds the selected shell and resource presentation.
keel-holdStores SlugOne small piece cut from a larger file so it can be stored and recovered in manageable amounts.For exampleA large image needs several Slugs. Their order matters when rebuilding the image.Full glossary entry →, WeldAn ordered join that makes Slugs or smaller objects into a larger object.For exampleA Weld records that the first, second, and third pieces must be read in that order.Full glossary entry →, and immutable objects; includes IndexThe sealed inventory and presentation records that identify the work's pieces and their Marks. This protocol layer is different from the site's search indexer.For exampleThe inventory says this revision uses this sketch and this exact library version.Full glossary entry → presentation records.
keel-ip-controlRecords scoped rights and the custody/execution rules of supported wrappers.
keel-kernelProvides common access and encoding primitives used by other contracts.
keel-marketProvides the marketplace contract’s sale operations.
keel-mint-accessEnforces authorized mint routes, campaigns, drops, and FRAYKEEL's auction contest between an individual bidder and a collective of patrons. The separate FRAY game project uses KEEL too.For exampleThe published auction rules decide whether a unique-work or edition outcome is issued.Full glossary entry → issuance.
keel-presentationRecords a token’s presentation or visual state.
keel-sleeveSupplies token metadata through a shared resolver.
keel-stakeHandles custody for objects used in supported stake workflows.
keel-web3-urlExposes supported content through the web3:// resource interface.

Learn what a method will do before calling it.

A read asks for existing information. A write proposes a change and normally requires a signed transaction with network costs. “Prepare” means creating data for later review.

A familiar method name can take different inputs in another version or on another chain. The contract’s interface describes the exact inputs you need.

Technical reference: common KEEL verbs

These are common KEEL operations and their method names. For input types and return values, use the ABI or native entrypoint schema for the contract you are calling.

JobEVM / Tezos naming
Store a SlugOne small piece cut from a larger file so it can be stored and recovered in manageable amounts.For exampleA large image needs several Slugs. Their order matters when rebuilding the image.Full glossary entry →castSlug / cast_slug
Recover a SlugOne small piece cut from a larger file so it can be stored and recovered in manageable amounts.For exampleA large image needs several Slugs. Their order matters when rebuilding the image.Full glossary entry →haulSlug / haul_slug
Join file piecesweldObject / weld_object
Recover an objecthaulObject / haul_object
Register a HarnessThe composition that runs the work: its selected resources, runtime context, and isolated environment.For exampleThe Harness connects your sketch to its drawing library and runs it inside the Cage.Full glossary entry → compositionforgeHarness / forge_harness
Build HarnessThe composition that runs the work: its selected resources, runtime context, and isolated environment.For exampleThe Harness connects your sketch to its drawing library and runs it inside the Cage.Full glossary entry → HTMLharnessHTML / harness_html
Register an artifactforgeArtifact (exact native schema differs)
Create a DieThe artist's token contract. It records the Slabs, their owners or balances, supply, and presentation bindings.For exampleA Die can issue a series of 100 individually identified works.Full glossary entry →castDie in KeelFactory; the current creator factory has its own APIs
Strike a SlabThe collectible token recorded in your wallet. It identifies an owned item and points to its work.For exampleYou collect Tidal Study #7. That token is your Slab; the artwork files have their own storage records.Full glossary entry →The authorized mint surface of the chosen DieThe artist's token contract. It records the Slabs, their owners or balances, supply, and presentation bindings.For exampleA Die can issue a series of 100 individually identified works.Full glossary entry →; not an arbitrary transfer call

KEEP EXPLORING

The design language: one word, one job→The Hold: storing a work→KEEL collections & minting→The marketplace: after the mint→The editor: bring it all together→
← PreviousThe Index & discoveryNext →Images, code & worlds

ON THIS PAGE

A Rite is a set of enforceable rules.Follow the core jobs.Keep ownership, editing, and governance separate.Other Rites add particular capabilities.Learn what a method will do before calling it.