Building on Hypermedia
Where to start building on Hypermedia, which surface to pick for your task, and a guide for each job from reading your first document to running your own site.

You can build on Hypermedia without running any software of your own. Every Seed site answers plain HTTP requests, so a script, a web page or an agent can read documents from https://hyper.media today and publish signed blobs back to it. These guides are task-shaped: each one names a goal, lists what you need, and walks through real commands.

If you are new, start with Getting started. In about fifteen minutes it reads a document three ways, creates a key and publishes a first page.

Pick your entry point

Seed exposes the protocol through several surfaces. They are layered, so what you learn on one carries to the next.

Surface

Reach for it when

Guide

The Seed API, /api/<Key> on any site

you want HTTP from any language, with no install

Seed API

The SDK, @seed-hypermedia/client

you write TypeScript or JavaScript that reads, signs and publishes

SDK

The Seed CLI, seed-cli

you script from a shell, publish a folder, or let an agent act through commands

Seed CLI

The seed-cli skill and your own agent

an agent such as Claude Code should read and write with its own key

Using Seed from your own agent

The daemon's gRPC API

you run a daemon and need keys, sync, peers or subscriptions

Daemon gRPC

libp2p, the peer protocol

you are writing another node that speaks to Seed peers

The network

The canonical path: the Seed API and the SDK

The Seed API is the typed request surface every Seed site serves. A request key such as Resource, Search or ListComments names one call with a declared input and output. Reads are GET /api/<Key> with the input in the query string. Writes are POST /api/<Key> with a DAG-CBOR body. Responses are JSON wrapped by superjson, so the payload sits under a top-level json member.

curl 'https://hyper.media/api/Resource?id=hm://z6Mko5npVz4Bx9Rf4vkRUf2swvb568SDbhLwStaha3HzgrLS/resources/self-host-seed'

The SDK speaks the same keys and adds what plain HTTP does not give you: key derivation, blob signing, CIDs and the publish sequence. Every other Seed surface is built on it. The CLI bundles it, Seed Agents call it, and the Seed app shares its types. If your code signs, use the SDK.

Both work against any site. A site answers for its own space and for every account it has synced, so https://hyper.media is a good default base URL. The Seed desktop app serves the same keys on http://localhost:56004 against your own daemon.

Scripting: the CLI and agent skills

The Seed CLI wraps the SDK in commands. It reads a document, creates or updates one from markdown, manages keys, posts comments, queries by attribute, and mirrors a folder to a space. It runs without installing:

npx -y @seed-hypermedia/cli --help

The CLI is also how external agents act on Seed. The seed-cli skill teaches Claude Code the commands, the key setup and a draft-first workflow, where the agent prepares a draft for a person to review before anything is published. Seed has no Model Context Protocol server. External agents use the CLI, the skill or the Seed API. Seed Agents, the hosted runtime, reads and writes hm:// addresses through its own verbs. It can also connect to MCP servers as a client.

Deep integration: gRPC and libp2p

The Seed daemon holds the blobs, indexes them and syncs with peers. Its gRPC API is the widest surface. The web server and desktop app are its clients. It has no authentication, so its ports must stay on localhost or behind a firewall. Use it when you run your own daemon and need something the Seed API does not expose.

The peer protocol is libp2p with the protocol id /hypermedia/0.9.2. You only need it to build another implementation of a node. Start from the network and the Protocol tour.

Guides by task

Start

    Getting started reads a document with curl, the SDK and the CLI, then creates a key and publishes your first document.

    Keys explains mnemonics, .hmkey.json files, where the app, daemon and CLI store keys, and how a headless machine signs.

Read and publish from code

    Seed API is the HTTP reference: base URLs, request encodings, response envelopes, errors, authentication, every key, and the site services under /hm/api.

    SDK is the @seed-hypermedia/client reference, from a first read to building, signing and publishing your own blobs.

    Query grammar is the language for finding documents by their attributes, shared by Explore, the CLI, the SDK and Seed Agents.

    Daemon gRPC lists every daemon service and RPC, marks the unimplemented ones, and shows how to connect.

Script and automate

Build for other people

Run and contribute

    Self-hosting runs your own Seed site on a server and domain you control.

    Contributing maps the repository, runs the development environment and tests, and explains how protocol changes land.

See also

Do you like what you are reading? Subscribe to receive updates.

Unsubscribe anytime