Developer Hub

Welcome, Builder

Swarm gives you encrypted access control with no server in the loop, mutable state at a fixed address, real-time messaging built into the network itself, and a way to put your app in front of users who never have to touch a token. None of this is aspirational — it's shipped, documented, and running today.

Encrypted access control, mutable state and real-time messaging, with no server in the loop. Shipped and running today.

Why build here

What makes Swarm unique

Decentralized storage usually means picking a tradeoff: public-by-default content addressing that can't handle private data, or static files that can't represent anything that changes. Swarm was designed by people who treated those as solvable engineering problems, not permanent limitations.

  • Access control

    Privacy without a gatekeeper

    Swarm nodes are incentivized to serve any chunk to anyone who asks — which means no node can act as a trusted access gate. So privacy comes from encryption itself: the Access Control Trie lets a publisher grant specific people access to specific content, and each grantee can decrypt only what they've been given. Revoked grantees keep access to versions they already had — revoking only blocks what comes next.

  • Feeds

    A fixed address for things that change

    Content-addressed storage means any change to a file produces a completely new address — fine for an archive, useless for a profile, a thread, or anything with a "current version." Feeds solve this with a stable address that always resolves to the latest signed update, with no blockchain transaction required to publish a new one.

  • GSOC

    Real-time, many-to-one messaging, built in

    Real-time features usually mean bolting a separate server onto your decentralized storage — exactly the centralization point you were trying to avoid. GSOC lets a node listen for updates from many senders on a shared address, enabling chat, live status, and social features as a native capability of the network you're already storing data on. It's unencrypted by default, so it's built for public streams, not private data.

  • PSS

    Messaging where the message itself is invisible

    Where GSOC is for public broadcast, PSS is for the opposite: direct, encrypted node-to-node messages disguised as ordinary chunk traffic. An observer watching network traffic can't even tell that a message was sent — not just what it said. It's the encrypted complement to GSOC's open channel.

Possibility spaces — development

What can you build on Swarm today?

Each story here reads three ways: imagine it, understand it, build it. This page leads with building it: the tools, and how they fit together.

Decentralized Frontend

ClaimedYours to take

Decentralized hosting — no server to run, no middleman to depend on.

Development

Three tools cover this at every skill level, and all three do the same thing underneath: buy a postage stamp — Swarm's prepaid storage, capacity plus duration bought upfront instead of a monthly hosting bill — upload the build output, point a name at the result. This covers any site that builds to static files; a server-rendered app needs a static build step first, with backend logic living in smart contracts instead of a server.

For a one-off publish with no local setup, Beeport uploads a build folder straight from the browser and buys the postage stamp as part of the flow, no node to run. For repeat deploys with a local node, Swarm Desktop gives the same flow a GUI. For CI/CD or anything scripted, swarm-cli talks to a Bee light node directly: swarm-cli quickstart sets up the node, swarm-cli stamp create --capacity 680MB --ttl 3months buys storage sized to the site (it accepts human units like 1GB or 1w/3months; immutable by default, which stops the batch from overwriting the site's own earlier chunks as new ones are written), and swarm-cli feed upload ./dist uploads the build folder, prompting for a stamp and an identity if neither exists yet.

Once the first upload is live, pointing a name at it is a one-time step: take the feed's bzz://<hash> reference and set it as an ENS content hash, so the site resolves at a human-readable name instead of a raw address. Every future deploy reuses the same feed and the same ENS record; only the manifest the feed points to changes, so nothing downstream needs updating. For CI specifically, swarm-cli stamp list checks what's already funded and swarm-cli feed upload pushes each new build non-interactively, as long as a stamp and identity are already set up.


  • bee-js
  • Feeds
  • Postage stamps
  • swarm-cli
  • Beeport
  • Swarm Desktop
  • justdeploy.eth
  • ENS
Development diagram: Decentralized Frontend
FIG. 01 ref c09d…968b
Development diagram: Decentralized Frontend

Build with

Everything you can use right now

Apps already running, libraries that handle the parts you don't want to build yourself, tools for watching the network, the APIs that connect to a node, and the clients that run it. Status is honest throughout — beta means beta, in progress means exactly that.

Maturity status:

Maturity status:

dApps

Running apps and concept mockups

  • Swarm Desktop

    Shipped

    A Swarm node wrapped in a desktop app. Upload files, share them, and browse content published on the network, with a wallet and a node running quietly underneath. Built by the Swarm Foundation.

  • Beeport

    Beta

    Web2 rails for Swarm — upload and share files and websites without running a node. Pay for storage from a chain you already hold funds on; the swap to xBZZ happens under the hood.

  • Devcon.buzz

    Shipped

    A conference companion app built on Swarm — chat, comments and shared spaces, with attendee content stored on the network instead of a platform database. Deployed at Devcon SEA and Budapest Blockchain Week 2025. Built by Solar Punk.

  • EtherJot

    Shipped

    A web app for publishing a blog straight onto Swarm, without leaving the browser.

  • bChan

    Alpha

    A fully decentralized, anonymous forum built by the Foundation team — a proof of concept for public discourse with no moderator that can be pressured into taking it down.

    OpenCode
  • OpenStreetMap on Swarm

    Shipped

    A decentralized mirror of OpenStreetMap, built into Swarm Desktop. Maintained in memory of ldeffenb, the community member who built and looked after it.

    OpenCode
  • Swarmy

    A service for people who'd rather not run their own node — buy storage and interact with Swarm without setting up infrastructure first.

    OpenCode
  • Multimedia streaming & chat

    Beta

    Solar Punk's decentralized streaming and chat tooling, the same primitives behind DevCon.buzz, extended toward general-purpose multimedia apps.

    OpenCode
  • Nook

    Beta

    Store files, share them privately, message people and publish websites. No servers in between. Free and open source, in beta.

  • Apps on Swarm

    Shipped

    A curated list of popular open-source web apps published directly on Swarm. A proof of concept for what happens when the centralized host is replaced.