v0.1.0 - Early Access

The web,
unchained.

Lattice is a peer-to-peer protocol for publishing and browsing websites without servers, registrars, or anyone else's permission. Your name. Your site. Your network.

lattice
$lattice publish --dir ./my-site --name mysite
Publishing mysite.loom...
Auto-claimed mysite.loom
Published mysite.loom v1 (12 files)
$lattice name info mysite
Name: mysite.loom
Owner key: 3f31afeb97ae362178d1...
$open mysite.loom
Live. No servers. No registrar. No permission needed.

No registrars.
No gatekeepers.

Lattice uses a Kademlia DHT to store name records and site content across a network of peers. Ed25519 signatures ensure only you can publish to your name. Every node verifies everything.

01 - Claim

Register your name

Names are claimed on the DHT with your Ed25519 public key. First-come, first-served. No registrar. No fees. Heartbeats keep names alive.

02 - Publish

Push your site

Files are content-addressed and distributed as hashed blocks. The manifest is signed, so peers reject tampered or forged content.

03 - Browse

Visit any .loom site

The browser extension routes .loom requests to your local daemon. Your node fetches, verifies, and serves content from the network.

04 - Persist

The network remembers

As peers fetch content they replicate it. The more nodes online, the stronger and more resilient every published site becomes.

Everything you need to
build, publish, and operate.

The landing page tells the story. The docs cover the protocol model, identity rules, Fray, CLI usage, and local development workflow.

Built for the
open web.

🔑

Cryptographic ownership

Names and sites are tied to Ed25519 keypairs. No authority can revoke your name or take down your site. Ownership is proven by signature, not by a registrar's database.

🌐

Real browser support

Browse .loom sites natively in Firefox via the Lattice extension. No special browser. No Tor. Install the extension and it just works.

🔒

Content integrity

Every file is hashed. Every manifest is signed. Your node verifies everything before serving it, so corrupted or forged content is rejected at the protocol level.

📡

NAT traversal

AutoNAT detects your network topology. Circuit relay and hole punching connect nodes behind home routers automatically without port forwarding.

Zero configuration

Install the daemon, install the extension, done. Bootstrap peers connect you to the network on first run. Publishing a site is a single command.

🛠️

Open protocol

GPL v3. The same network that hosts static sites can also host apps, forums, and other signed overlays built on the same core protocol.

Up in
five minutes.

1 - Build

Compile the daemon and CLI

Build just the pieces a normal node needs. You do not need the whole workspace for a first run.

git clone https://github.com/fordz0/lattice
cd lattice
cargo build --release -p lattice-daemon -p lattice
2 - Run

Bring the node online

lattice up starts or enables the daemon, waits for RPC readiness, and leaves you with one obvious way to get back online later.

./target/release/lattice up
./target/release/lattice status
3 - Browse

Load the Firefox extension

The extension keeps .loom in the address bar and routes requests through your local node instead of a gateway.

Install from AMO:
https://addons.mozilla.org/en-US/firefox/addon/lattice/
4 - Publish

Ship your first site

Publishing will claim the name if it is still free. Later, app updates are one command away.

./target/release/lattice publish --dir ./my-site --name mysite
./target/release/lattice update --all

Live on the
Lattice network.

The network is still young. Each peer that joins makes the system stronger, improves replication, and increases the odds that published content remains reachable.

DHT
Name records
SHA
Content addressed
P2P
No origin server