# vesl > Verifiable Execution and Settlement Layer Documentation for vesl-nockup, the development environment for building nockapps. Each link below is a standalone markdown page — fetch only what you need. llms-full.txt holds every page concatenated for bulk ingestion. Generated 2026-05-25 from zkvesl-docs 4f2c66c (vesl-nockup 6e2127c, vesl-core 11d110d). ## Welcome - [vesl at a glance](/pitch.md): One-page orientation — what vesl is, what ships, the 14-graft catalog, a 10-line code example, the three-command flow, and where vesl ends and nockchain begins. ## Setup - [Get Started](/setup/quickstart.md): From an empty directory to a grafted NockApp emitting %settle-registered + %settle-noted in three commands. ## For AI Agents - [Orientation](/setup/llms.md): How this documentation is published for AI agents: the llms.txt index, per-page markdown, and llms-full.txt. - [Cookbook](/for-ai-agents/cookbook.md): Practical patterns for an AI coding agent driving vesl-nockup. Ingestion order, typed-surface advantages, the closed-loop watch harness, graft selection, and common failure modes. ## Build a Nockapp - [NockApp Anatomy](/build/anatomy.md): How a vesl nockapp is structured — hull, grafts, your domain — and how nockup graft composes them into one kernel. - [Build a Real App](/build/real-app.md): Compose five grafts into a license registry — rbac + registry + log + settle + batch — running on the same kernel that ships out of the vesl template. - [Grafts](/build/grafts/index.md): Install vesl-graft and orient on the 5-family graft taxonomy. - [Inject](/build/grafts/inject.md): How nockup graft discovers manifests, composes per-marker blocks, and writes the result into your app.hoon. Preview-by-default; lint families that gate apply. - [Inject Lints](/build/grafts/inject/lints.md): Five pre-apply lint families that gate nockup graft inject --apply. Each one names a silent-fail surface in the composer or hoonc and refuses the write before it lands. - [Manifest Schema](/build/grafts/manifest-schema.md): TOML schema for graft manifests — the file format nockup graft reads to compose a graft into your kernel. - [The Trellis Pattern](/build/grafts/trellis-pattern.md): One kernel split across multiple hull-keyed namespaces. Use when an app needs tenant / version / period / domain isolation without booting separate NockApps. - [Kernel](/build/kernel/index.md): The three Hoon patterns you write between the markers — domain causes, peek paths, and verification-gate replacement. - [Domain Causes](/build/kernel/causes.md): Three Hoon blocks per command — state field, cause variant, ?- arm. Worked example walks a badge-issuer cause that increments a per-subject counter. - [Domain Peeks](/build/kernel/peeks.md): How a domain peek arm works against your state. The (unit (unit *)) return convention and the peek chain. - [Verification Gates](/build/kernel/gates.md): Replace the default hash-comparison gate inside each %settle-* arm with a Merkle, signature, or STARK gate. Five named gates ship in vesl-gates.hoon. - [Multi-Graft Coordination](/build/kernel/multi-graft.md): Threading state through multiple grafts in one domain arm via domain-patterns' apply- wet-gates. - [Hull](/build/hull.md): How a hull builds a poke, sends it to the kernel, and parses the effect list. Plus drift detection and the four nock-noun-rs footguns. - [Catalog Gates from Rust](/build/catalog-gates/index.md): How to drive each of the five named verification gates the vesl-gates library ships, plus the default single-leaf hash gate baked into settle-graft. - [Gate Chains](/build/catalog-gates/gate-chains.md): AND-folding multiple verification gates in [graft.gates].gate-chain. - [Swapping a Gate](/build/catalog-gates/swapping.md): Edit [graft.gates], re-inject, verify via /status. - [Custom Gates](/build/catalog-gates/custom-gates.md): Using a verify-gate that isn't in the shipped catalog. - [Build & Run](/build/build-run/index.md): Compile the kernel with hoonc, build the hull with cargo, run the Demo arm or one of the three settlement modes. - [Serve Subcommand](/build/build-run/serve.md): The scaffolded binary's serve arm — flags, auth model, endpoint catalog, and merging custom routes into the vesl-hull HTTP API. - [Production Checklist](/build/build-run/production-checklist.md): Pre-ship verification — build artifacts, kernel pinning, auth, rate limits, /status visibility, snapshot semantics, and the full verification sequence. - [Fakenet Walkthrough](/build/build-run/fakenet.md): Wire the hull to a local nockchain fakenet — hub, miner, signing key, and the vesl.toml fields that drive end-to-end settlement. - [Dumbnet Walkthrough](/build/build-run/dumbnet.md): Wire the hull to a live nockchain endpoint — seed-phrase resolution, the dumbnet vesl.toml shape, and the deploy posture for a hull with spend authority. - [Testing](/build/testing/index.md): Driving vesl-test — the Rust harness and standard suite, domain pokes for any graft, slog diagnostics, and the CLI for ad-hoc kernel inspection. - [Rust Harness](/build/testing/harness.md): The GraftTestHarness Rust API — booting a compiled out.jam, running the standard 8-op settle-graft suite, and extending it with the public fixtures. - [Domain Pokes](/build/testing/domain-pokes.md): Testing grafts beyond settle-graft — typed harness methods, harness.poke_slab as the escape hatch for unbound builders, peek_handle for reading state, and the nested-unit peek_raw. - [Slog Diagnostics](/build/testing/slog-diagnostics.md): poke_slab_report and PokeReport — capturing slog warnings to tell a gate-deny from a cause-shape rejection. - [CLI](/build/testing/cli.md): The vesl-test CLI — installing it, plus the inspect peek, watch, and verify-jam subcommands for ad-hoc kernel inspection. - [State & Snapshots](/build/state-snapshots.md): Where kernel state lives and how vesl-checkpoint snapshots and resumes it. - [Updating a Project](/build/updating.md): How a vesl-nockup release reaches a built project, the order to apply an update safely, and why re-injection overwrites rather than merges. ## Reference - [Glossary](/reference/glossary.md): Two-section glossary. Building blocks for the project artifacts, files, and tools; Hoon for the language constructs you write into the kernel. - [vesl-core](/reference/vesl-core.md): A navigable orientation for the vesl-core Rust SDK — the four primitives, the four sibling crates, and where to read source. - [Library Catalog](/reference/library.md): Index of grafts, support Hoon libraries, and Rust crates shipped with vesl-nockup. - [Peek Catalog](/reference/peek-catalog.md): Every shipped peek path across the graft library — path shape, Rust builder, return type, and a decoder hint. - [Effect Catalog](/reference/effect-catalog.md): Every shipped effect across the graft library — payload shape, when emitted, and the per-graft error message strings. - [CLI (nockup graft)](/reference/cli.md): nockup graft subcommand surface, preview-by-default semantics, the priority lattice, and the typed effect-union codegen. - [nockapp.toml](/reference/nockapp-toml.md): Project manifest for `nockup project init` — package metadata, template source, and dependency declarations. - [vesl.toml](/reference/vesl-toml.md): Config file fields for a vesl-based hull — settlement mode, chain endpoint, key derivation. ## Troubleshooting - [Common Pitfalls](/troubleshooting/common-pitfalls.md): Recognizable failure modes — what the symptom looks like, what's actually happening, and the fix.