§1
Identity
Ed25519 keypairs · DID-method agnostic. The protocol defines a deterministic envelope: agent_did, parent_delegation, scope, expires_at, payload_digest, sig_ed25519. All fields are RFC 8785 canonicalized before signing.
{
"agent_did": "did:key:z6Mki...",
"scope": ["read:calendar", "spend:usd:50"],
"expires": "2026-05-15T00:00:00Z",
"sig": "ed25519:..."
}§2
Delegation
Scoped, time-boxed, revocable chains. The protocol defines a deterministic envelope: agent_did, parent_delegation, scope, expires_at, payload_digest, sig_ed25519. All fields are RFC 8785 canonicalized before signing.
{
"agent_did": "did:key:z6Mki...",
"scope": ["read:calendar", "spend:usd:50"],
"expires": "2026-05-15T00:00:00Z",
"sig": "ed25519:..."
}§3
Action Receipts
RFC 8785 canonicalization · signed envelopes. The protocol defines a deterministic envelope: agent_did, parent_delegation, scope, expires_at, payload_digest, sig_ed25519. All fields are RFC 8785 canonicalized before signing.
{
"agent_did": "did:key:z6Mki...",
"scope": ["read:calendar", "spend:usd:50"],
"expires": "2026-05-15T00:00:00Z",
"sig": "ed25519:..."
}§4
Revocation
Cascade semantics · gateway enforcement. The protocol defines a deterministic envelope: agent_did, parent_delegation, scope, expires_at, payload_digest, sig_ed25519. All fields are RFC 8785 canonicalized before signing.
{
"agent_did": "did:key:z6Mki...",
"scope": ["read:calendar", "spend:usd:50"],
"expires": "2026-05-15T00:00:00Z",
"sig": "ed25519:..."
}§5
Attribution
Four-axis Merkle proofs · D/P/G/C. The protocol defines a deterministic envelope: agent_did, parent_delegation, scope, expires_at, payload_digest, sig_ed25519. All fields are RFC 8785 canonicalized before signing.
{
"agent_did": "did:key:z6Mki...",
"scope": ["read:calendar", "spend:usd:50"],
"expires": "2026-05-15T00:00:00Z",
"sig": "ed25519:..."
}§6
Commerce Gates
Four pre-flight checks before spend. The protocol defines a deterministic envelope: agent_did, parent_delegation, scope, expires_at, payload_digest, sig_ed25519. All fields are RFC 8785 canonicalized before signing.
{
"agent_did": "did:key:z6Mki...",
"scope": ["read:calendar", "spend:usd:50"],
"expires": "2026-05-15T00:00:00Z",
"sig": "ed25519:..."
}§7
Vocabulary
Behavioral signals · canonical types. The protocol defines a deterministic envelope: agent_did, parent_delegation, scope, expires_at, payload_digest, sig_ed25519. All fields are RFC 8785 canonicalized before signing.
{
"agent_did": "did:key:z6Mki...",
"scope": ["read:calendar", "spend:usd:50"],
"expires": "2026-05-15T00:00:00Z",
"sig": "ed25519:..."
}§8
Conformance
37 fixture vectors · byte-identical. The protocol defines a deterministic envelope: agent_did, parent_delegation, scope, expires_at, payload_digest, sig_ed25519. All fields are RFC 8785 canonicalized before signing.
{
"agent_did": "did:key:z6Mki...",
"scope": ["read:calendar", "spend:usd:50"],
"expires": "2026-05-15T00:00:00Z",
"sig": "ed25519:..."
}