Skip to main content



What are the Swarm Foundation's official channels?

Where can I find technical support and get answers to my other questions?

The Swarm community is centred around our Discord server where you will find many people willing and able to help with your every need!

Where can I find support for running Bee node on DAppNode?

You can find support for running Bee on DAppNode on the DappNode Discord server:

Who can I contact for other inquiries?

For any other inquiries, you can contact us at

What’s the relationship between Swarm and Ethereum?

Swarm started in the first days of Ethereum as part of the original “world computer” vision, consisting of Ethereum (the processor), Whisper (messaging) and Swarm (storage). The project is the result of years of research and work by the Ethereum Foundation, the Swarm Foundation, teams, individuals across the ecosystem and the community.

The conceptual idea for Swarm was started in the Ethereum team at the beginning, and the Ethereum Foundation incubated Swarm. After five years of research, Swarm and Ethereum are now two separate entities.

BZZ Token

What is the BZZ Token?

Swarm's native token, BZZ, serves as a means of accessing the platform's data relay and storage services, while also providing compensation for node operators who provide these services.

What is xBZZ?

xBZZ is the term used to distinguish BZZ on Gnosis Chain (previously xDAI chain) from BZZ on Ethereum. It refers to BZZ what has been bridged from Ethereum to Gnosis Chain. Swarm protocol smart contracts are all deployed on Gnosis Chain, so xBZZ is the form of BZZ used for interacting with the Swarm protocol.

What is PLUR?

1 PLUR is the atomic unit of BZZ, where BZZ then has 16 decimals (ie. 1 PLUR = 1e-16 BZZ)

Where can I buy BZZ Tokens?

There are many ways to acquire BZZ token, either on custodial centralised exchanges where you can trade traditional currencies and cryptocurrency or through decentralised exchanges and protocols where you can trade between cryptocurrencies. For more information please visit the Get BZZ page.

What is the BZZ token address?

The BZZ token address is

What is the BZZ token supply?

The BZZ token does not have a fixed supply, but instead, it can be minted by depositing collateral (DAI token) and burned which releases this collateral. The amount of collateral that needs to be deposited/withdrawn to mint/burn 1 BZZ token is defined by a token bonding curve in a smart contract. Current token supply:

BZZ token tokenomics

Where can I find info about BZZ tokenomics?

See this blog post.

What is the bonding curve?

A bonding curve is a mathematical function in the form of y=f(x) that determines the price of a single token, depending on the number of tokens currently in existence, or the market supply. The key difference is that with a traditional exchange platform market makers are required to provide liquidity to the market, whereas a bonding curve takes over the role of providing liquidity, negating the need for market makers.

What is the “Bzzaar” bonding curve?

Bzzaar is a unique exchange platform that enables users to buy and sell BZZ tokens. Unlike traditional exchange platforms, Bzzaar uses a bonding curve to instantly complete transactions without relying on market makers. The platform allows new projects to easily integrate Bzzaar's contracts into their own interfaces, creating a front-end interface for BZZ exchange. The bonding curve is community-owned and fuels all projects created on Swarm.

Read more about the “Bzzaar” bonding curve:

Bzzaar contract information:

Bzzaar’s smart contract:

Is Bzzaar's bonding curve audited?

A full audit of Swarm was performed by QuantStamp and the final audit report has been made publicly available.

Running a Bee Node

How can I become part of the Swarm network?

You can become part of the network by running a bee node. Bee is a peer-to-peer client that connects you with other peers all over the world to become part of Swarm network, a global distributed p2p storage network that aims to store and distribute all of the world's data Depending on your needs you can run ultra-light, light or full node.

What are the differences between Bee node types?

See the Bee installation quick start page for an overview of the different node types.

Can I run Bee on a Windows machine?

A Windows executable version of the Bee software can be found on the Bee releases page, and it can be run on Windows, however it is not the recommended method for running Bee and no Windows related support is provided.

Swarm Desktop App

How do I get the node wallet's private key (Desktop app)?

You can find your private key in: /Users/username/Library/Application Support/Swarm Desktop/data-dir/swarm.key

How do I import the swarm private key to metamask?

You can import the swarm.key json file in MetaMask using the password you have set in your bee config file.

Where can I find the password?

You can find the password in the config.yaml file in: /Users/username/Library/Application Support/Swarm Desktop/config.yaml


Which p2p port does Bee use and which should I open in my router?

The default p2p port for Bee is 1634, please forward this using your router and allow traffic over your firewall as necessary. Bee also supports UPnP but it is recommended you do not use this protocol as it lacks security. For more detailed information see the connectivity section in the docs.

How do I know if I am connected to other peers?

You may communicate with your Bee using its HTTP api. Type curl http://localhost:1635/peers at your command line to see a list of your peers.

What does "Failed to connect to local host port 1635: Connection refused" mean?

Your node is not listening on port 1635, either the debug-api is not enabled, or it is not listening on localhost. Make sure your bee.yaml file has debug-api-enable: true


What does "could not connect to peer" mean?

“Could connect to peer can happen for various reasons.” One of the most common is that you have the identifier of a peer in your address book from a previous session. When trying to connect to this node again, the peer may no longer be online.

What does "context deadline exceeded" error mean?

The "context deadline exceeded" is a non critical warning. It means that a node took unexpectedly long to respond to a request from your node. Your node will automatically try again via another node.

How do I set up a blockchain endpoint?

We recommend you run your own xDAI Node using Nethermind.

  • If you use "bee start"

    • you can set it in your bee configuration under --blockchain-rpc-endpoint or BEE_BLOCKCHAIN_RPC_ENDPOINT
    • open ~/.bee.yaml
    • set blockchain-rpc-endpoint: http://localhost:8545
  • If you use bee.service

    • you can set it in your bee configuration under --blockchain-rpc-endpoint or BEE_BLOCKCHAIN_RPC_ENDPOINT
    • open /etc/bee/bee.yaml
    • and then uncomment blockchain-rpc-endpoint configuration
    • and set it to http://localhost:8545
    • after that sudo systemctl restart bee

How to export private keys from the node with Bee Clef installed

If you are running Bee together with the Bee Clef, you can type in the command line bee-clef-keys and that will store the .JSON file into your home folder and copy the password in your clipboard.

I have Bee Clef installed but I can't export private keys.

It happens quite a lot that Bee Clef is installed, but getting the address from bee-clef-keys does not yield the same output as :1635/addresses

In this case, the user most likely does not have Bee Clef enabled in the configuration of the bee node.

This doesn't work for you? You get erorr -> xclip: not found” or “Error: Can’t open display: (null)

Try running the command below: sudo cat /var/lib/bee-clef/password

You can then use that to import to MetaMask or any other web3 wallet provider.

How to export private keys from the node (without bee-clef)?

You can find the instructions here in README section:

You can also follow to the mini-guide on the link below:

How to import bee node address to MetaMask?

  1. export your bee node private keys
  2. go to Metamask and click import account
  3. choose select type: JSON file
  4. upload exported .JSON file (which contains your keys)
  5. paste the password
  6. click Import

What are the restart commands of bee?

If you use bee.service:

  • Start: sudo systemctl start bee.service
  • Stop: sudo systemctl stop bee.service
  • Status: sudo systemctl status bee.service

If you use "bee start"

  • Start: bee start
  • Stop: ctrl + c or cmd + c or close terminal to stop process

Relevant endpoints and explanations

See api reference for more complete documentation.

Most common use cases:

  • curl http://localhost:1635/peers - Shows you the currently connected peers
  • curl http://localhost:1635/balances - Shows balances (positive=incoming, negative=outgoing) accumulating with peers, some of which may or may not be currently connected
  • curl http://localhost:1635/settlements - When the balance with a given peer exceeds a threshold, a settlement will be issued, if the settlement is received, then your node should have a check from that peer.
  • curl http://localhost:1635/chequebook/address your chequebook contract to see the xBZZ.

How can I check how many cashed out cheques do I have?

You can look at your chequebook contract at etherscan. Get your chequebook contract address with: curl http://localhost:1635/chequebook/address

I have compared transactions between my ethereum address and my chequebook address, the numbers are different, which is quite weird.

Your chequebook will show OUT xBZZ transactions when your peers cash cheques issued by you, but you don't pay any gas for those so they won't show up in your Ethereum address transaction list.

Where can I find documents about the cashout commands?

When I run http://localhost:1635/chequebook/balance I get "totalBalance" and "availableBalance" what is the difference?

totalBalance is the balance on the blockchain, availableBalance is that balance minus the outstanding (non-cashed) cheques that you have issued to your peers. These latter cheques do not show up on the blockchain. It's like what the bank thinks your balance is vs what your chequebook knows is actually available because of the cheques you've written that are still "in the mail" and not yet cashed.

What determines the number of peers and how to influence their number? Why are there sometimes 300+ peers and sometimes 30?

The number of connected peers is determined by your node as it attempts to keep the distributed Kademlia well connected. As nodes come and go in the network your peer count will go up and down. If you watch bee's output logs for "successfully connected", there should be a mix of (inbound) and (outbound) at the end of those messages. If you only get (outbound) then you may need to get your p2p port opened through your firewall and/or forwarded by your router. Check out the connectivity section in the docs

What is the difference between "systemctl" and "bee start"?

bee start and systemctl start bee actually run 2 different instances with 2 different bee.yaml files and two different data directories.

bee start uses ~/.bee.yaml and the ~/.bee directory for data systemctl uses /etc/bee/bee.yaml and (IIRC) /var/lib/bee for data

Swarm Protocol

Can I use one Ethereum Address/Wallet for many nodes?

No, this violates the requirements of the Swarm Protocol. The Swarm Protocol relies upon the Swarm Address, also known as the peer address. This address is a hash of the node's Ethereum address, therefore it is deterministic. As all nodes must have a unique address, if you were to use the same wallet, it would violate the uniqueness constraint and result in malfunctioning nodes.

Therefore, the rule is, each node must have:

  • 1 Ethereum Address
  • 1 Chequebook
  • 3 unique ports for API / p2p / Debug API.