Running a Bee Node on a Linux Machine

A Step-by-step Guide on Installing and Running a Bee Node on Linux

In Time Foundation
3 min readApr 3, 2021

Bee is a Swarm client implemented in Go. It’s the basic building block for the Swarm network. To understand the motivation behind Swarm, visit

Ubuntu 20.04 Focal Fossa

The following guide demonstrates the instructions on running a Bee node on Ubuntu. Please refer to the original Swarm Bee documentation for more information and instructions on running a Bee node on a different OS.

Hardware requirements:

  • At least 1 GB RAM
  • 30 GB storage (recommended)
  • Stable internet connection

Software (at the time of writing):

  • Bee v0.5.3
  • Bee-clef v0.4.9

Step 1. Download and install Bee-clef

Bee-clef is an external service that signs transactions for Bee’s automated processes. Check for new releases here. Install the latest stable version; your version number may vary.

Download Bee-clef


Install with dpkg

sudo dpkg -i bee-clef_0.4.9_amd64.deb

Check Bee-clef status

systemctl status bee-clef

To follow Bee-clef logs

journalctl -f -u bee-clef.service

Step 2. Download and install Bee

Check for new releases here. Install the latest stable version; your version number may vary.

Download Bee


Install with dpkg

sudo dpkg -i bee_0.5.3_amd64.deb

Check Bee status

systemctl status bee

To follow Bee logs

journalctl -f -u bee.service

Permission error (optional)

If you encounter permission error (read from Bee logs) when running your Bee node, try the following:

  • sudo chown -R bee:bee /var/lib/bee
  • sudo systemctl start bee

Step 3. Fund your Bee node

A SWAP enabled Bee node requires both gETH and gBZZ to begin operation. The current version of Swarm incentives is running on the Ethereum Goerli testnet. To acquire free gBZZ tokens from the Bzzaar, follow the steps below.

Create / Unlock your wallet

Use a MetaMask or Portis wallet.

Get some gETH

Request for some gETH from a goerli testnet faucet.

Find your Bee node’s Ethereum address

sudo bee-get-addr

Visit the Bzzaar

Navigate to the link shown in your logs: Your Bee node’s Ethereum address should match the receiver’s address.

Connect your wallet

Once connected, you should be able to see your gETH balance.

Buy some gBZZ

Enter at least 10 in the gBZZ field. Exchange gETH for gBZZ. When the transaction is complete, your Bee node should be funded with gBZZ.

Fund your node with gETH

Transfer the rest of the gETH from your wallet to your Bee node.

Check Bee status

Your Bee node should now begin deploying your chequebook contract.

Restart your Bee node (optional)

If your node has stopped polling for updates, you may need to restart it. Run sudo sytemctl start bee

Step 4. Important endpoints

The API-endpoint exposes all functionality to upload and download content to and from the Swarm network. By default, it runs on port :1633. Detailed information about Bee API endpoint can be found here. The Debug API runs on port :1635 by default.

Check connectivity (peers)

curl -s http://localhost:1635/peers | jq ‘.peers | length’

Check balances

Cash out checks manually

curl -XPOST http://localhost:1635/chequebook/cashout/{peer_id}

Cashout script

Withdraw gBZZ from the chequebook contract back into your node’s wallet

curl -XPOST http://localhost:1635/chequebook/withdraw\?amount\=1000 | jq

Deposit extra gBZZ into the chequebook contract

curl -XPOST http://localhost:1635/chequebook/deposit\?amount\=1000 | jq

Step 5. Join the hive

At the time of writing, the Swarm network consists of over 37,000 nodes. Your node will now contribute to this global effort in decentralizing the internet. Give us a shout out on Twitter @intime_ito when you get your Bee node running.

Find your Bee node:

This concludes the guide on installing and running a Bee node on a Linux machine.

Visit for more information.

Join our community: