Anoma protocol

The Anoma protocol is the logical framework which agents use to read, create, and process messages.


An agent is a non-deterministic, stateful entity which can send and receive messages.

The term "agent" is similar to "process" used in distributed systems. However, "agent" is used to highlight the possibility of non-deterministic behaviour, such as random events or choices made by external users. The term also emphasizes the idea of decision-making that can affect the state of the system. This is important for ensuring that the state of the system accurately reflects the state of the world. To achieve this, individual agents must provide data inputs that correspond in local ways, as the system protocol itself does not have direct knowledge of the state of the world.

Read more about agents in the conceptual context.

Canonical serialization

A canonical serialization refers to a standardized way of representing data or functions as a series of bytes that can be transmitted across a network.

Canonical serialization are fully discussed in Prerequisites Primitives


"Turing-equivalent" means that the functions and data being transmitted can be computed by a Turing machine, a well-known theoretical model of computation.


A message is any datum sent between agents.


A state may refer to the state of an agent, the state of the world, or the state of the system.

  • The state of an agent is the set of all data stored by the agent.

  • The state of the system is a function of the decisions taken by agents over (partially ordered) time.

  • The state of the world is the set of data related to the "real world" that is observed by and of interest to the agents.


A system is a virtual environment which consists of a set of agents interacting with each other.

Read more about the world in the conceptual context.