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·3 min read

The Hold: storing a work

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 files. 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 → make them manageable; 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 → put the pieces back in order.

Select an underlined word to see what it means.

In this guide
Keep every needed file in the inventory.Pack smaller, then check what comes back.Know what recovery depends on.Wake recovers from transaction history.Storage and opening are two decisions.

“The token exists. Where is the actual work?”

Watch a file become manageable pieces, then come back together in the right order.
THE HOLD / CUT · CAST · WELD · OPENTRY THE IDEA
SLUG 01
SLUG 02
SLUG 03
SLUG 04
Tidal Study / ready to open
FILE → PIECES

A large file becomes manageable pieces.

The tooling splits the prepared file into Slugs for the selected storage route. You keep thinking about the work; the storage planner handles the pieces.

Watch the 16-second storage film ▶

Cut the prepared file into Slugs. Cast them into the EVM Hold. Weld the references in order. Recover the files, check their Marks, and open the accepted work.

Animated storage illustration. Piece sizes and checking results are illustrative; no bytes are uploaded by this example.

Keep every needed file in the inventory.

Tidal Study needs its sketch and a drawing library. A game may also need music, models, and textures. KEEL records these as separate resources so a reader knows exactly what to recover.

Large files can be cut into 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 →. A 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 → records how those pieces or smaller objects join together. These connections form the object graph: the work’s assembly plan.

FOR EXAMPLE

Keep the shared library once

Twenty artworks use the same exact drawing library.

Their plans can refer to the same verified library object in the selected 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 →. Each adds its own sketch instead of another copy of the library.

What this means for you: Reuse saves duplicate publication when the required Part already exists on that network.

Pack smaller, then check what comes back.

Compression packs a file into fewer bytes. Decompression restores it. KEEL can check both the packed file and the restored file by their sizes and MarkA file's computed fingerprint, also called a digest or hash. A reader recomputes it to check the bytes.For exampleChanging the sketch's background color changes its Mark. A filename alone would not reveal that change.Full glossary entry →.

Think of checking a sealed parcel, then checking its contents. The browser needs the declared decoder (the program that unpacks it) before the art can use those restored bytes.

Current codec boundaries

Compression options include none, gzip, deflate, and Brotli. The small p5 path uses the registered gzip profile. Brotli requires a matching decoder as a declared Part. Choose a compression format whose decoder is available alongside the work on your selected chain.

Know what recovery depends on.

Native storage means file bytes are kept in the selected chain’s 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 →. Other carriers may use a file network or a declared mirror. Each has its own availability and retrieval path.

The 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 → records what the reader expects. The 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 → checks what actually arrives. A matching MarkA file's computed fingerprint, also called a digest or hash. A reader recomputes it to check the bytes.For exampleChanging the sketch's background color changes its Mark. A filename alone would not reveal that change.Full glossary entry → proves the recovered content; it does not keep an unavailable server online.

PathWhat the reader depends on
Native KEEL objectsThe selected chain’s committed objects and a compatible reader
IPFS / declared mirrorA provider that can return bytes matching the commitment
HTTPS cacheAvailability of the cache, with independent byte checks
Wake · experimentalEthereum history or verified archives, transaction evidence, and the Wake reader

Wake recovers from transaction history.

Wake is an experimental route that places payloads in Ethereum transaction history and records commitments to them. A suitable reader recovers that history and checks the bytes.

This differs from asking 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 → contract for its stored content. A contract cannot read an old transaction’s payload just because it knows the hash. Historical data and a compatible recovery path must be available.

Storage and opening are two decisions.

Inline delivers the complete prepared presentation with the token read. Hybrid starts the presentation and retrieves the declared objects through a chain reader.

Both can use native onchain files. Hybrid describes how they are delivered, and does not silently select IPFS.

Same work. Different delivery paths.SYSTEM MAP
  1. 01Inline

    The complete presentation arrives when the token is read

    →
  2. 02Hybrid

    The browser retrieves and checks the stored pieces

    →
  3. 03IPFS access

    A chosen gateway reaches files stored on IPFS

    →
  4. 04Raw artifact

    Open the original media directly, without a Shell

Storage and presentation are separate choices. Hybrid can retrieve the work entirely from its chosen chain.
Technical detail: EVM and Tezos carriers

On EVM, IngotOn Ethereum, each Slug is saved inside its own small contract, called an Ingot.For exampleThe EVM Hold reads bytes from Ingots. Tezos stores Slugs in native maps instead.Full glossary entry → contracts carry bytes and KeelHold uses ordered descriptors and bounded 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 →. On Tezos, native 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 → are held in big_maps; KeelHoldOnchFS additionally speaks the published OnchFS interface. The native Tezos carrier recovers files through its own object format.

KEEP EXPLORING

Inline, Hybrid & direct media→Parts, modules & shared code→Revisions, freezes & preservation→
← PreviousCosts, reads & interrupted uploadsNext →The Crucible: checks & permissions

ON THIS PAGE

Keep every needed file in the inventory.Pack smaller, then check what comes back.Know what recovery depends on.Wake recovers from transaction history.Storage and opening are two decisions.