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/Tools·2 min read

Images, code & worlds

A runtime is the program that opens your kind of work. Declare the 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 → it needs.

Select an underlined word to see what it means.

In this guide
Start with the original medium.Reuse a known player precisely.A new format needs clear opening instructions.Try what the collector will actually open.

“My work is a game, a script, or a world—not just a picture.”

Declare the player and files it needs, then try the experience a viewer will open.
OPEN A WORKInteractive illustration
An image

Your original image remains the artwork file. A reusable display Part opens it inside the Shell, where the viewer can inspect its checks.

Start with the original medium.

A picture, movie, generative drawing, and game need different players. KEEL’s planner recognizes several creative routes and records their required files and runtimes.

A catalog choice is a starting point. The exact 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 →, selected-chain storage, and compatible host must also be available.

Kind of workWhat travels with it
Image, video, or self-contained 3D modelThe original file and the registered display Part.
Generative drawingYour sketch, the exact drawing library, and any seed utility.
3D worldScene code plus its models, textures, and renderer.
Game / WASMThe game program, engine, data, and required context.
Flash / RuffleThe original content plus the compatible player and its dependencies.
Custom HTMLThe entry document and each script, style, and asset it needs.

Reuse a known player precisely.

A module name helps you find a player. Its exact version 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 → let the work keep using the same program. Check that the selected network actually holds its declared bytes.

FOR EXAMPLE

An old animation needs its player

You want to preserve a Flash animation.

The plan needs the original content and the exact compatible Ruffle runtime, including its required resources. Saving only a thumbnail would preserve a preview of the experience.

What this means for you: List everything needed to open the real work, then test that composition.

A new format needs clear opening instructions.

A new renderer can become a reusable Part by explaining its inputs, dependencies, and limits. 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 → combines those 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 → with the creator’s work.

The browser and host still need the capabilities required by the format. The 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 → cannot add support that the receiving environment lacks.

Technical detail: runtime vocabulary

The engine includes static-media, html, p5, three, doom-wasm, and flash-ruffle choices. WASM is WebAssembly, a portable compiled program format executed by a supported runtime. A self-contained GLB packages its model assets together; a glTF with external files needs those dependencies declared and is not the compact standalone-media path.

Try what the collector will actually open.

A thumbnail tests a picture. A runtime preview tests opening and interaction. A published read-back checks the bytes and bindings on the selected chain.

Exercise the controls, resource loading, and expected timing in the intended host. A single screenshot cannot establish all of those facts.

KEEP EXPLORING

Parts, modules & shared code→Inline, Hybrid & direct media→FRAY: KEEL’s auction system→
← PreviousThe Rites: contract mapNext →The SDK: KEEL from code

ON THIS PAGE

Start with the original medium.Reuse a known player precisely.A new format needs clear opening instructions.Try what the collector will actually open.