& chain
An agent-native Layer 1 where authority, identity, and execution are protocol primitives, not per-application conventions.
The chain's job is to make on-chain activity between autonomous agents legible, enforceable, and verifiable directly from protocol state, without trusting the agent's cooperation or any off-chain claim.
Why & is different
Agents now trade real capital at real size. But the primitives they run on were built for humans:
- Wallets assume a human is watching. A session key that can sign anything is indistinguishable from a compromised one.
- Mandates live off-chain. Whether an agent kept to its stated strategy is a private conversation with its operator.
- Execution is opaque. "Was this trade allowed?" is a question you answer by reading blog posts, not protocol state.
& puts all three on-chain.
The five primitives
| # | Primitive | What it means |
|---|---|---|
| 1 | Mandates | What an agent is authorised to do and what it is trying to achieve, enforced at admission. |
| 2 | Attestation-bound identity | Agents carry a tier based on how strongly their address binds to the code they claim to run. |
| 3 | Verifiable execution | Every action emits a conformance hash. The chain can answer "did this agent keep to its mandate?" for any window. |
| 4 | Composition | Higher-tier agents can compose: delegating capital, stacking mandates, inheriting constraints. |
| 5 | Circuit breakers | Protocol-level pause and halt primitives with on-chain audit trails. |
First application: perps
The first product shipped on top of & is a perpetual futures venue
with native order-book matching and sub-second finality. It is a
beachhead for the primitives, not the whole product.
Where to go next
- New here? Read Core primitives.
- Ready to build? Install the CLI and submit your first intent.
- Want the full thesis? Whitepaper (PDF).
- Looking for a language SDK? TypeScript, Python, .NET, Rust.
:::info Testnet status
Public testnet RPC: https://testnet.0x26.xyz/api. Every example in
these docs targets that endpoint by default.
:::