Ground-up Rust rewrite of a decentralized internet platform, internally known as 'Locutus' (2019–2023) before being rebranded as 'Freenet' in March 2023 when the original Freenet project renamed itself Hyphanet. Designed as a 'decentralized computer' rather than a decentralized data store: a global key-value store where keys are WebAssembly contracts (code + parameters) that define how their own state is validated, merged, and updated. Contracts are analogous to smart contracts; their state propagates peer-to-peer using small-world routing. Real-time subscriptions allow instant notification when contract state changes — enabling chat, social media, and collaborative apps. No built-in anonymity (by design: anonymizing layers can be added). First reference app: River (decentralized group chat), which achieved live multi-machine real-time messaging in December 2025.
Dev Status DetailAlpha / Pre-release — network operational with early users; River chat functional across peers as of December 2025; not yet ready for general public use
OwnerThe Freenet Project, Inc. — 501c3 non-profit (USA); President: Ian Clarke (original Freenet architect); Chief Strategy Officer: Steven Starr; core developers: Ignacio Duart, Hector Alberto Santos Rodriguez
Governing Body The Freenet Project, Inc. (501(c)(3) non-profit)
OriginsIan Clarke's realization that centralization (not just surveillance) was the primary threat to the open web; original Freenet's static storage model was insufficient for dynamic decentralized apps. Locutus (Star Trek reference: the Borg Collective's network) was the internal codename during development. Renamed Freenet in 2023.
DatabaseGlobal key-value store — keys are WebAssembly contracts; values are contract state; peers cache contracts near their network location using small-world routing
Query LanguageN/A — contracts retrieved by cryptographic key derived from WebAssembly code + parameters
Data FormatsWebAssembly (contracts); JSON / bincode (contract state serialization); standard web formats (HTML/CSS/JS for browser-based apps)
Collaborative Live EditingYes — contracts define their own merge operators using commutative monoids; enables real-time collaborative state across peers; River chat demonstrates sub-second latency
Rich Text EditingPartial — browser-based apps can include rich text editors; no built-in rich text layer
Mobile SupportYes — River runs in browser on mobile; Rust node can run on Android
Web SupportYes — apps run in browser as normal websites; Freenet node serves as local gateway
Native AppsYes — native Rust node (Windows, macOS, Linux); installed as system service
TermsMIT / Apache 2.0
FundsN/A (non-profit; no disclosed investment amounts)
Based OnOriginal (novel architecture); conceptually related to original Freenet routing philosophy and Web of Trust; small-world network topology shared with Hyphanet; WebAssembly contract model distinct from any prior P2P system
P2P ArchitectureSmall-world network — peers assigned location 0–1 on join; contracts cached near their location; requests routed greedily toward location closest to contract key
SignatureYes — contract keys are cryptographic hashes; contract state signed by owner key for update authorization
PermissionsContract-based (WebAssembly contract code + parameters = key; state update requires owner signature; invite-tree permissioning demonstrated in River)
Semantic Web CompatibilityNo
Smart ContractYes — WebAssembly contracts are the network's fundamental unit; equivalent to smart contracts; state validated and merged by contract logic rather than external consensus
Protocol Stack PositionApplication-layer (built on TCP/IP); Freenet Core runs as a local daemon providing HTTP/WebSocket interface to browsers; small-world DHT routing layer sits above TCP/IP; WebAssembly contracts execute within the Freenet runtime.
Asset / Value EmbeddingNone — Freenet has no native token or economic incentive layer. The project is a 501(c)(3) non-profit funded by donations; node operators participate voluntarily; no tokenomics govern resource contribution.
Development Toolsfreenet-scaffold crate (project scaffolding CLI for contract/delegate/UI workspace generation); cargo + wasm-pack (Rust-to-WebAssembly compilation); Dioxus (Rust UI framework compiling to WASM, used by River reference app); React/Vue (JavaScript UI frameworks via WebSocket API); freenet-stdlib (Rust contract standard library implementing ContractInterface trait); freenet-core binary (local node/daemon); River (reference chat app demonstrating full contract/delegate/UI pattern).
Deployment OptionsSelf-hosted node (freenet-core system service, installed via quickstart script on Linux/macOS/Windows/Android); browser-based UI access via local HTTP proxy (port configurable); UDP hole punching for NAT traversal (10-20% of users behind symmetric NATs may have connectivity issues); no cloud hosting or centralized server option — fully P2P.
Authentication & IdentityDelegate-based cryptographic identity — private keys are held exclusively by Delegate components running inside the Freenet Kernel on the user's device; UIs and contracts never receive raw keys; Delegates sign messages and return only signatures; Ed25519 keys used in reference apps (River wiki); sender attestation allows Delegates to verify which contract a UI was downloaded from; no global identity registry or DID standard mandated at protocol level.
Storage ModelGlobal distributed key-value store — keys are cryptographic hashes of WebAssembly contract code (+ parameters); values are arbitrary contract state (opaque bytes); peers subscribe to contracts and cache state near their small-world routing location; state synchronization via summary/delta exchange (commutative monoid requirement: merge(A,B) = merge(B,A)); Delegates store private data locally on the user's device within the Freenet Kernel; no global replication of all data — only subscribing peers cache a given contract.
InteroperabilityOpen protocol — any language compiling to WebAssembly can implement contracts (Rust best supported; TypeScript, AssemblyScript also viable); UIs are standard web apps (HTML/CSS/JS/WASM) served via local HTTP proxy; WebSocket API for UI↔contract and UI↔delegate communication; no mandatory federation protocol (not ActivityPub); interoperability between Freenet apps is via shared contracts addressable by cryptographic hash; bridge to wider web is a design goal but not yet implemented.
Social GraphNo built-in social graph at protocol level — social relationships are implemented per-application via contract state; River (reference chat app) implements room-based social contexts; applications may define arbitrary relationship models via contract logic; no protocol-level identity graph or follow/friend primitive.
Protocol Maturity / StandardizationAlpha / Novel Architecture — River milestone achieved December 2025; early user network operational; no external standards body submission; 501c3 non-profit governance
Update PolicyContract-defined / append-style — contract state is updated via cryptographically valid delta operations as defined by each contract's WebAssembly merge function; state must form a commutative monoid (updates are order-independent); contracts themselves (the WASM code) are content-addressed and immutable once deployed — upgrading requires deploying a new contract at a new address; Delegates store private state locally and may be updated by the user.
Relationships
How this tool connects to other tools and organizations, from relationships reviewed by the OpenHaven data steward. They describe how projects connect, not how good they are.