Walrus Sites is a decentralized hosting platform on the Sui blockchain that lets you host websites without traditional servers.
- Censorship Resistance: Your site can't be taken down by any central authority
- High Availability: Content remains accessible even if up to 2/3 of storage nodes fail
- True Ownership: You own your site through blockchain-verified ownership
- Cost-Effective Storage: Advanced erasure coding makes storage more efficient than traditional solutions
- Immutable Records: Content integrity is verified and secured by the blockchain
- No Single Point of Failure: Distributed across a network of nodes
- Seamless Integration: Works with the Sui blockchain ecosystem
https://docs.sui.io/guides/developer/getting-started/sui-install
https://docs.wal.app/usage/setup.html
Walrus Sites can host any static website, not just Next.js projects. Prepare your static files:
# For plain HTML/CSS/JS sites
# Just use your files directly - no build step needed!
# For Next.js projects
# First, update next.config.js to include:
# module.exports = { output: 'export', images: { unoptimized: true } }
npm run build
# Output will be in the './out' directoryThe key requirement is having a directory of static files (HTML, CSS, JS, images) that can be served directly.
# Download the right version for your system
curl https://storage.googleapis.com/mysten-walrus-binaries/site-builder-mainnet-latest-macos-arm64 -o site-builder
chmod +x site-buildermkdir -p ~/.config/walrus
curl https://raw.githubusercontent.com/MystenLabs/walrus-sites/refs/heads/mainnet/sites-config.yaml -o ~/.config/walrus/sites-config.yamlYou need some wal and sui
Check with: sui client gas
./site-builder publish ./out --epochs 50Wait for deployment to complete. You'll get a site object ID like:
0xd155e7f74e033a93a26bc31cb7892945a1406a1f0d672c17ea0ee69d28718a89
- Go to suins.io/account/my-names
- Find your domain
- Click the three dots → "Link To Walrus Site"
- Paste your site object ID
- Approve the transaction
Your site is would be live at:
https://yourdomainname.wal.app
I.e your domain name with a "wal.app" at the back