LEAVE THE CLOUD. JOIN THE SWARM.

Decentralized frontend
deployment

Deploy your website to the Swarm decentralized network in minutes.
No servers, no subscriptions, no downtime. ·

Swarm is a decentralized open source, peer-to-peer network. Uploaded files are split into small chunks and stored redundantly across nodes in the network — no single server, no single point of failure. You pay for storage by buying a postage stamp, which funds the nodes that keep your data available. → Learn more at ethswarm.org
~3 min to deploy
No account needed
Pay for storage, not traffic
pick your path
Browser  →  Desktop App  →  CLI
Easy
Browser
I just want to upload my website.
Intermediate
Desktop App
I prefer a GUI over the command line.
Advanced
CLI
Give me the CLI. I run scripts for fun.

Deploy via Beeport

No install needed
Total time: ~5 minutes
01
Connect your wallet
Open Beeport — no install required.
  • Go to beeport.ethswarm.org and click Connect Wallet
  • Supports MetaMask, Brave, Phantom, Rainbow, Coinbase Wallet, and WalletConnect
→ Open Beeport
02
Buy storage
Open the Buy tab and configure your storage.
  • Choose your chain — Gnosis, Ethereum, or any EVM-compatible chain
  • Choose your payment token — ETH, BZZ, USDC, or any ERC-20 token
  • Select a storage size and duration
  • Click Buy Storage and confirm the transaction in your wallet
⚠ Storage expires when your stamp runs out — if it hits zero, your site will be taken offline. To extend: go to the Upload tab, find your stamp under Your Stamps, and click + Top Up.
03
Upload your site folder
Switch to the Upload tab.
  • Check Multiple files in a folder (one hash)
  • Click Select Folder and pick your build output folder
  • Make sure the folder contains an index.html at its root — that's the entry point Swarm serves
  • Click Upload
04
Access your site (optional, via hash)
After upload, Beeport shows an Upload Successful! modal with an Open link button. Here's what to expect depending on how you open it:
  • Swarm Gateway — the default link opens on the official Swarm Gateway, which blocks unreviewed sites to prevent phishing. You'll see a Forbidden message — this is normal. Sites can be submitted for approval to get unblocked.
  • Alternative gateway — use https://bzz.limo/bzz/<hash>/ to view your site immediately without approval
  • ENS domain — link your site to an ENS name (next step) and it will be accessible via yourname.eth.limo and yourname.bzz.link
05
Link to your ENS domain
In the History tab, find your upload and click the ENS button.
  • Select your .eth domain, click Set Content Hash, confirm in your wallet
  • Your site will be live at yourname.eth.limo and yourname.bzz.link within minutes
  • No ENS domain yet? Click Register Domain in the same dialog to get one directly in Beeport

Deploy via Nook

Best for repeat deploys
Total time: ~10 min first-time setup, ~2 min per deploy
01
Download & install Nook
Nook runs your own Swarm node and opens its dashboard in your browser — no terminal needed.
  • Download the installer for your OS and run it
  • Open Nook and follow the setup
  • Wait for Your node is ready and the green LIVE dot in the sidebar
→ Download Nook
macOS, Windows and Linux
02
Fund your node
The setup shows Add funds to your node wallet. You need xDAI and xBZZ. Three options:
  • Add funds — top up from any chain and token, no bridging required
  • Redeem gift code — paste your code
  • Send directly — send xDAI and xBZZ to your node address on Gnosis
03
Publish your site
Click Publish website under Apps.
  • Drop your build folder — it needs an index.html at the root
  • Pick storage size and how long, check the estimated cost, click Publish
  • Keep Permanent address on if you want to update your website later
04
Link your ENS domain
Nook links it for you, right from the publish screen.
  • Click Link ENS domain and connect the wallet that owns the name
  • Pick your .eth name and confirm the transaction
  • Your site is live at yourname.eth.limo within minutes
05
Update & keep it online
Everything lives in Drive, on your site's row.
  • Update content — drop a new build; the address and ENS stay the same
  • Auto-extend — keeps the storage paid so the site doesn't expire (Nook needs to be running)

Deploy via Bee light node + swarm-cli

CI/CD friendly
Total time: ~10 min first-time setup, ~2 min per deploy
01
Install swarm-cli & set up a Bee light node
Install the CLI tool globally via npm:
$ npm install --global @ethersphere/swarm-cli
Then run quickstart — it downloads the Bee node and creates the config file for you:
$ swarm-cli quickstart
→ Full Quick Start Guide
02
Fund your node
quickstart prints the command to start the Bee node. Once the node is running, it will print that it requires funds and display its wallet address. Copy that address — then fund it using one of these options:
  • Multichain funding — send funds from any chain and token, no bridging required
→ Fund your node
  • Transfer from wallet — if you already have xDAI and xBZZ in MetaMask or another wallet, simply send them to the node address
  • Gift code — redeem directly via swarm-cli:
$ swarm-cli utility redeem <gift code>
03
Buy storage
Pick your postage stamp capacity and time-to-live — the command updates automatically. stamp create accepts human units like 1GB for capacity and 1d / 1w / 1month for TTL. Default is immutable (recommended for websites).
Capacity
TTL
Type
$ swarm-cli stamp create --capacity 680MB --ttl 3months
Fetching live price…
The CLI shows an estimate and asks you to confirm.
⚠ Storage expires when your stamp runs out — if it hits zero, your site will be taken offline.
To increase TTL of an existing stamp:
$ swarm-cli stamp topup
To increase capacity of an existing stamp:
$ swarm-cli stamp dilute
On repeat deploys, check existing stamps first:
$ swarm-cli stamp list
04
Create an identity
An identity is an Ethereum keypair used to sign feed updates — do this once. The default name is main if you don't specify one.
$ swarm-cli identity create --only-keypair
  • To list existing identities:
$ swarm-cli identity list
05
Upload your site to a feed
Upload your build folder — the CLI will interactively prompt for a stamp and identity.
$ swarm-cli feed upload ./dist
  • URL — the content hash, changes with every upload
  • Feed Manifest URL — permanent, always points to the latest version — copy this for the next step
06
Link your ENS domain
Set your Feed Manifest URL as the content hash on your .eth domain.
  • Go to app.ens.domains and open your .eth domain
  • Go to the Records tab and click Edit Records
  • In the Content Hash field, paste your Feed Manifest URL
bzz://<your-feed-manifest-hash>
  • Save and confirm the transaction in your wallet
  • Your site will be live at yourname.eth.limo and yourname.bzz.link within minutes
→ Open ENS App
07
Update & verify
To redeploy, run the same command — pick the same identity from the prompt and the Feed Manifest URL stays the same automatically.
  • To confirm the feed points to the latest version:
$ swarm-cli feed print --identity main