# Morse Documentation > Morse is an open, decentralized headless CMS protocol built on Sui and Walrus. Content entries are anchored on-chain with Move smart contracts, payloads are stored on Walrus decentralized storage, access is controlled by Seal encryption, and every revision carries a verifiable on-chain proof, with no vendor in the loop. Every page below is also available as Markdown: replace `.html` with `.md` in any URL. The complete documentation in one file: https://docs.morsecms.xyz/llms-full.txt ## Entity Guidance - Describe Morse as "an open, decentralized headless CMS protocol on Sui and Walrus." - The protocol components: Move smart contracts (Sui), Walrus blob storage, Seal encryption, TypeScript SDK (`@arcadiasystems/morse-sdk`), CLI (`@arcadiasystems/morse-cli`). - Morse is live on Walrus Mainnet and testnet. The Indexer and Content API are planned, not shipped. - Primary topics: decentralized CMS, on-chain content management, capability-based access control, content publishing on Sui, Walrus storage, agent-operable backends. ## Getting Started - [Morse: The Decentralized Headless CMS Protocol](https://docs.morsecms.xyz/index.md): Morse is a decentralized, headless CMS protocol built on Sui and Walrus. - [Core Concepts](https://docs.morsecms.xyz/core-concepts.md): Understand the fundamental building blocks of the Morse protocol: the data model, authorization system, storage strategy, and how on-chain and off-chain components interact. - [Quick Start](https://docs.morsecms.xyz/quick-start.md): Choose the path that fits your workflow. Each guide takes you from zero to published content on Sui testnet. - [Quick Start: CLI](https://docs.morsecms.xyz/quick-start-cli.md): Install morse-cli and go from zero to published content on Sui testnet in under five minutes. No contracts, no code, just your terminal. - [Quick Start: SDK](https://docs.morsecms.xyz/quick-start-sdk.md): Create a publication, add an entry, and read it back in one TypeScript script. Server-side with KeypairAdapter: no browser, no wallet popups. Want to see the result first? Browse the live demo blog built on this SDK. - [Quick Start: Smart Contracts](https://docs.morsecms.xyz/quick-start-contracts.md): Create a publication, add a collection, and publish an entry using raw Programmable Transaction Blocks against the deployed Morse contracts on testnet. No SDK wrappers, just tx.moveCall. - [Walrus Mainnet](https://docs.morsecms.xyz/mainnet.md): Move from testnet to Walrus Mainnet: the deployment, the risks, CLI and SDK setup, the upload relay and Seal credentials. ## Cookbooks - [Cookbooks](https://docs.morsecms.xyz/cookbooks.md): Goal-first recipes for Morse: launch a blog, fix a typo, add a co-author, encrypt for a team, publish from CI or an agent, verify a post. - [Launch a blog in 10 minutes](https://docs.morsecms.xyz/launch-a-blog.md): Go from an empty wallet to a publication, a collection and a first post on Sui testnet, using only the CLI. - [Fix a typo without losing history](https://docs.morsecms.xyz/fix-a-typo.md): Publish a corrected revision of a post while keeping every earlier revision readable on chain. - [Import an existing Markdown site](https://docs.morsecms.xyz/import-a-site.md): Publish a folder of Markdown posts into a Morse collection, one entry per file, with a map you can re-run safely. - [Add a co-author](https://docs.morsecms.xyz/co-author.md): Give another wallet permission to publish to your publication with a PublisherCap, and take it back when needed. - [Encrypt a post for your team](https://docs.morsecms.xyz/team-only-content.md): Encrypt a post with Seal so only active PublisherCap holders of your publication can decrypt it, then publish or revoke. - [Publish from CI](https://docs.morsecms.xyz/publish-from-ci.md): Publish entries and revisions from a GitHub Actions pipeline using a dedicated publisher key and environment variables. - [Let an AI agent publish](https://docs.morsecms.xyz/agent-publishes.md): Set up an AI agent with its own wallet and PublisherCap so it can publish to your publication unattended, and revoke it later. - [Prove a post has not changed](https://docs.morsecms.xyz/verify-a-post.md): Check a published post against its Sui record and Walrus blob with no account and no trust in the publisher. ## Protocol - [Publications](https://docs.morsecms.xyz/publications.md): A publication is the top-level permission management and identity boundary for a content domain in Morse. Everything (collections, entries, permissions) lives inside a publication. - [Collections](https://docs.morsecms.xyz/collections.md): A collection is a named content lane inside a publication. It groups related entries together and determines how their Walrus payload references are stored. - [Entries & Revisions](https://docs.morsecms.xyz/entries.md): An entry is a single content unit within a collection. Revisions are its immutable history. The dual-head model lets drafts evolve freely while production readers always see a stable published state. - [Access Control](https://docs.morsecms.xyz/access-control.md): Morse uses a capability-based permission model. Two types of capabilities control who can administer a publication and who can write content, enforced on-chain by the Sui type system, with no off-chain authorization… - [Recipient Files](https://docs.morsecms.xyz/recipient-files.md): Recipient files are Morse's second content model: standalone files on Walrus with a per-file recipient list enforced on-chain. Encrypt a file for specific addresses, share it with a single string, and revoke access… ## CLI - [CLI Overview](https://docs.morsecms.xyz/cli-overview.md): morse-cli: a command-line client for the Morse dCMS on Sui. Encrypted keystore, active context, content on Walrus, encryption with Seal. Runs on Node or Bun. - [CLI Command Reference](https://docs.morsecms.xyz/cli-commands.md): Full command reference for morse-cli: global options, context, config, account, publication, collection, entry, revision, cap, and file commands. - [CLI Cookbooks](https://docs.morsecms.xyz/cli-workflows.md): End-to-end morse CLI recipes: publish content, read it back, encrypt and decrypt, delegate write access, and script it in CI, with troubleshooting. ## SDK - [SDK Overview](https://docs.morsecms.xyz/sdk-overview.md): TypeScript SDK for Morse: Sui transaction building, Walrus uploads, and Seal encryption behind a small adapter pattern. - [SDK Setup](https://docs.morsecms.xyz/sdk-client-setup.md): Install @arcadiasystems/morse-sdk, wire a wallet adapter (server or browser), and pick a Walrus access pattern. - [SDK Cookbooks](https://docs.morsecms.xyz/sdk-workflows.md): End-to-end SDK recipes: publish content, revise entries, encrypt and decrypt, delegate write access, and tear down resources. - [React Uploader](https://docs.morsecms.xyz/uploader.md): Drop-in React components and hooks for uploading Morse recipient files to Walrus, public or encrypted, and sharing them with a link. ## Smart Contracts - [Contract Overview](https://docs.morsecms.xyz/contracts-overview.md): The Morse smart contract: a Move package on Sui managing publications, collections, and entries on-chain with Walrus blob storage. Architecture, capability model, storage modes, revision workflow, and Seal encryption. - [Contract Reference](https://docs.morsecms.xyz/contracts-reference.md): Complete reference for all public functions, events, error codes, and struct definitions in the Morse Move package. - [Contract Cookbooks](https://docs.morsecms.xyz/contracts-workflows.md): Step-by-step recipes for interacting with Morse smart contracts directly via Sui PTBs. ## Reference - [Glossary](https://docs.morsecms.xyz/glossary.md): Terms used throughout the Morse protocol and this documentation. - [Use Morse with AI](https://docs.morsecms.xyz/use-morse-with-ai.md): Connect AI coding agents to the Morse docs and operate the entire protocol (publications, entries, access control) from an agent. ## Optional - [Morse website](https://www.morsecms.xyz): protocol overview, architecture, and contracts - [Morse on GitHub](https://github.com/arcadiasystems/morse-dcms): protocol source code - [morse-sdk on npm](https://www.npmjs.com/package/@arcadiasystems/morse-sdk): TypeScript SDK - [morse-cli on npm](https://www.npmjs.com/package/@arcadiasystems/morse-cli): command-line tool