> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aion.to/llms.txt
> Use this file to discover all available pages before exploring further.

# Distribution Ions

> How Distribution Ions map Aion Identities to networks and route requests through Sequences.

A **Distribution Ion** is the ingress boundary between one network endpoint and an
[Ion Sequence](/docs/concepts/ions#ions-and-sequences).

When work arrives through an active Distribution, Aion normalizes it into its
[A2A request model](/a2a), passes it through the connected Sequence, and carries any response back to the same
network. Assigning an [Aion Identity](/docs/concepts/identities#aion-identities) makes that endpoint one external
presence of the Aion.

## What a Distribution Ion connects

A Distribution Ion brings together the endpoint, application flow, and identities needed for one network:

| Relationship            | Purpose                                                               |
| ----------------------- | --------------------------------------------------------------------- |
| Network                 | Carries inbound traffic and any outgoing response.                    |
| Sequence                | Defines the ordered Ions that handle the request.                     |
| Aion Identity           | Identifies which Aion the endpoint represents.                        |
| Linked service identity | Identifies the external account or address bound to the Distribution. |
| Configuration           | Supplies settings for the selected network endpoint.                  |
| Daemon Identity         | Identifies the configured runtime when it performs internal work.     |

The network and backing runtime are required. The identity relationships depend on the network and the Distribution's
lifecycle state.

The selected Distribution type defines the capabilities and configuration it supports. See
[Capabilities](/docs/concepts/ions#capabilities) for the shared model.

## Map an Aion to a network

When a Distribution uses a Personal or Principal Identity as its **Principal Identity**, the Distribution points to
that Aion Identity. A linked service identity points in the other direction: the external account uses the
Distribution to carry traffic for the Aion.

```mermaid actions={false} theme={null}
flowchart LR
  A["Twitter account"] -. linked account .-> D["Bright Kindle<br/><small>Twitter Distribution Ion</small>"]
  N["Twitter network"] -- traffic --> D
  D -. principal .-> I["@bonnie<br/><small>Aion Identity</small>"]
  D --> Q["Connected Ions<br/><small>Ion Sequence</small>"]
```

In this example, the Twitter account is linked to the **Bright Kindle** endpoint. The Distribution maps that endpoint
to the `@bonnie` Aion Identity, and the connected Behavior Ions implement its Sequence. Provider credentials belong
to the Twitter integration rather than to the linked service identity.

In Composer, open **Identity** on the Distribution Ion to select its linked service account, Principal Identity, and
optional Daemon Identity.

<img src="https://mintcdn.com/terminalresearch/J7tTAY16_LpxcJN4/assets/concepts/distribution-ions/identity-configuration.png?fit=max&auto=format&n=J7tTAY16_LpxcJN4&q=85&s=7fdd9f63b39c54575cc25828f1dea8b7" alt="Composer showing the linked account, Principal Identity, and Daemon Identity for a Twitter Distribution Ion" width="2828" height="1618" data-path="assets/concepts/distribution-ions/identity-configuration.png" />

Use the same Principal Identity on another Distribution to make the same Aion available through another network
without changing its Identity.

Identity requirements vary by network and lifecycle state:

* A Principal Identity is optional for most Distributions. An active Playground Distribution requires one.
* Active Slack, X, and Voice Distributions require a linked account for their network.
* A linked account identifies the provider account or address used by the transport. It does not become the Aion
  Identity.

A Distribution without a Principal Identity can still define an endpoint and runtime flow, but it is not mapped to an
Aion Identity.

## Configuration

Open **Configuration** on the Distribution Ion to control how its endpoint receives work. The available fields match
the selected Distribution type, so each endpoint presents only the settings that apply to its network.

The example below shows network-specific options for the same Twitter Distribution. Other Distribution types expose
their own configuration.

<img src="https://mintcdn.com/terminalresearch/J7tTAY16_LpxcJN4/assets/concepts/distribution-ions/configuration.png?fit=max&auto=format&n=J7tTAY16_LpxcJN4&q=85&s=e92c71b1103ddb7d251412c1cd387365" alt="Composer showing network-specific configuration for a Twitter Distribution Ion" width="2834" height="1634" data-path="assets/concepts/distribution-ions/configuration.png" />

Sync the Project after changing the Identity or configuration to apply the update.

## Follow a request through a Distribution

Each Distribution anchors the Sequence used for its runtime flow.

```mermaid actions={false} theme={null}
sequenceDiagram
  participant N as Twitter
  participant D as Twitter Distribution Ion
  participant P as Policy Behavior Ion
  participant A as Support Behavior Ion
  N->>D: Post, mention, or message
  D->>P: Normalized request
  P->>A: Approved request
  A-->>P: Response
  P-->>D: Approved response
  D-->>N: Network response
```

The connected Behavior Ions can enrich, route, reject, or answer the request. The Distribution remains the external
entry and return point throughout the flow.

An Ion's position belongs to the Sequence, not its type. Aion does not require the final participant to use a separate
terminal-Ion category.

## A2A ingress and Agent Cards

A2A and Playground Distributions may publish an Agent Card describing their public agent capability and connected
Sequence. The card does not describe every Ion in the Project.

A Slack, X, or Voice Distribution remains an external integration without publishing an A2A Agent Card. Adding a
Distribution to a Project graph does not automatically make it an A2A endpoint.

## External ingress and internal runtime identity

A Distribution and a Daemon Identity sit on opposite sides of the application boundary:

* The **Distribution** receives external traffic and represents the connected Sequence.
* The **Daemon Identity** is the acting principal when the runtime calls another Aion, accesses resources, or uses
  metered services internally.

The Distribution is the outside world's route into the Aion. The runtime uses its Daemon Identity for internal
authorization, billing attribution, and application-to-application communication after work enters.

## What to do next

* To add and configure a Distribution Ion, follow
  [Build an Aion](/docs/usage/building-an-aion).
* To compare messaging endpoints, read
  [Messaging feature support](/docs/distributions/messaging/feature-support).
* To configure a current network integration, follow [Slack](/docs/distributions/messaging/slack).
* To understand normalized requests and Agent Cards, read the [A2A Protocol overview](/a2a).
* To understand Principal, linked service, and Daemon Identities, read
  [Identities](/docs/concepts/identities).
* To understand agent, MCP, and event surfaces, read [Capabilities](/docs/concepts/ions#capabilities).
