Skip to content
Agent Identity

IETF · 30 July 2026

Transaction Tokens

draft-ietf-oauth-transaction-tokens-11

A. Tulshibagwale, G. Fletcher, P. Kasselman

WG draftDraft — expect changeIdentity + Authn + AuthzFoundationField guide

An agent that orchestrates internal tools should pass a transaction token so every microservice sees the original user and the original purpose, not just the agent's workload identity.

At a glance

Problem
Inside a trust domain, a user or external request fans out across many workloads. Each hop needs immutable user identity, workload identity, and authorization context that does not silently widen.
Identity / authn / authz
Carries identity and authorization context through a call chain. Complements WIMSE workload authn. Not a user-facing grant.

Actors

  • External caller
  • Transaction Token Service (TTS)
  • Workloads in the trust domain

01

The gap for agents

Inside a trust domain, a user or external request fans out across many workloads. Each hop needs immutable user identity, workload identity, and authorization context that does not silently widen. An agent that orchestrates internal tools should pass a transaction token so every microservice sees the original user and the original purpose, not just the agent's workload identity.

Complements WIMSE (who is calling) rather than replacing it. draft-ietf-oauth-transaction-tokens-11, 30 July 2026. Individual draft-araut-oauth-transaction-tokens-for-agents profiles this for agents.

02

Actors and trust boundaries

The Transaction Token Service (TTS) is trusted inside the domain. External callers never present a Txn-Token as their only credential. Downstream workloads may replace replaceable context (rctx) but must not mutate tctx immutables. Crossing a domain boundary is identity chaining, not a longer Txn-Token.

03

Mechanics

An entry workload authenticates, then requests a Txn-Token from the TTS using token-exchange-shaped parameters (purpose, request_details, request_context). The token is a short-lived signed JWT, typically carried in a Txn-Token header — not Authorization, so Authorization stays available for WIT/WPT or DPoP. Claims include purp, tctx (immutable), rctx (replaceable). WPT can bind tth/oth to the txn token.

purpfrom spec
Quoted: purpose of the transaction.
tctxfrom spec
Quoted: immutable transaction context across the chain.
rctxfrom spec
Quoted: replaceable context that may change hop to hop.
Txn-Token headerillustrative
Quoted direction in related WIMSE/WPT text: not the Authorization header. Illustrative of how it composes with WIT/WPT.

04

Step-by-step flows

Flow 1

Entry workload issues a Txn-Token

  1. 1

    External request authenticated (OAuth user token, mTLS, …).

  2. 2

    Entry workload requests a Txn-Token from the TTS with purpose and context.

  3. 3

    Downstream calls carry Txn-Token plus workload authn (WIT+WPT or mTLS).

  4. 4

    Each hop verifies both. tctx stays immutable. Workloads may replace the token per the draft's rules but must not widen authority.

05

Identity vs authentication vs authorization

Carries identity and authorization context through a call chain. Complements WIMSE workload authn. Not a user-facing grant. Not a substitute for audience-restricted OAuth at the domain edge.

06

How it composes

  • Token Exchange

    Issuance often uses exchange parameters at the TTS.

  • WIMSE architecture

    Workload identity + txn context is the internal pair.

  • WIMSE WPT

    WPT binds hashes of other tokens (tth) so they cannot be swapped.

  • AIMS (agent auth BCP)

    AIMS recommends Txn-Tokens for internal agent call chains.

  • A2A (Agent2Agent)

    draft-liu-oauth-a2a-profile discusses Txn-Tokens on A2A call chains — a usage idea, not A2A v1.0 itself.

07

What bites agent implementers

  • Mutating purpose

    If tctx can be edited, you no longer have a transaction token. Enforcement is the whole value.

  • Using Txn-Tokens as bearer access tokens at the edge

    They are context for a trusted domain, not a grant to a stranger's API.

08

Stability — what you can ship

draft-ietf-oauth-transaction-tokens-11, 30 July 2026, expires 31 January 2027, OAuth WG, intended standards track. Milestone toward IESG in December 2026 on the WG list. https://datatracker.ietf.org/doc/draft-ietf-oauth-transaction-tokens/. Implement inside a domain you control; expect claim-name stability to be good but not RFC-frozen.

Catalog claims (short form)

purp
Purpose of the transaction.
tctx
Immutable transaction context across the chain.
rctx
Replaceable context that may change hop to hop.

Implementer notes

WG Last Call / waiting for write-up as of late July 2026; OAuth WG milestone to submit to IESG in December 2026. Individual draft draft-araut-oauth-transaction-tokens-for-agents profiles this for agents. draft-liu-oauth-a2a-profile discusses Txn-Tokens on A2A call chains.

Relationship to others

Primary sources

  • Datatrackerhttps://datatracker.ietf.org/doc/draft-ietf-oauth-transaction-tokens/