- implement modular AI agents in your framework of choice
- standardize on a single, normalized messenging protocol (A2A)
- link agents to identities for addressing and permissions
- connect agents both to each other and to other networks
The Core Primitive: Agents
The fundamental unit of Aion is the agent. However, we are neither an agent-builder nor orchestrator. Instead, you build agents using your preferred framework or tooling, and we provide the network infrastructure to connect them. Our SDKs currently support agents built in Python using LangGraph or Google’s ADK, and the Aion control plane can dispatch to any agent exposing an A2A endpoint.

Defining an Agent
In Aion, an agent is composed of three key components:
- Behavior - an agent’s static logic; it’s source implementation
- Environment - the agent’s runtime configuration
- Identity - the agent’s unique identifier and permissions
aion.yaml allows you
to specify what configuration options you’d like to expose. In the Aion control plane, a Behavior
is paired with an Environment so you can optionally configure runtime configuration and an Identity
to define how the agent is addressed and authorized.Agent Capabilities
Agents may expose multiple capabilities used to independently interact with them:
- A2A - an Agent-to-Agent protocol endpoint for natural language communications
- MCP - an Model Context Protocol endpoint for direct tool access
- Events - a subscription-based event stream for real-time updates
Agentic Applications
An agentic application is a collection of agents that work together to achieve a common goal.
In the Aion control plane, a Project is the unit of organization for an agentic application. Projects are composed of nodes, each of which is an agent.
Nodes representing a deployed behavior are called Behavior Nodes. These shouldn’t be confused as only containing an agent’s Behavior. In a project, every node also contains Environment and Identity configuration.
Integrating With Other Networks
Behavior Nodes can be connected to other networks by connecting them to a Distribution Node.
Distribution Nodes act as normalized bridges to different networks, allowing agents to communicate across heterogenous network boundaries.
Connecting Agents in Sequences
Aion allows you to connect agents in sequences to define the request/response path from a Distribution node to a terminal Behavior node.
Agents defined in Behavior nodes can act as middleware for other agents to enable specialization and reuse through decomposition. In this example, a request follows this path:
- Distribution Node: Telegram
- Behavior Node: Brand Policy Agent
- Behavior Node: x402 Agent
- Behavior Node: Stock Portfolio Agent
- Behavior Node: x402 Agent
- Behavior Node: Brand Policy Agent
- Distribution Node: Telegram
At each step, a request or response can be augmented or rejected.
Connecting Agents through Discovery
Agents are not required to follow a strict request/response flow. Since agents expose a set of Capabilities (A2A, MCP, Events) and a unique Identity, other Application agents can communicate with them in a few ways:
- Direct Addressing:
a2aMessage("@s3", "store this file", fileContent). - Events:
subscribe("@bug-recon", "critical-error-detected") - Discovery:
toolSearchTool("file storage")ora2aSearchTool("linear")