Skip to main content
Distributions are the public integration and routing layer for a sequence of agents. A distribution receives an inbound request from some external source, applies its configured sequence, and returns the resulting response back through that same path.

Distribution as public entrypoint

The public role of a distribution is to start the sequence. That public entrypoint may represent different kinds of integrations:
  • an agent-to-agent API route
  • a social or messaging network such as Twitter
  • another external transport that feeds requests into Aion
From the outside, the distribution is the thing clients talk to first. Internally, it behaves like the start of a request/response chain that may include middleware stages and a terminal agent.

Distribution as middleware

In sequence terms, a distribution often behaves like middleware. It receives the request, applies integration-specific logic, and forwards the request deeper into the configured sequence. On the way back, it can also observe or transform the response before that response returns to the caller. This is different from the node’s daemon role:
  • the distribution role is sequence-aware and bi-directional
  • the daemon role is a direct singular-agent invocation surface

Public cards

When a distribution exposes a public agent-to-agent route, it may publish a public distribution card. That public distribution card describes the distribution’s external A2A surface, not the node’s direct component-agent surface. It should only be published when the route itself is actually eligible to serve A2A traffic. This distinction is important for integrations such as Twitter:
  • the Twitter distribution may be a valid public integration
  • that same public integration should not publish a public A2A card
  • the node may still expose a component agent card for direct internal agent access

Distribution versus daemon on the same node

A single node can participate in both roles at the same time. For example, a Twitter-backed distribution node may:
  • receive public Twitter events through its distribution role
  • expose a daemon agent so downstream agents can request more context directly
Those two surfaces are related, but they are not the same interface and should not share the same card semantics.

Why this matters

Keeping the distribution role separate from the daemon role allows Aion to:
  • model public ingress accurately
  • publish only valid public cards
  • keep direct internal agent capabilities available when they are useful
See Nodes, Identities, and Daemons for the rest of the model.