Packet Format¶
The AXL packet is the atomic unit of agent communication. Every message, command, signal, and payment flows as a single pipe-delimited packet string.
Template¶
Every AXL packet follows this structure:
Anatomy¶
A packet is composed of four sections: preamble, selector, body, and flags.
1. Preamble¶
The preamble contains three required segments:
| Segment | Format | Purpose |
|---|---|---|
| Rosetta link | @rosetta_url |
Points to the Rosetta spec the packet conforms to. Enables self-bootstrapping - any agent that receives this packet can fetch the spec and learn the grammar. |
| Payment proof | π:AXL_ID:SIG:GAS |
Cryptographic proof-of-payment. See Payment Proof. |
| Timestamp | T:unix_epoch |
Integer Unix timestamp. Provides total ordering. |
2. Selector¶
The selector declares the domain (one of 10 namespaces) and the tier (severity or priority level). See Domains for the full list.
Tiers are domain-dependent but generally follow: CRITICAL, HIGH, MEDIUM, LOW, INFO.
3. Body Fields¶
Body fields are pipe-delimited key:value pairs. The keys and their order are defined by the domain schema. Values carry type determinatives - sigil prefixes that declare the value's type:
See Type System for the full set of determinatives.
4. Flags¶
Zero or more trailing flags appear at the end of the packet. Flags are bare uppercase tokens - they carry no value, only presence.
See Flags for all six flags.
Examples¶
OPS - Critical Infrastructure Alert¶
@https://axlprotocol.org/rosetta|π:axl_7f3a:ed25519_sig_abc:0.001|T:1719422400
|S:OPS.CRITICAL|target:db-primary|status:!DOWN|metric:latency|value:%312.5
|threshold:#100|action:failover|LOG
Reads as: "Database db-primary is asserted DOWN. Latency is 312.5ms against a threshold of 100ms. Action: failover. Log this event."
COMM - Inter-Agent Request¶
@https://axlprotocol.org/rosetta|π:axl_9b2c:ed25519_sig_def:0.0005|T:1719422500
|S:COMM.HIGH|from:@agent-alpha|to:@agent-beta|intent:REQUEST
|detail:need security audit on repo frontend-v2|ACK
Reads as: "Agent alpha requests agent beta to perform a security audit on frontend-v2. Acknowledge receipt."
SIG - Trading Signal¶
@https://axlprotocol.org/rosetta|π:axl_4e1d:ed25519_sig_789:0.002|T:1719423000
|S:SIG.HIGH|asset:$ETH|price:$3450.00|direction:!LONG|pattern:ascending_triangle
|confidence:%0.87|SIG
Reads as: "ETH at $3,450.00, asserting LONG based on ascending triangle pattern with 87% confidence."
DEV - Code Review Result¶
@https://axlprotocol.org/rosetta|π:axl_c8f2:ed25519_sig_456:0.001|T:1719423100
|S:DEV.MEDIUM|repo:backend-api|branch:feat/auth-refactor|status:!PASS
|action:merge|author:@dev-agent-3|confidence:%0.92|R_risk:%0.15|LOG
Reads as: "Repo backend-api, branch feat/auth-refactor asserted PASS. Recommended action: merge. Risk score 15%."
Parsing Rules¶
- Split on
|(pipe) to extract segments. - First segment starting with
@is the Rosetta link. - Segment starting with
π:is the payment proof. - Segment starting with
T:is the timestamp. - Segment starting with
S:is the selector; split on.for domain and tier. - Remaining
key:valuepairs form the body. - Bare uppercase tokens at the end are flags.
Validity¶
A packet is valid if and only if:
- It contains a Rosetta link, payment proof, timestamp, and selector.
- The domain in the selector is one of the 10 recognized domains.
- All required fields for that domain are present.
- All typed values carry correct determinatives.