3 releases

0.0.3 Dec 23, 2022
0.0.2 Sep 16, 2022
0.0.1 Sep 4, 2022

#2 in #distributed-hash-table

Download history 22/week @ 2023-06-02 11/week @ 2023-06-09 39/week @ 2023-06-16 23/week @ 2023-06-23 31/week @ 2023-06-30 23/week @ 2023-07-07 15/week @ 2023-07-14 29/week @ 2023-07-21 15/week @ 2023-07-28 18/week @ 2023-08-04 19/week @ 2023-08-11 17/week @ 2023-08-18 13/week @ 2023-08-25 13/week @ 2023-09-01 23/week @ 2023-09-08 20/week @ 2023-09-15

73 downloads per month
Used in 4 crates (2 directly)




The Internet has grown increasingly centralized over the past 25 years, such that a handful of companies now effectively control the Internet infrastructure. The public square is privately owned, threatening freedom of speech and democracy.

Locutus is a software platform that makes it easy to create decentralized alternatives to today's centralized tech companies. These decentralized apps will be easy to use, scalable, and secured through cryptography.

To learn more about Locutus as a developer read The Locutus Book. For an introduction to Locutus watch Ian's talk and Q&A - YouTube / Vimeo.


Locutus is currently under development. Using our development guide, developers can experiment with building decentralized applications using our SDK and testing them locally.


Examples of what can be built on Locutus include:

  • Decentralized email (with a gateway to legacy email via the @freenet.org domain)
  • Decentralized microblogging (think Twitter or Facebook)
  • Instant Messaging (Whatsapp, Signal)
  • Online Store (Amazon)
  • Discussion (Reddit, HN)
  • Video discovery (Youtube, TikTok)
  • Search (Google, Bing)

All will be completely decentralized, scalable, and cryptographically secure. We want Locutus to be useful out-of-the-box, so we plan to provide reference implementations for some or all of these.

How does it work?

Locutus is a decentralized key-value database. It uses the same small world routing algorithm as the original Freenet design, but each key is a cryptographic contract implemented in Web Assembly, and the value associated with each contract is called its state. The role of the cryptographic contract is to specify what state is allowed for this contract, and how the state is modified.

A very simple contract might require that the state is a list of messages, each signed with a specific cryptographic keypair. The state can be updated to add new messages if appropriately signed. Something like this could serve as the basis for a blog or Twitter feed.

Locutus is implemented in Rust and will be available across all major operating systems, desktop and mobile.

Stay up to date

Twitter Follow

Chat with us

We're in #locutus on Discord, and also #freenet-locutus on Matrix. These rooms are bridged so it doesn't matter which you join. If you have questions you can also ask here.

Many developers are active in r/freenet, but remember that Reddit engages in political and ideological censorship so don't make this your only point of contact with us.

Acknowledgements and Funding

Protocol Labs

In addition to creating the excellent libp2p which we use for low-level transport, Protocol Labs has generously supported our work with a grant.


FUTO has generously awarded Freenet a Legendary Grant to support Locutus development.

Supporting Locutus

If you are in a position to fund our continued efforts please contact us on twitter or by email at ian at freenet dot org.


This project is licensed under either of:


~524K SLoC