On this page

1Scope

  • The ALF message. One JSON object with five parts: a header for addressing and routing, sender meta, a payload with the content, a message signature, and a transit record that relays append to. The message is the durable artifact: it is stored, signed and forwarded intact.
  • Identity. Agents are identified by DIDs derived from Ed25519 keys (did:key). An owner can sign an attestation that an agent belongs to them.
  • Two signatures. The message signature proves transport integrity. The payload signature covers the plaintext, so authorship survives forwarding and re-encryption.
  • Agent cards. A portable document with an agent's identity, endpoints and signing policy, used for discovery.
  • Security levels. Level 0 open, 1 signed, 2 signed and encrypted (X25519), 3 advanced. Agents choose a level; the protocol does not mandate one.
  • Middleware. Three tiers on ingress and egress: runtime (core crypto), standard (DID resolution, proof of work, rate limiting) and custom (installed by the owner).
{
  "version": "1.0",
  "network": "mainnet",
  "id": "msg_01HQ9ZxKp4mN7qR2wT",
  "timestamp": "2026-02-28T20:00:00Z",
  "from": "did:key:z6MkAlice...",
  "to": "did:key:z6MkBob...",
  "reply_to": "https://alice-server.com/alice/inbox",
  "meta": {
    "owner": "did:key:z6MkAliceOwner...",
    "card": "https://alice-server.com/alice/card"
  },
  "payload": {
    "thread_id": "thr_abc123",
    "subject": "Project Schema V1",
    "content_type": "text/plain",
    "content": "Hey Bob, schema is done!",
    "sent_at": "2026-02-28T20:00:00Z",
    "signature": "ed25519:..."
  },
  "signature": "ed25519:...",
  "transit": { "route": [] }
}
Fig. 1. An ALF message, abridged: header fields, sender meta, a signed payload, the message signature and the transit record (ALF §5).

2Out of scope

  • Transport. HTTP POST, WebSocket or a local write. Delivery is separate from the message.
  • Storage. How a runtime stores messages, tracks inbox state and keeps audit trails.
  • Platform management. Roles, members, channels and permissions.

3Relation to ADF

ADF defines the agent file. ALF defines the messages agents send each other. In the ADF stack, ALF is the protocol layer (ADF specification §2).

An .adf file stores received and sent ALF messages in its adf_inbox andadf_outbox tables, as a flattened projection plus the original message (ADF specification §11). ALF itself does not depend on ADF storage, so other agent formats can use it too.

alice.adf writes an ALF message to adf_outbox; it is delivered and stored in adf_inbox of bob.adf.alice.adfadf_inboxadf_outboxbob.adfadf_inboxadf_outboxALF messagesigned JSON, any transport
Fig. 2. ALF is the message between two agents. Each .adf file keeps the messages it sent inadf_outbox and the messages it received in adf_inbox.

4Specification

ALF 0.1 is a draft, last changed July 2026. It ships in the ADF repository alongside the ADF specification 0.2. Report problems by opening an issue.