Anoma is a suite of protocols and mechanisms for self-contained self-sovereign coordination.

  • Coordination means that Anoma concerns itself with actions requiring agreement and/or exchange between parties.
  • Self-sovereign means that the Anoma protocol aims to foster alignment between users, operators, and developers.
  • Self-contained means that the Anoma protocol should be alone sufficient for the technological part of this coordination.

These documents describe the motivation, design rationale, architecture, and protocol details of Anoma. They are intended to be both minimal, in that no more is said than necessary, and complete, in that enough is said to define precisely what Anoma is. Anoma is a protocol, it is not an implementation. Documentation for the implementation of the Anoma protocol by Heliax can be found here.

Anoma is free, in both the senses of "free speech" and "free beer". The source for these documents is on Github, permissively licensed, and they can be forked or edited as you like. At present, this particular repository is stewarded by the Anoma Foundation. Contributions are welcome.

This specification is designed be readable in both breadth-first and depth-first manners. If you want to understand the broad motivation and architecture of Anoma, read the motivation and architecture overviews. If you want to dive into the protocol details of a particular aspect of Anoma, such as the state architecture, or release line, such as V1, you can start directly with the document in question; overview documents are self-contained and/or crosslinked where necessary, and contain pointers to subprotocols and details thereof. A sitewide search function is available at the upper left.

NOTE: These documents are not yet complete. If you're reading this page right now, there's a high chance you might be interested in the V1 release line, slated for use in the Namada instance.

Happy reading!