How to Host a Decentralized Website with is a gateway for serving decentralized websites from .pool domains. In this guide, you will learn how to create and host a personal website from your .pool name.


  1. Upload your site to the IPFS network.

  2. Set the “content” field on your .pool domain to the IPFS URI of your site.

  3. Go to <your-name> to view your site!


What are .pool Domains?

.pool domains are tokenized names that can be linked to your ethereum address and store general-purpose data. When you buy a .pool domain, you own it for life and can transfer, sell, or use it as you please.

The domains were created as a convenient way to identify yourself in the PoolTogether Community, but given the decentralized and permissionless nature of the naming contract, there are no restrictions on who can purchase or control a domain.

What is a Decentralized Website?

A decentralized website uses peer-to-peer protocols and immutable data links to distribute content in contrast to the centralized data hosting strategy of traditional websites.

By design, a decentralized website is able to be accessed from multiple locations on the internet while maintaining data integrity. This means that if a viewer’s access to one link is blocked or fails to load, there will always be another way for them to access the website.

Decentralized websites are wonderful at distributing content and information around the globe, but until .pool domains are accessible directly in browser search bars, an intermediary is needed to bring the decentralized web to those who wish to see it. This is the problem gateways solve.

What is a Gateway?

A gateway is a convenient intermediary to access the decentralized web.

A gateway is a portal that brings the decentralized web to the viewer. is just one gateway that can be used to access the content linked to a .pool domain. There are no limits to how many gateways can exist to serve content, and no permissions that are needed to set one up.

Since decentralized websites are accessible from many gateways, the choice of which one to use is given to the viewer. Choosing a gateway is like buying bananas from a market: it doesn’t matter which market you go to, they’re probably going to have bananas. (and if you’re banned from the closest one, you can always go to the next😳)

So until we all have miniature banana trees in our homes, or produce synthesizers next to our toasters, banana markets will be there for us.

Getting Started


Before we begin, you’ll need the following:

  • An ethereum wallet

  • A .pool domain owned by your wallet (buy one here)

  • A small amount of $ETH in your wallet on the Optimism Network (0.001 should be more than enough)

Part 1: Design your Website

Not a coder? No problem! This guide requires no code experience at all 👍
If you already have a static website or know how to make one, skip to Part 2 ▶▶

There are countless ways to create a website, most of which require some coding experience, but in this guide we’ll be using StackEdit, an open source markdown editor that can be used to create and export a simple static site in minutes.

Open StackEdit

If this is your first time using the app, a welcome file will be displayed. This file has tons of great tips on how to use markdown!

Notice how the markdown is on the left view and the styled document is on the right.

Import the sample site

Download the sample site, then open the menu by clicking the icon in the top right of the page:

Click on “Import/Export”:

Click on “Import Markdown”:

Change the file name by:

  1. clicking on the top left folder to open the explorer,

  2. selecting “My First”,

  3. and then clicking the rename button at the top.

Edit the page content

You can edit the page content by using the editor view on the left. You can change the destination of any of the links or images by updating the URL in the parenthesis:

If you change the name of any of the section headers, make sure you update the links at the top to match. For example, if you change the name of the portfolio section to “My Portfolio”, the portfolio link should be updated to: [My Portfolio](#my-portfolio)

The link (the part between the parenthesis) should always have the following properties:

     - Starts with the ‘#’ symbol
- All lowercase
- Spaces replaced with hyphens
- All other punctuation removed

Export your site

Export your site as a single HTML file by opening the menu and clicking on “Import/Export” → “Export as HTML“.

Make sure you select “Styled HTML” before pressing “OK”:

Part 2: Upload Site to IPFS

IPFS (Interplanetary File System) is a peer-to-peer network for sharing files. Before you can upload your site to IPFS, you first need to run a local IPFS node. Running a node allows your computer to communicate on the IPFS network to share and retrieve files.

Run a local IPFS node

If you are using the Brave browser, you may already have a local node running. You can open this node from the menu on the top right:

Click on "IPFS" -> "Open files"
Click on "IPFS" -> "Open files"

If you are not using Brave, you can reference the following guide on how to install a local node:

Once your node is up and running, you should see a dashboard similar to the following:

Upload your site

Open the files page on your dashboard and click on “Import” → “File”.

Select the “My First Website.html” file that you exported earlier to upload it to the network. You should now see the file on your node:

Pin your site

To make sure that your node doesn’t accidentally delete your file during an automated clean-up process, make sure to pin it by opening the file pinning options and selecting “Set Pinning” → “Local Node” → “Apply”.

Congratulations, your site is now live on the IPFS network!

Part 3: Update Domain Records

Now that your site is on IPFS, the last step is to point your .pool domain to your website content. Go to and click on “Edit domain data” next to the domain that you would like to use:

Click on “Edit data”. You should now see a list of key → value pairs. Many of these fields are used for linking your social media profiles and other personal information. They are not required, but feel free to fill them out as well at this time.

If you do not see a field with the “content” key, then add one before continuing:

An empty content field
An empty content field

Next, go back to your IPFS files and copy the CID of your website HTML file:

Return to your domain content field and type ipfs:// . Then paste your CID directly after this text. Your field should now look similar to the following:

Finally, click “Submit” and approve the transaction with your wallet.

🎉You can now go to <your-name> to view your site! 🎉

When the site is loading for the first time, it can sometimes take up to 5 minutes. This is because there are very few nodes on the network that are serving your site data. As more people access your site, this loading time will improve.

Subscribe to trmid
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
This entry has been permanently stored onchain and signed by its creator.