Agent Mandates

Portable authority tokens for AI agents

Permission stateP0

Agent Mandates

Portable authority tokens for AI agents. AI agents will not be trusted with commercial authority unless permissions are inspectable, bounded, and revocable across systems.

Agent Mandates is strongest when treated as a governed state machine, not a static token. The object must carry enough identity to be trusted at mint, enough mutable state to reflect the real workflow, and enough audit history for a third party to decide whether the current state is reliable.

Strategic thesis

Why this wedge exists

Before an agent acts, counterparties can inspect a shared mandate object instead of trusting an API key, hidden policy file, or vendor-specific permission model.

The first buyer is Enterprise AI, procurement, and risk teams. They don't need a generic blockchain story; they need a way to reduce disputes, speed approval, and make the current status of a workflow independently checkable.

State Dual manages

Agent authority, spending scope, approved counterparties, jurisdiction, expiry, usage, and revocation.

DraftedVerifiedActiveTransaction PendingLimit ConsumedAmendedRevoked

The important point is not the number of states. It's that each transition has an actor, an allowed action, evidence, and a durable audit record. That turns operational workflow into an inspectable object.

Token architecture

Immutable identitypermission_id, issuer_id, subject_id, scope_definition, issued_at
Mutable stateactive_scope, usage_count, trust_level, expiry_status, revocation_status
Compliance rulesPermission is checked before action, not after audit. Revocation immediately changes downstream eligibility. Prerequisites and issuer authority are queryable by relying parties.
Event sourcesissuer attestation, identity provider update, policy engine decision, counterparty access request

Example object schema

{
  "template": "agent_mandates",
  "category": "Permission state",
  "immutable": {
    "permission_id": "set_at_mint",
    "issuer_id": "set_at_mint",
    "subject_id": "set_at_mint",
    "scope_definition": "set_at_mint",
    "issued_at": "set_at_mint"
  },
  "mutable": {
    "active_scope": "updated_by_event",
    "usage_count": "updated_by_event",
    "trust_level": "updated_by_event",
    "expiry_status": "updated_by_event",
    "revocation_status": "updated_by_event"
  },
  "rules": {
    "allowed_states": ["Drafted","Verified","Active","Transaction Pending","Limit Consumed","Amended","Revoked"],
    "first_buyer": "Enterprise AI, procurement, and risk teams",
    "audit_required": true
  }
}

This schema is intentionally scoped. A credible first product should prove one object type, one core state machine, and a small number of high-value integrations before expanding into a platform.

User journey

  1. 1

    Issuer: Drafted

    The Agent Mandates object is created with immutable identity, owner, and rule metadata.

  2. 2

    Operator: Verified

    An event moves the object into "Verified", preserving the previous state and the actor that triggered the change.

  3. 3

    Verifier: Active

    An event moves the object into "Active", preserving the previous state and the actor that triggered the change.

  4. 4

    Counterparty: Transaction Pending

    An event moves the object into "Transaction Pending", preserving the previous state and the actor that triggered the change.

  5. 5

    Auditor: Limit Consumed

    An event moves the object into "Limit Consumed", preserving the previous state and the actor that triggered the change.

  6. 6

    Automation: Amended

    An event moves the object into "Amended", preserving the previous state and the actor that triggered the change.

  7. 7

    Administrator: Revoked

    An event moves the object into "Revoked", preserving the previous state and the actor that triggered the change.

Event model

Dual becomes useful when outside systems stop being passive records and start becoming evidence sources for state transitions.

  • issuer attestation
  • identity provider update
  • policy engine decision
  • counterparty access request

Each event should answer four questions: who produced it, which object it affects, which transition it requests, and which proof should be retained for audit.

Why not just a database?

Traditional system

An internal policy database controls one application. It does not give an external vendor or payment rail a portable object it can verify before accepting agent action.

That's acceptable when one organization owns the full workflow. It breaks down when multiple parties need to trust the same current state without relying on a single application owner.

Dual stateful object

Dual separates immutable identity, mutable lifecycle state, compliance checks, and event history. Participants can inspect the current object state, verify the transition path, and use the same state as input to payment, access, reporting, or downstream automation.

90-day MVP

A procurement agent buys approved inventory up to a monthly limit, rejects a scope breach, decrements remaining authority, and supports immediate revocation.

  • Define the template and allowed state transitions.
  • Mint test objects with realistic identity and ownership data.
  • Wire one external event source into the Event Bus.
  • Trigger one successful transition and one rejected transition.
  • Expose a query view that proves current state and transition history.

Proof assets required

  • Mandate schema
  • Successful transaction event
  • Rejected scope-breach event
  • Revocation audit trail

These assets are the difference between a concept note and a buildable wedge. Without them, the page is only a narrative; with them, it becomes a product specification.

Operating metrics

  • invalid actions blocked
  • revocation propagation time
  • credential reuse
  • manual review avoided

These are the metrics that should be visible in the pilot dashboard. They also give sales, implementation, and investor conversations a concrete way to judge whether Dual is improving the workflow.

Commercial wedge

The first commercial motion should sell a narrow operational outcome, not broad tokenization. For Agent Mandates, the wedge is: build a mandate. Price around the workflow value: fewer disputes, faster settlement, cleaner audit, lower fraud, or lower manual reconciliation.

Expansion should follow the state graph. Once the first transition is trusted, add the next actor, then the next integration, then the next reporting surface. That keeps the product grounded in workflow proof rather than speculative asset creation.

Risks and controls

  • issuer trust bootstrapping. Control: define the trusted source, log every mutation, and keep manual override paths explicit.
  • privacy expectations around identity state. Control: define the trusted source, log every mutation, and keep manual override paths explicit.
  • policy complexity as scopes multiply. Control: define the trusted source, log every mutation, and keep manual override paths explicit.

Implementation playbook

  1. Map the workflow: identify the actor responsible for each state and the evidence required for each transition.
  2. Create the template: split data into immutable identity, mutable state, and compliance rule fields.
  3. Mint sample objects: use realistic IDs, timestamps, owners, and source-system references.
  4. Connect one event: choose the event that makes the state change economically valuable.
  5. Reject one bad action: demonstrate that Dual blocks invalid transitions before downstream settlement.
  6. Expose audit: show current state, previous state, actor, timestamp, evidence hash, and rule result.

Build prompt

Create a Dual template for Agent Mandates. Model immutable identity fields, mutable lifecycle state, compliance checks, and event inputs. Then emit one test object and move it through: Drafted → Verified → Active → Transaction Pending → Limit Consumed.

Include:
- object schema
- transition rules
- event payload examples
- one rejected transition
- audit query output
- MVP dashboard fields

Use this as a scoped wedge: prove one governed state transition, one external event, and one audit query before expanding the workflow.

Start with the Dual quickstart →