Skip to content

Myelin

A CKB-isomorphic session runtime for finite Cell execution.

Myelin runs high-throughput Cell transitions off-chain, keeps them finite and typed, and emits evidence that can be projected toward CKB-style transaction contexts — with a future court path that lets a single disputed chunk be adjudicated by a CKB-VM-style verifier on the L1.

Get started Read the architecture GitHub

  • Repository


    Myelin-Labs/Myelin — source, issues, CI, releases.

  • License


    MIT. See LICENSE for the full text.

  • Report an issue


    Found a bug or a docs error? Open an issue — please include the page URL and the exact command / code that misbehaved.

  • Deploy this site


    This site auto-deploys to GitHub Pages from main via .github/workflows/pages.yml. Configure in Settings → Pages → Source: GitHub Actions.

What Myelin actually is

Myelin is not a CKB full-node fork, not a new L1, and not yet a finished permissionless L2. It is a protocol seed that keeps the execution, state, evidence, and session-finality pieces needed to test the shape of an off-chain Cell ledger that still respects CKB's mental model.

  • Cell-native state


    State is a finite Cell set. There is no global account store and no mutable contract storage hidden behind an address. Every transition consumes and creates Cells.

  • Deterministic CKB-VM execution


    Scripts run in a RISC-V based VM (CKB-VM plus a small Myelin-only syscall extension), so the same binary produces the same state root on every validator.

  • Typed conflict scheduling


    The CellDAG scheduler uses typed conflict hashes and read/write domains to admit transactions, parallelise independent ones, and reject anything that cannot be reasoned about statically.

  • CKB-style projection


    Every CellTx or chunk produces a projection report — either ckb_projection_possible = true, or an explicit list of unsupported features and semantic deviation flags.

  • Single-chunk court path


    One disputed chunk is CKB-VM-verifiable on the L1; interactive bisection is a fallback design, not the bootstrap assumption.

  • Reference workload


    The first pressure workload is xxuejie's Teeworlds-on-CKB replayer, which gives Myelin a real, deterministic, CKB-style game session to drive.

How it relates to CKB

CKB is the semantic reference for Myelin. Same vocabulary (Cell, CellTx, witness, dep group, script group), same execution environment (CKB-VM + RISC-V), and the same projection layer at the boundary. The differences are about where work happens, not what work means:

Aspect CKB (L1) Myelin (off-chain session)
Where state lives Every full node Finite session set
Block finality Nakamoto PoW consensus Selectable: static committee or Tendermint-style BFT
Throughput target ~1 block / tens of seconds Many chunks / second inside one session
Execution CKB-VM, fully on-chain CKB-VM-style, deterministic, off-chain
Dispute path Replay on chain Single-chunk court bundle → CKB-VM verifier on L1
Asset custody CKB Cells natively Locked Cells at session open, settled on close

A first look at the runtime spine

%%{init: {
  "theme": "base",
  "themeVariables": {
    "primaryColor": "#A5B4FC",
    "primaryTextColor": "#1E293B",
    "primaryBorderColor": "#4F46E5",
    "lineColor": "#6366F1",
    "secondaryColor": "#C7D2FE",
    "tertiaryColor": "#C7D2FE",
    "fontFamily": "Inter, system-ui, sans-serif",
    "fontSize": "14px"
  },
  "flowchart": { "curve": "basis", "padding": 12 }
}}%%
flowchart LR
    A["CellScript source"]:::source
    B["typed-cell metadata<br/>+ VM artefact"]:::artefact
    C["CellTx<br/>(Myelin)"]:::tx
    D["CellDAG<br/>scheduler"]:::sched
    E["Deterministic<br/>VM verification"]:::vm
    F["Session Cell<br/>state root"]:::state
    G["Evidence bundle<br/>(projection, DA,<br/>court, settle)"]:::evidence

    A --> B --> C --> D --> E --> F --> G
    F --> C

    classDef source   fill:#A5B4FC,stroke:#4F46E5,color:#1E293B;
    classDef artefact fill:#C7D2FE,stroke:#6366F1,color:#1E293B;
    classDef tx       fill:#C7D2FE,stroke:#4F46E5,color:#1E293B;
    classDef sched    fill:#C7D2FE,stroke:#6366F1,color:#1E293B;
    classDef vm       fill:#A5B4FC,stroke:#4F46E5,color:#1E293B;
    classDef state    fill:#C7D2FE,stroke:#6366F1,color:#1E293B;
    classDef evidence fill:#C7D2FE,stroke:#7C3AED,color:#1E293B;

Every box on this spine is a real crate in the workspace — cellscript, myelin-exec, myelin-mempool, myelin-state, myelin-consensus, myelin-cli. The next pages break it apart.

Where to go next