Agent Payments Need a Decision Receipt

A transaction hash can identify a transaction and help bind records together. What it cannot tell you is why the agent was allowed to make that payment.

For a finance reviewer, that missing “why” is the important part. An agent can be authenticated, act on behalf of a principal, and have a credential or mandate—and still leave one basic question unanswered: did this exact payment fit the authority and policy that were current at that moment?

What helps is not another generic audit log. It is a bounded, point-in-time Decision Receipt: a record a reviewer can use to reconstruct the technical authority context, the exact payment proposal, the policy version evaluated, the outcome and reason, any required approval, and the payment state that followed.

Treasury Desk author synthesis — reviewer evidence schema. Here, “Decision Receipt” is our name for a candidate reviewer schema. It is not an industry standard, a legal requirement, or an audit template.

A Decision Receipt is not a transaction receipt

A transaction receipt or payment confirmation tells you something about what happened on a payment rail or at a provider. A Decision Receipt answers an earlier question: why was this exact candidate allowed, escalated, or denied under the technical authority and policy state represented by the system at that moment?

It should not become a full agent transcript either. A reviewer usually does not need every prompt, model trace, tool output, policy document, or identity record copied into one durable artifact. References, version identifiers, controlled digests, masking, and selective disclosure can preserve the relevant evidence while reducing duplicated sensitive context.

Nor is it an audit, compliance, or legal record by itself. It can help reconstruct a decision. It cannot turn technical authorization into legal authority, prove that a policy was correct, certify that a control was effective, or show that the payment was economically wise.

Start with the authority chain

Authentication matters, but the more useful reviewer question is: “What authority did the enforcing system actually evaluate for this payment?”

A practical chain is:

principal or delegator → current agent or actor → mandate/authorization reference → scope and limits → validity and revocation state → policy/version → exact payment proposal → decision

Authentication belongs in that chain, but it is only one layer. Technical standards distinguish authentication from authorization, and delegation can introduce a separate actor acting on behalf of a principal. A reviewer therefore needs to keep identity, authentication, authorization, delegation, policy evaluation, approval, payment processing, and reconciliation distinct.

“Current” also needs a timestamp. A mandate or credential that existed yesterday may be expired, revoked, not yet valid, or out of scope today. The receipt should preserve the state that the enforcing system observed at decision time: the validity window, revocation/activity check, relevant scope, and the source or reference used for that check.

The language should stay technical and specific. “The system recorded the authorization state as active and within the represented scope at 14:03 UTC” is reviewable. “The agent had legal authority” is a different conclusion and needs different evidence.

Bind the decision to the exact payment

A generic spending mandate is not enough if the actual proposal can change.

The decision record should identify the exact payment candidate: request ID, amount and currency or asset, beneficiary or tool/resource, and a canonical reference or digest for the evaluated proposal. Where price, order terms, purpose, instrument, or budget state mattered to the decision, those should be linked too.

This is the difference between approving a category of actions and reconstructing one decision. If the price changes after review, the beneficiary changes, the amount increases, or the submitted request is not the same object that was evaluated, the reviewer needs to see that mismatch rather than inherit an old approval label.

The same logic applies to policy. A decision without the policy version or revision can be impossible to reproduce after the rules change. Current policy tooling can record decision identifiers, inputs, results, timestamps, and policy or bundle revisions. That makes versioned policy provenance a practical precedent for a Decision Receipt.

Keep the decision simple and the evidence specific

For review, Treasury Desk proposes three normalized outcomes:

  • ALLOW
  • ESCALATE
  • DENY

This is a reviewer normalization, not a universal standard. If the source system uses another term—such as REVIEW—the receipt should preserve that source-native outcome alongside the normalized value.

ALLOW means the represented technical checks permitted the exact proposal at decision time. It does not mean the payment was submitted, captured, settled, reconciled, compliant, secure, or economically appropriate.

ESCALATE means the automated evaluation did not finalize the decision and a designated review or exception path is required. It is not approval. If a human later approves the payment, that should be a separate event tied to the same proposal.

DENY means the proposal failed the represented technical policy or authority checks. It is not a fraud finding or a legal prohibition.

Reason codes should be similarly bounded. Useful examples include AUTHORITY_EXPIRED, AUTHORITY_REVOKED, SCOPE_MISMATCH, AMOUNT_OR_BUDGET_EXCEEDED, BENEFICIARY_MISMATCH, TERMS_CHANGED, MANUAL_REVIEW_REQUIRED, and EVIDENCE_INCOMPLETE. If the source system provides its own reason code or evaluation reference, preserve it.

Decision state and payment state are different facts

A common failure is to let one status carry too much meaning.

A reviewer-friendly lifecycle is:

PROPOSED → DECISION → optional APPROVAL → SUBMISSION ATTEMPT → provider/rail states → later settlement/refund/reversal/failure events → RECONCILIATION

This is a reviewer abstraction, not a universal payment-network state machine. Payment providers use their own lifecycle terms, and those terms can change as a payment is confirmed, captured, processed, settled, refused, canceled, refunded, or fails.

The Decision Receipt should therefore keep its original decision-time facts stable and link later payment-state observations. It should not be rewritten so that an earlier ALLOW becomes “paid,” or so that a later refund makes the original policy decision look like a denial.

Reconciliation belongs even later. A provider can report a payment state without finance having matched the event to the expected obligation, identified an exception, or closed the reconciliation. settled and reconciled should never be used as synonyms.

Failure cases the receipt should make visible

The value of the record becomes clearest when the happy path breaks.

For a stale or revoked mandate, the record should show when and where the current-state check was made. For an expired mandate, it should show the validity window and decision timestamp. A scope mismatch should show the requested action or resource against the represented scope. An amount or budget exception should show the proposal amount and the applicable limit reference.

If terms changed, the record should make that visible through proposal or terms binding. An escalation should remain unresolved until a separate review event exists. A human approval should be tied to the exact proposal later submitted. A retry or duplicate attempt should carry its own attempt or idempotency reference where the underlying system supports one.

If the link between the policy decision and the payment attempt is broken, it should stay broken. The system should not infer that two records belong together merely because they involve the same agent or occurred on the same day.

A Decision Receipt also does not prevent replay or duplicate payments. Replay resistance and idempotency are separate protocol or control properties. The receipt can record evidence about those mechanisms; it is not the mechanism itself.

Reviewer Decision Receipt v0.1

Treasury Desk author synthesis — reviewer evidence schema. Here, “required” means required for this reviewer job—not by a protocol, law, accounting standard, or audit standard.

Block Required for this reviewer job Required when applicable Optional / implementation-specific
Record identity Decision Receipt ID, schema version, decision timestamp Engine/config version
Authority Principal/delegator reference, agent/current actor reference, mandate/authorization reference, mandate version/digest, authority state at decision, scope reference, validity window or N/A, revocation check and time or N/A Delegation-chain reference, budget-limit reference Source snapshot IDs
Exact proposal Payment request ID, amount + currency/asset, beneficiary/tool/resource reference, canonical proposal reference or digest Purpose/order reference, price/terms reference Additional normalized context
Policy decision Policy ID/path, policy revision/digest, policy decision ID, normalized outcome, source-native outcome, reason/evaluation reference, source references Exception reference Normalized + source reason codes
Human gate Reviewer/approval reference, approval time, approved-proposal binding Review queue/owner metadata
Payment linkage Payment attempt/reference or explicit not-submitted evidence, observed payment state, observation time Retry/idempotency reference Normalized cross-provider state
Reconciliation Reconciliation status/reference once finance reconciliation begins Exception/closure reference
Integrity Signature/attestation reference only when the implementation actually provides and verifies it

Do not over-record by default

Do not copy credentials, bearer tokens, private keys, seed phrases, full payment-instrument data, full prompts, hidden model reasoning, complete agent transcripts, entire policy documents, unrestricted tool outputs, or unrelated personal/customer data into the receipt.

Prefer stable references and the minimum decision-relevant fields. A digest can help with correlation or integrity, but a digest is not proof of authority and is not automatically anonymous.

What this does not prove

A Decision Receipt can make the decision easier to reconstruct. It does not prove that the agent had legal authority, that the mandate was legally valid, or that the payment was compliant. It also does not prove that the implementation was secure or non-bypassable, that the control was effective, that the record is an audit opinion, that the payment was fraud-free, or that the economic choice was appropriate.

It also does not prove finality. An ALLOW decision is not a provider settlement state. A provider settlement state is not finance reconciliation. A later refund or reversal can change the economic outcome without changing what the system decided earlier.

The point is narrower: preserve enough bounded evidence for a human reviewer to answer who was acting, on whose represented authority, under which current constraints and policy version, for which exact payment, with what decision and reason, and what payment state followed.

If you were reviewing this record tomorrow, which field would you add first: mandate state, policy version, human-approval binding, or payment-state linkage?


Sources and notes

These sources support the technical distinctions used in this article. None endorses the Treasury Desk schema or proves the legal, compliance, or security conclusions discussed above.

  1. Amazon Web Services — “Pay with confidence: How Solv Labs built verifiable, auditable agent payments on Amazon Bedrock AgentCore Payments” — Amazon Web Services; co-authored with implementation participants; source date: 2026-08-12; retrieved: 2026-08-16.
    Used as one bounded implementation example for transaction-specific policy/proof artifacts and ALLOW/REVIEW/DENY-type handling before settlement.

  2. NIST SP 800-63B-4 — Authentication and Authenticator Management — NIST; source date: 2025-07; retrieved: 2026-08-16.
    Used for the authentication boundary; not for payment authority.

  3. IETF RFC 6749 — The OAuth 2.0 Authorization Framework — IETF / RFC Editor; source date: 2012-10; retrieved: 2026-08-16.
    Used for technical authorization, scope, and lifetime concepts.

  4. IETF RFC 8693 — OAuth 2.0 Token Exchange — IETF / RFC Editor; source date: 2020-01; retrieved: 2026-08-16.
    Used for actor/delegation representation.

  5. IETF RFC 7662 and RFC 7009 — Token Introspection and Token Revocation — IETF / RFC Editor; source dates: 2015-10 and 2013-08; retrieved: 2026-08-16.
    RFC 7662 — Token Introspection · RFC 7009 — Token Revocation
    Used for technical active/expiry/revocation-state concepts.

  6. IETF RFC 9396 — OAuth 2.0 Rich Authorization Requests — IETF / RFC Editor; source date: 2023-05; retrieved: 2026-08-16.
    Used for fine-grained authorization context, including payment-related amount/currency/creditor examples.

  7. Open Policy Agent — Decision Logs — Open Policy Agent; retrieved: 2026-08-16.
    Used for decision ID, input/result, policy/bundle revision, timestamp, and masking patterns.

  8. Adyen — Payments lifecycle — Adyen; retrieved: 2026-08-16.
    Used as a provider-specific example of distinct payment processing, settlement, refusal, refund, and failure states.

  9. Stripe — The PaymentIntent lifecycle — Stripe; retrieved: 2026-08-16.
    Used as a second provider-specific lifecycle example; not as a universal state taxonomy.

  10. W3C — Verifiable Credentials Data Model v2.0 — W3C; source date: 2025-05-15; retrieved: 2026-08-16.
    Used for general data-minimization and selective-disclosure principles; the Decision Receipt is not presented as a Verifiable Credential.

  11. Treasury Desk — “Machine Payments Need Month-End Evidence, Not Just a Payment Method” — Treasury Desk; source date: 2026-06-25; retrieved: 2026-08-16.
    Used for duplicate-control and angle separation: the existing piece is a broad month-end/close-file evidence article; this draft stays focused on the transaction-time authority decision.

Method note: Treasury Desk author synthesis. Sources retrieved 2026-08-16. Methodology · Product boundary.

Leave a Comment