ATEL
AVIP Specification

Intent Domain (AVIP-INT)

Normative specification of AVIP intent — declaration, constraints, delegation chain, and server-side verification.

Intent Domain — AVIP-INT

An Intent is a signed, structured declaration of what an agent is authorized to do and within what bounds, created before execution begins. It is the contract against which the Execution domain is gated and the Audit domain renders a verdict.

ComponentCodePurpose
Intent DeclarationAVIP-INT-DECLThe signed statement of intended action
ConstraintsAVIP-INT-CONThe machine-checkable bounds on that action
Delegation ChainAVIP-INT-DELThe authorization path from human to acting agent
Intent VerificationAVIP-INT-VERServer-side acceptance checks before storage

AVIP-INT-DECL — Intent Declaration

Purpose

Defines the structure and signature of an Intent.

Normative Requirements

  • An Intent MUST be created and signed by the issuing agent before the transaction begins.
  • The Intent signature MUST cover the deterministic serialization of its core fields (action, constraints, issuerDid, subjectDid, timestamp), with nested keys sorted at every level.
  • The signature algorithm MUST be Ed25519 (RFC 8032); the output is a 64-byte detached signature, Base64-encoded.
  • An Intent MUST be anchored on-chain (per its On-Chain Mapping) before execution is permitted to start.
  • The stored Intent MUST be byte-identical to the signed Intent — the server MUST NOT reconstruct or re-sign it.

Data Structures

Intent (generic / A2A form)

FieldTypeDescription
intentIdstringUnique id, intent_ prefix
issuerDidstringDID of the declaring agent
subjectDidstringDID of the counterparty agent
actionstringOperation type (e.g. execute_task)
constraintsobjectSee AVIP-INT-CON
delegationChainarraySee AVIP-INT-DEL
timestampstringISO 8601 creation time
signaturestringEd25519 detached signature (Base64)

A2B extension fields — the A2B profile extends the Intent with payment-specific fields:

FieldTypePurpose
categorystringHigh-level merchant category (e.g. gift_card)
maxAmountnumberSpending ceiling in the quote currency
deadlineUnixintUTC seconds after which the order auto-expires
allowedToolsstring[]Whitelist of tools the agent may call
requiresConfirmAbovenumberThreshold above which user confirmation is required
scopestring[]Merchant / SKU filters
userSAaddressThe user's smart account (refund destination)

Signing Input (ordered)

The fields included in the signature input, sorted:

  1. action
  2. constraints (nested keys also sorted)
  3. issuerDid
  4. subjectDid
  5. timestamp

On-Chain Mapping

WhatValue
Anchor key (A2A)keccak256("intent:" + orderId)
Anchor key (A2B)intentHash (via A2BOrderGateway.createOrder)
Data hashkeccak256(intent JSON)
Submitted viaThe executor's / user's smart account (AVIP-ID-SA)

AVIP-INT-CON — Constraints

Purpose

Defines the machine-checkable bounds an Intent places on execution. Constraints are what the Action Gateway enforces at runtime and what the Completion Proof checks at settlement.

Normative Requirements

  • An execution step MUST be refused if it would breach any declared constraint.
  • A settlement comparison MUST evaluate every applicable constraint and reflect any breach in the verdict.

Data Structures

Constraints object (A2A)

FieldTypeDescription
maxAmountnumber (optional)Maximum value for this transaction
deadlinestring (optional)ISO 8601 — settlement must occur before this time
milestoneCountintegerExpected execution steps (default: 5)
scopestring[] (optional)Allowed capability types

In the A2B profile the equivalent bounds are expressed as the extension fields in AVIP-INT-DECL (maxAmount, deadlineUnix, allowedTools, requiresConfirmAbove, scope).

Constraint Semantics

ConstraintSatisfied when
BudgetActual cost ≤ maxAmount
DeadlineSettlement / completion occurs before the deadline
ScopeEvery step's capability is within the declared scope
Milestone countCompleted milestones meet the expected count

AVIP-INT-DEL — Delegation Chain

Purpose

Records the authorization path from a human principal down to the acting agent, so that authority can be traced and attenuated across multiple hops.

Normative Requirements

  • Every Intent MUST carry a delegation chain with at least one entry.
  • Where authority passes through multiple agents, each delegate MUST hold strictly fewer permissions than its delegator (attenuation).
  • Each delegation step MUST be signed by the delegator.

Data Structures

Delegation step

FieldTypeDescription
fromstringDID of the delegator
tostringDID of the delegate
attenuatedbooleanWhether permissions narrow at this step
signaturestringDelegator's signature over this step

In the simplest case (human → agent) the chain has one entry. In multi-agent delegation (human → orchestrator → worker) the chain grows by one entry per hop, with attenuation at each step.


AVIP-INT-VER — Intent Verification

Purpose

Defines the checks the Platform MUST perform before accepting and storing an Intent.

Normative Requirements

On receiving an Intent, an implementation MUST perform all of the following before storage, and MUST reject the Intent if any fails:

  1. Signature verification — reconstruct the signing input with the same deterministic serialization, extract the issuer's public key from the DID, and verify the Ed25519 signature.
  2. Issuer consistency — the Intent's issuerDid MUST match the order's requester.
  3. Subject consistency — the Intent's subjectDid MUST match the order's executor.
  4. Constraint consistency — the Intent's maxAmount MUST be greater than or equal to the order's price.

Error Conditions

Failed checkResult
Signature invalidIntent rejected; order does not proceed
Issuer / subject mismatchIntent rejected
maxAmount < order priceIntent rejected

A rejected Intent is never anchored. Only an Intent that passes all four checks is stored as-received and anchored on-chain.

On this page