Mandate
A scoped, revocable credential that states what an agent may do for a specific person or company, and nothing more.
The problem
When a person's agent asks to cancel a subscription or dispute a charge, the business needs proof that the account holder authorized that exact action.
A2A includes a task state for in-task authorization (TASK_STATE_AUTH_REQUIRED). The specification deliberately leaves the scope, representation, validity, and revocation of the resulting credential to implementations and extensions. Mandate is a proposal for that missing piece.
How it works
- The person approves a mandate in their agent's app: which account, which actions, what limits, and when it expires.
- The mandate is signed and bound to the requesting agent, so another agent cannot reuse it.
- The agent presents the mandate with its task.
- The business checks the signature, scope, expiry, and revocation status before acting.
Open standards
Designed to be carried as an A2A extension. For payments, Mandate works alongside AP2 rather than replacing it.
Availability
Specification in progress. We intend to publish it openly for comment.
Questions
- Can a person revoke a mandate?
- Yes. Revocation is a core requirement, and businesses check revocation status before acting.
Next module: Ledger