Intelligence

The Agent Paid. Now Prove That Payment Was Authorized.

On August 12, 2026, AWS published a technical account of a governed payments workflow that Solv Labs built on Amazon Bedrock AgentCore payments, with policy verification from ICME Labs. The interesting part is not that an agent can pay. It is what can be shown, afterward, about why that one specific payment was allowed to happen before the money moved.

Event analysed: . This analysis was published on 17 August 2026.

When an autonomous AI agent executes a payment, can an organization later prove why that specific transaction was authorized before the money moved?

In one implementation, yes. On August 12, 2026, AWS published a technical account of a governed payments workflow that Solv Labs built on Amazon Bedrock AgentCore payments, with policy verification from ICME Labs. Before a proposed transaction can settle, Solv's ORACLE engine evaluates it against applicable policy and returns an ALLOW or REVIEW determination, and a DENY path produces a signed refusal record when configured constraints are violated. Only an ALLOW, or an approved REVIEW, proceeds toward settlement. Each governed payment then carries a signed evidence record binding the policy that was evaluated, the result of that check, the constraints applied, an attested execution record and the settlement artifacts. AWS and Solv Labs are explicit that this record does not establish that the agent's underlying decision was wise, that the counterparty was solvent, or that the policy itself was correct. It establishes a narrower claim: that this specific payment was evaluated under this specific policy and these specific constraints before it was allowed to settle. A separate AWS implementation published on August 17, 2026, written with the OpenClaw Foundation, shows the layer underneath it. A human provisions the wallet and creates the payment session through a trusted administrative path, setting approved origins and recipients, the network and asset, a per payment ceiling, a cumulative session budget and an expiry. The model facing runtime is exposed two tools, one to read the session status and one to pay for an approved URL, and AWS states it cannot create, extend or replace a session. So an OpenClaw agent configured this way can make payments without a human confirming each one, but it cannot give itself a larger budget. AWS also states the design does not prevent prompt injection. It assumes the model can be manipulated and bounds the payment authority the runtime holds. These are two specific implementations. Neither is default behavior for every agent using the underlying payments service. Separately, an Internet-Draft submitted to the IETF OAuth Working Group, Agent Authorization use cases and gap analysis, revision 02, dated August 12, 2026, argues that the authority an OAuth grant establishes and the evidence that one specific high risk action was authorized are different things, terms the draft calls grant layer authority and execution layer evidence. It is an individual submission, not a working group adopted document, an RFC or an IETF standard. A research preprint posted to arXiv on August 18, 2026, PACE, or Policy Attested Contract Execution, takes the question one layer lower. It proposes typed transaction intents, a deterministic policy verifier that never consults the model, and a signed Policy Decision Record that binds the approved intent, the policy and a pre execution simulation to the exact execution bytes, re checked on chain by a smart account before any external call. In the authors' deterministic benchmark, 40 tasks and 2,800 trials over 10 seeds, it reports a 0.00 unsafe execution rate against 0.80 for the unguarded baseline, at a measured 29,826 to 31,822 gas per transaction. The authors describe their claims as logic level safety inside a reproducible benchmark rather than deployment ready decentralized finance security, state that the record binds transaction fields rather than economic outcomes, and note that transactions which stay inside the policy and are still harmful, including a multi step drain, are admitted by their system and every baseline they tested. It is a preprint, not peer reviewed, and its artifact is anonymized for review with the repository stated as open sourced upon acceptance. Commercial card infrastructure is now encoding the same boundary at the credential itself. Rain, a stablecoin payments infrastructure company, announced its Agent Control Layer in beta on June 9, 2026: agents spend through scoped virtual cards described as locked to a specific merchant, amount and task, with merchant category allowlists, approved merchants or recipients, transaction amounts, frequency, spend intervals and card expiry configured before the agent acts, program level caps on active cards and aggregate spend, and the same category of parameters, approved counterparties, amounts, frequency and timing, applied across its money movement products. Rain states these rules are enforced at card issuance and transfer initiation rather than after the fact, that a transaction outside them does not proceed, and that changes to configured payment terms require explicit action by a human administrator, which is configuration authority, not per transaction approval. The control layer is in beta by Rain's own description, its statement that agents have been transacting on its infrastructure in production for months is vendor reported, with one named partner, Sponge, corroborated from both sides, and no public artifact demonstrates a transaction being declined. On August 18, 2026, Rain also launched the Agentic Payments Alliance, a working coalition of more than 25 companies including Visa, Mastercard, Fiserv, Circle, Solana and Remitly, whose members will set its charter and mission together and whose named focus areas include agent authorization. It has published no standard, specification or repository, and membership does not establish that any member uses Rain's products. AgentCore payments itself reached general availability on August 18, 2026, six days after the Solv Labs post above and one day after the OpenClaw walkthrough, adding Machine Payment Protocol and an upto scheme alongside x402, a Coinbase credential Quick Create flow, a curated Bazar MCP server and availability in four AWS Regions, without changing the underlying authority architecture. AWS's IAM documentation for the service names four roles: ControlPlaneRole administers the service, ManagementRole configures sessions and payment instruments and carries an explicit Deny on ProcessPayment in AWS's own example policy, ProcessPaymentRole executes payments, and ResourceRetrievalRole is assumed by the service itself, not a customer identity, to read session and credential state at runtime. On the IAM actions AWS documents, ProcessPaymentRole cannot create, modify or delete a session, so it cannot enlarge the budget it spends against. That separation is a customer configured IAM pattern AWS documents and recommends, not a restriction the service enforces regardless of how an account's IAM is set up. PaymentSession's own documented fields are a cumulative maxSpendAmount, a currency and an expiry, checked before each payment is signed, with a failed signing attempt not consuming the budget. A per payment ceiling, a recipient allowlist and network or asset restrictions are not documented as native PaymentSession fields and appear instead in the OpenClaw plugin's operator policy layer, which checks the requested resource's origin and path, network, asset, recipient and amount before it calls ProcessPayment. What happens to an in flight or already settled payment when a session is deleted is not addressed in AWS's public documentation and is left undocumented here rather than assumed.

Update, 17 August 2026: AWS has published a second implementation, written with the OpenClaw Foundation, that shows how the payment authority itself is handed over. A human provisions the wallet and creates the spending session in a trusted administrative terminal. The agent can then pay inside that session without asking anyone each time, and AWS states it cannot create, extend or replace the session that defines its limits. That new evidence is in the section near the end. The original analysis below is unchanged.
Update, 20 August 2026: A new IETF OAuth Working Group Internet-Draft, Agent Authorization use cases and gap analysis, revision 02, dated 12 August 2026, argues that the authority an authorization grant establishes and the evidence that one specific high risk action was authorized are two different things, terms it calls grant layer authority and execution layer evidence. The draft is an individual submission, not a working group adopted document, an RFC or an IETF standard. What it says, and how it connects to the payments evidence above, is in a new section near the end. The original analysis below is unchanged.
Update, 20 August 2026: A separate research preprint, PACE, posted to arXiv on 18 August 2026, asks whether an authorization decision is still bound to the exact transaction that reaches execution, and answers it with a signed record re checked on chain. What the paper demonstrates, what its authors explicitly refuse to claim, and why that distinction matters more than the benchmark numbers, is in a new section near the end. The original analysis below is unchanged.
Update, 20 August 2026: Rain, a stablecoin payments infrastructure company, has been offering what it calls an Agent Control Layer in beta since June 9, 2026: spending authority scoped into the card credential itself, by merchant, category, amount, interval and expiry, with changes to configured terms reserved to a human administrator. On August 18 it launched the Agentic Payments Alliance, a coalition of more than 25 companies including Visa and Mastercard, with agent authorization among its named focus areas and no standard published yet. What is established, what is vendor reported and what remains unknown are in two new sections near the end. The original analysis below is unchanged.
Update, 24 August 2026: AgentCore payments reached general availability on 18 August 2026, six days after the Solv Labs implementation analysed below and one day after the OpenClaw walkthrough. AWS's IAM documentation names the exact role architecture that walkthrough described only functionally: a ControlPlaneRole that administers the service, a ManagementRole that configures payment sessions and instruments but carries an explicit Deny on ProcessPayment in AWS's own example policy, a ProcessPaymentRole that executes payments, and a ResourceRetrievalRole the service itself assumes to read session and credential state at runtime. What that separation is, and is not, and what a PaymentSession does and does not constrain on its own, is in a new section near the end. The original analysis below is unchanged.

An AI agent can already spend real money without a person clicking confirm on the specific transaction. That capability existed before August. What changed on August 12, 2026 is narrower and, to me, more interesting: a description of what it would take to prove, after the fact, that one specific payment was authorized before it happened, rather than merely logged once it did.

The agent can already pay

Amazon Bedrock AgentCore payments launched in preview on May 7, 2026, built with Coinbase and Stripe. AWS's announcement described a managed payments layer that lets an agent running on AgentCore autonomously pay for the things it needs mid task: a paid API, an MCP server, a data feed, a piece of web content behind a paywall. Payments run over x402, an open protocol built around the HTTP 402 Payment Required status code, with Coinbase and Stripe or Privy providing the embedded stablecoin wallets that actually move value. Coinbase's own announcement confirms the same launch, the same date and the same role for x402. The first version targeted small, frequent transactions, the kind credit card rails were never built to clear economically. AWS has since said it expects the same rails to extend toward larger purchases, such as travel and merchant payments.

That is the capability. It is genuinely new, and it is worth stating plainly once and then moving past: software can now decide, mid task, to spend money, without a person approving that individual transaction first.

Moving money changes the evidence question

A model's bad answer can be corrected. Someone reads it, disagrees, and nothing outside the conversation has changed. A settled payment is different in kind. Value has left one account and reached another. If the transaction should not have happened, reversing it is a separate, harder problem than the decision to make it, and it may not be possible at all.

That difference is what makes an agent that can pay a sharper version of a question Moona Intelligence has been tracking across other domains all month: not whether an agent can technically reach an action, but whether anyone can later show why this specific action was allowed to happen. AgentCore payments answers the reach question. It lets an agent transact. It does not, on its own, answer the harder one.

The decision happens before settlement

That is the gap AWS's August 12 post addresses, in a piece written jointly with Solv Labs, a company building governance for agent payments, and reviewed with ICME Labs, which provides independent policy verification. The post walks through a workflow Solv Labs built on top of AgentCore payments in which a proposed transaction is authorized and evidenced before it is allowed to settle, not audited afterward.

The sequence, at a high level, is this. An agent proposes a payment. Before AgentCore payments will process it, the proposed transaction is evaluated by Solv's policy engine, which AWS and Solv Labs call ORACLE. ORACLE checks the proposed action against the applicable policy and returns one of two outcomes before any value moves: ALLOW, or REVIEW. A separate DENY path exists for proposed transactions that violate configured constraints outright, and it produces a signed refusal record rather than simply dropping the request. ICME Labs' verification layer checks that policy evaluation independently, so the result is not just an internal assertion from Solv's own system. Only once a transaction has cleared that authorization step does settlement proceed.

The order matters more than any individual control in it. The policy check happens before the money moves, not after. A transaction that fails it does not settle and does not get a second chance to settle quietly.

I am deliberately not walking through the cryptographic mechanics ICME Labs uses to make that check independently verifiable, or the internals of how Solv Labs attests execution inside AWS infrastructure. Those are implementation details, not the point. The point is the ordering: authorization and its supporting evidence are produced as part of the same step that decides whether the transaction goes through, not reconstructed from logs after the fact by someone trying to figure out what happened.

An audit log is not automatically proof of authorization

This is where I think the distinction is easy to blur, so it is worth stating carefully in Moona Intelligence's own words rather than AWS's.

A log entry that says a payment occurred, for a given amount, to a given counterparty, at a given time, is a record of an event. It is valuable. It is also, by itself, silent on the question that actually matters when something goes wrong: was this specific transaction supposed to happen under the rules that applied to it? A log can be reconstructed after the fact from whatever the system happened to write down. It tells you what the system did. It does not, by construction, tell you what authorized it to do that.

What the Solv Labs workflow adds is not more logging. It is a record produced at the moment of authorization itself, binding the specific policy that was evaluated to the specific transaction it was evaluated against, before that transaction was allowed to settle. That is a structurally different kind of evidence than an after the fact trail, and it is worth being precise about why: one answers what happened, the other answers why it was allowed to happen, and a system can have plenty of the first without ever producing the second.

The record does not prove the decision was wise

AWS and Solv Labs are careful not to overclaim what this evidence establishes, and that limitation deserves to be preserved exactly, not rounded up into something bigger.

The evidence record does not establish that the agent's underlying decision to make the payment was a good one. It does not establish that the counterparty receiving the funds is solvent or legitimate. It does not establish that the policy the transaction was checked against was itself a correct or reasonable policy. Those questions remain the operator's responsibility, exactly as they would for any other payment a business makes.

What the record does establish is narrower and more specific: that this particular payment was evaluated against this particular policy, under these particular constraints, and that the result of that evaluation is what authorized it to settle. That is a real and useful claim. It is also a bounded one, and the boundary is the whole point. An evidence record that proved the underlying business decision was wise would not be evidence of authorization anymore. It would be a claim about judgment that no automated check can actually make.

Financial authority needs scope too

AgentCore payments itself, independent of anything Solv Labs built, already constrains what an agent can spend without a person in the loop. A payment session, the scoped context an agent transacts within, carries a configurable spending limit and an expiry. AWS documentation describes these session windows running from as little as fifteen minutes to as long as eight hours. Once either boundary is reached, whichever comes first, further payment attempts within that session are denied before the agent's request is ever signed.

What matters editorially is where that check runs. AWS states these limits are enforced deterministically at the infrastructure layer, outside the agent's own code, specifically so that a prompt injected instruction cannot talk the agent into spending past its cap. That is a scope control, not a wisdom control. It bounds how much authority an agent's payment session carries and for how long. It says nothing about whether any individual payment made inside that boundary was the right one to make. Scope and authorization are two different layers, and AgentCore payments and Solv Labs' workflow sit at different ones: one bounds what is possible, the other evidences what was decided.

Evidence belongs at the decision boundary

None of this is unique to payments, and it is worth placing next to what Moona Intelligence has already written about the same underlying question in other domains this month.

Robinhood already established that agents can be given the authority to move real money, with account isolation, spending caps and an approval gate around the trades and purchases an agent places. That is the authority question: whether software gets to act on an account at all. This is a different question, sitting one step further along: once an agent has that authority, what evidence exists for the individual decision to use it, on this transaction, at this moment.

SAFE, the incident reporting framework proposed by the Open Secure AI Alliance, is about preserving evidence so an agent security incident can be reconstructed afterward: prompts, traces, tool calls, permissions, all gathered once something has already gone wrong. The Solv Labs workflow is not a reconstruction tool. It produces its evidence as part of the authorization step itself, before the transaction executes, whether or not anything ever goes wrong.

AWS's own healthcare architecture separates whether an agent can technically call a submission tool from whether it should be allowed to submit a specific consequential decision, and answers the second question with a human approval step. The payments workflow answers a related but distinct question for a different kind of consequential action: not who has to approve it, but what can be shown afterward about why the automated check let it through.

Put together, those three pieces sketch what a trustworthy answer to a consequential agent action should be able to say: what action was proposed, which authority applied to it, what decision was made, whether a human review was required, and whether execution actually followed that decision. AWS, Solv Labs and ICME Labs never use that framing. It is Moona Intelligence's reading of what their implementation, for one class of action, actually produces.

The agent can spend. It cannot give itself a bigger budget.

On August 17, 2026, AWS published a second post on the same payments service, written as a collaboration with the OpenClaw Foundation, by Daniel Wirjo, Isaac Lin, Madhu Samhitha Vangara, Patrick Erichsen, Chethan Shriyan and Peter Jiang. It walks through connecting OpenClaw, an assistant that runs locally through a gateway, to AgentCore payments using an AWS published plugin. Read as a tutorial it is a configuration walkthrough. Read as a governance document it is something more useful: an account of who holds which piece of financial authority, and where the line between them sits.

AWS describes the split plainly. A human provisions the wallet, creates the payment session, approves recipients and sets the budget through a trusted administrative path, in an interactive terminal where wallet provider credentials are entered and stay. The same human path sets the network and asset scope, a maximum for any single payment, a cumulative budget for the session and an expiry. Administration and runtime use separate IAM roles, and AWS says the runtime role needs only the read operations required for session status plus the payment call itself, and must not carry session write permissions. The signed payment proof is not returned to the model.

What the model facing runtime gets is deliberately small: two tools, one that reports whether the configured session is usable and what remains of its budget, and one that requests an approved paid URL and completes the payment inside the configured policy. AWS is explicit that the runtime can initiate a payment within the approved session but cannot create, extend or replace a session. The plugin documentation in the AWS repository says the same thing in its own words: no setup at runtime, and no replacement sessions. If the session expires or drains, a human uses the trusted administrative path to create a new one.

Note what this is not. It is not a human confirming each transaction. Inside the envelope the agent pays on its own, without pausing. The human decision happens once, in advance, about the shape of the envelope, and again only when the envelope needs replacing.

That distinction is the part I think is being missed in the coverage. Everyone is talking about agents finally being able to pay for things without stopping for a person. What strikes me is the other half: AWS did not give the agent any authority over how much authority it should have. Autonomy and unlimited authority are being treated as separable, and they are separable. A bounded execution envelope can be delegated in advance, the agent can act freely inside it, and the mechanism for enlarging it can sit somewhere the agent cannot reach. Authority to act is not the same thing as authority to grant yourself more authority. That framing is Moona Intelligence's reading, not language AWS or the OpenClaw Foundation use.

AWS is also careful about what this does not solve, and the caveat deserves to survive intact. The design does not prevent prompt injection. AWS states it assumes untrusted input can manipulate the model, and bounds the payment authority available to the runtime by recipient, asset, network, per payment amount, session budget and expiry. Paid content returned to the agent is capped and marked untrusted precisely because a publisher can put instructions in it. The claim is not that the model stays honest. It is that the financial consequence of the model failing is bounded independently of whether it does.

And a bounded envelope still says nothing about whether an individual purchase inside it was a good idea. A payment can sit comfortably under every configured limit and still be the wrong payment to make. That is exactly the gap the Solv Labs workflow addresses at a different layer, by evaluating the specific proposed transaction against policy and binding the result to it. One layer decides how much authority the agent holds. The other decides whether this particular use of it was allowed, and leaves evidence that it was. Neither substitutes for the other.

Two more caveats worth stating. This is one implementation pattern for one assistant, not a description of how every OpenClaw agent or every AgentCore payments deployment is configured. And the walkthrough is built around a testnet endpoint, with a production network mentioned as the alternative. What it establishes is that the pattern exists and is documented by the vendor, not that it is universal.

Permission to Act Is Not Evidence of the Decision

On 12 August 2026, the same day AWS and Solv Labs published the payments workflow above, revision 02 of a separate document reached the IETF OAuth Working Group mailing list: Agent Authorization use cases and gap analysis, authored by Meiling Chen, Jia Chen, Jiankang Yao, Yuning Jiang and Chunchi Peter Liu. It is an Internet-Draft, and its own status page states plainly what that means. It is an individual submission, not a document the OAuth Working Group has adopted. It is not an RFC and not an IETF standard. It is a work in progress, and several issues raised against it were still open and deferred to a future revision at the time of this update.

The draft is fair to OAuth, and that is worth stating precisely rather than rounding up into something louder. Its own gap analysis walks through what OAuth scopes, Rich Authorization Requests, DPoP, token exchange, Transaction Tokens and client metadata already do for an agent acting on a person's behalf. Token exchange and client credentials grants, it notes, already let an individual agent obtain a token, and Rich Authorization Requests can express fine grained permissions per request. The draft is not arguing that these mechanisms fail to authorize agents. Its argument is narrower. It says these mechanisms establish what it calls grant layer authority: the permission set created at authorization time, usually expressed as scopes, describing what an agent is allowed to do in principle. A Transaction Token, in the draft's own reading, proves that scope was granted for a task. A DPoP proof shows that the client holding a particular key presented the token. Neither one, the draft argues, carries a record that a person approved the specific parameters of the one action actually taken under that authority.

The draft illustrates the distinction with a personal assistant booking example. A token can establish that an agent has general authority to make bookings on a person's behalf. That is grant layer authority, and the draft credits existing OAuth mechanisms with expressing it reasonably well. What it says is missing is execution layer evidence: a durable, non repudiable record, produced at the moment one specific high risk action executes, binding the exact parameters of that decision, in the draft's own example a particular venue, a specific price and a specific date, to a person's actual consent. A valid token proving general booking authority, on the draft's reading, does not by itself prove a person authorized that specific booking at that specific price.

The draft applies the same distinction to two further scenarios, used here only because they show the pattern is not specific to payments. In a multi agent insurance claims process, where separate agents handle intake, verification, adjudication and payment, the draft argues the final payment action needs execution evidence binding the specific amount and recipient to the full delegation chain and the original claim, not only a token proving the paying agent held authority to pay something. In an automated security incident response scenario, its example is a containment action such as isolating a specific host, it argues that action needs a record binding the agent's identity, the exact action taken, the policy that justified it and a timestamp into one verifiable artifact, not only proof the agent held a valid credential.

The mailing list activity around this revision is contributor discussion, not working group consensus, and should be read that way. In one thread, a contributor suggested folding a related scenario into an existing use case, while the draft's lead author proposed treating it as its own standalone use case and asked for contributed text in that shape. Six issues remained open against the draft at the time of this update, including one bearing directly on execution evidence, and were deferred to a future revision. That is ordinary for an early stage Internet-Draft. It also means the exact wording of grant layer authority and execution layer evidence should be read as a proposal still being argued over, not as settled OAuth Working Group output.

This draft is not the only one working this ground. A separate individual submission, AI Agent Authentication and Authorization, lists contributors affiliated with AWS, Zscaler, Ping Identity, OpenAI and Okta, and proposes applying existing WIMSE and OAuth mechanisms to agent identity rather than defining new protocols. Another, Agent Operation Authorization, proposes a structured token an authorization server issues only after a person confirms a specific proposed operation. None of this is one coordinated standard, and an author's listed employer is not that company's endorsement of a draft it did not itself publish. What the pattern across several independent submissions shows is that more than one group of contributors is now working on what a token proves once an agent, not a browser, is the one presenting it.

Read against the payments workflow above, the draft's distinction lands on ground this piece has already covered, under unfamiliar language. AgentCore payments and the OpenClaw session both describe a grant layer: a spending session, an approved origin list, a budget and an expiry, authority established in advance. Solv Labs' ORACLE evaluation, checked independently by ICME Labs and bound to one proposed transaction before it settles, functions as execution layer evidence in substance, even though AWS and Solv Labs never use that term. The Internet-Draft did not create that pattern. What it adds is a shared name, now being argued over inside the OAuth Working Group, for the boundary this piece has described since 12 August: a valid grant establishes that an agent may act. It does not, by itself, establish that this specific action was the one a person actually authorized.

What remains unknown is worth stating plainly. Whether the OAuth Working Group adopts this draft, whether its terminology survives into a later revision, and whether any vendor builds execution layer evidence the way the draft describes are all open questions. Moona Intelligence is not aware of any implementation, including the ones described above, that claims to satisfy this draft's proposal, and none is claimed here.

Can an approved transaction change before it executes?

Everything above happens off chain, in a payments service or a policy engine. A preprint posted to arXiv on 18 August 2026 asks the same question one layer lower, where the money actually settles, and it asks it in the sharpest possible form: is the thing that was approved still the thing that executes?

The paper is PACE, short for Policy Attested Contract Execution, by Rabimba Karanjai, Yang Lu, Richard Williamson, Hemanth Hm, Prakhar Mehrotra, Lei Xu and Weidong (Larry) Shi. The listed affiliations are the University of Houston and PayPal, with the corresponding author holding both. It is arXiv 2608.17220, version 1, filed under Cryptography and Security, released under a CC BY NC ND 4.0 license. It is a preprint. It is not peer reviewed, it carries no venue in its metadata, and nothing in it claims acceptance. I read the full paper directly rather than relying on the abstract.

What PACE proposes sits between a language model that plans a decentralized finance transaction and the chain that executes it. The paper describes three parts. Every proposed action is reduced to a typed transaction intent: target, value, calldata, approvals, slippage. A deterministic policy verifier evaluates that intent, plus a pre execution simulation of it, against a user defined policy, and the paper is explicit that the verifier never consults the model. The decision is then written into a signed Policy Decision Record, which the authors call a PDR, binding the approved intent, the policy and the simulation report to the exact execution bytes, with nonce based replay protection and an expiry window. A Solidity smart account recovers the signature on chain and re checks the chain identifier, the account, the target, the value, the calldata hash, nonce uniqueness and the validity window before it makes any external call. The authors summarize their own design in one line: the model proposes, the verifier disposes, and the chain enforces.

The reason this belongs in this article rather than in a separate one is the failure it is built around. The paper's own worked example is a transaction that passes simulation and policy, and then has its bytes changed before submission. A guard that applies the same policy and the same simulation but omits the hash equality check admits it. That is the single attack the paper reports its simulation only baseline missing, and it is the clearest statement I have read of the gap this piece has been circling since 12 August: an authorization decision that is not bound to the exact action it authorized is a decision about something that no longer exists.

The evaluation, stated as the paper states it. Forty tasks across four attack categories plus benign utility, six baselines other than PACE, 2,800 trials over 10 seeds, run in the authors' deterministic sandbox. In that sandbox PACE reports a 0.00 unsafe execution rate and a 0.00 false positive rate on benign tasks, against 0.80 unsafe execution for the unguarded baseline. Ablations put the dominant safety factor not in the cryptography but in the policy itself: a permissive policy configuration raises unsafe execution by 57.5 percentage points, and removing the touched contract allowlist adds 12.5. Removing the calldata binding adds 2.5 points, and frees exactly the calldata mutation task. On chain, the authors measure PDR verification at 29,826 to 31,822 gas per transaction, which they note is 91.7 percent relative overhead on an approval and 50.5 percent on a swap. A local EVM case study in Foundry passes 11 of 11 smart account cases, including calldata mutation, target mutation, replay, expiry and wrong verifier rejections. A three model live evaluation over the same task suite, 595 trials in total, reports a guarded attack success rate of 0.000 for all three models, and, unlike the sandbox, benign false positives between 5.0 and 12.8 percent, which the authors attribute to model and parser variance.

Now the limits, because they are the most useful part of the paper and the part most likely to be dropped in summary. The authors write that their evaluation uses a simplified in memory simulator and a regex based mock model, and that results demonstrate logic level safety properties that should not be extrapolated to live chains or adaptive adversaries without further evaluation. They frame their claims, in their own words, as logic level safety within a reproducible benchmark rather than deployment ready decentralized finance security. They state the PDR is not outcome binding: the contract does not replay the simulation on chain, so a transaction approved in one chain state can execute in another with different prices or reserves. They state that soundness depends on the checked fields being reconstructed from decoded calldata by trusted code rather than taken from the model. A mainnet fork harness ships with the artifact, and the paper explicitly makes no fork result claims unless the corresponding result files are generated. And in the adaptive adversary study, PACE blocks 8 of 8 evasion attempts by an attacker who knows the policy, while PACE and every baseline admit 8 of 8 transactions that stay inside the policy and are still economically harmful, among them a five leg drain whose individual legs each sit under the cap. The authors call that a non guarantee by design: the system enforces the declared policy, one transaction at a time, and they leave multi step composition to future work.

Artifact status matters here too, and it is easy to get wrong. The paper says an anonymized artifact accompanies the submission for review, containing source, contracts, task definitions, raw result files, Foundry logs and live model traces, and that the repository will be open sourced upon acceptance. So the design is documented and the results are stated as reproducible by reviewers. There is no public repository to read at the time of writing, no license on code, no deployment and no production adoption. Documented design, review artifact, benchmark demonstration and production use are four different things, and only the first two are established here.

Read against the rest of this article, PACE is the same argument arriving from the opposite end. AWS and Solv Labs govern a payment before it settles and leave a signed record of that governance. The OAuth draft argues that a grant proving general authority is not evidence that one specific action was authorized. PACE takes the narrowest slice of that problem, a single on chain transaction, and asks whether the decision survives contact with execution, then answers with a hash. That is a narrower question than the one sequence level authorization work asks about compositions of individually permitted actions, and the paper says so itself by admitting the multi step case. It is also narrower than the general problem of where agent authority is actually enforced. Moona Intelligence reads it as one specific, evaluated instance of a pattern this publication has been describing in prose: user policy, then an explicit action intent, then a deterministic decision, then signed evidence of that decision, then verification at the moment of execution, then an irreversible financial effect. The authors do not use that framing, and it is not attributed to them.

What I would not take from this paper is a claim that agent payments are now safe. The paper does not say that, and says several times that it is not saying it. What I would take is smaller and harder to argue with: a prior approval, a passing simulation or a valid policy decision is not authorization of whatever eventually executes, unless something binds the two together and re checks the binding at the point of no return.

The limits are written into the card itself

On June 9, 2026, Rain, a stablecoin payments infrastructure company that issues cards as a principal member of Visa and Mastercard, announced something it calls the Agent Control Layer: controls, embedded across its APIs, over how AI agents spend on cards and move money on behalf of users. That announcement is two months older than the update you are reading. What put it in this article is August 18, when Rain launched a coalition around the same questions, covered in the next section. The product evidence deserves to be read first, and read precisely, because Rain's own material is unusually specific about where its controls sit, and because everything in this section is Rain's own description unless stated otherwise.

The dimensions Rain describes will look familiar from everything above. Through its APIs, a partner configures acceptable merchant category codes, approved merchants or payment recipients, transaction amounts, transaction frequency, the number of agent cards active at any one time, and card expiry. At the level of an individual agent, a user defines what the agent can do before it acts: transaction amounts, merchant and category allowlists, spend intervals, expiry. At the program level, a platform caps the number of active cards and sets aggregate spend limits across its whole user base. And because Rain's platform also moves money outside cards, through virtual accounts, onramps, offramps and fiat and stablecoin payments, Rain states the same category of parameters applies to those flows too: approved counterparties, amounts, frequency and timing, defined before an agent is permitted to act.

The mechanism for agent spending is the scoped virtual card: a card issued for a purpose, which Rain describes as locked to a specific merchant, amount and task. Its worked example is an agent issued a card for a single booking, limited to approved airlines or hotels, capped at a set amount and restricted to a defined window. Outside those parameters, Rain states, the card does not transact.

Where the enforcement sits is the part worth reading twice. Rain states its parameters are enforced at card issuance and transfer initiation rather than applied after the fact, so that by the time a transaction is attempted the governing rules already exist, and a transaction that falls outside them does not proceed. That is the same ordering this article has traced through every other implementation: the constraint is in place before the money moves, not reconstructed afterward.

Now the precision about what has actually been established, because this section would be worthless without it. All of the above is Rain's account, in its announcement and product pages. I could not inspect Rain's API documentation directly for this update, so which parameters the API actually exposes, and what a rejected transaction returns, is recorded as the vendor's description rather than as independently confirmed technical behavior. No public artifact demonstrates a transaction being declined. And one piece of product language deserves particular care: Rain says agent cards are retired the moment the task is complete. Whether that retirement is an enforced lifecycle event or an operator practice, what triggers it, and whether a retired card can be reused, is not described in anything public I could reach. The claim is recorded here, and so is the gap.

Rain is also explicit about the human boundary, in one sentence that maps directly onto the OpenClaw pattern above: changes to those payment terms require explicit action by a human administrator. Its example is a business that lets agents pay vendors, restricted to approved vendors, on a defined schedule, for a defined amount. The same reading discipline applies here as everywhere else in this piece. That sentence describes configuration authority, not per transaction approval: inside the configured limits the agent pays without a person confirming each transaction, and nothing in Rain's public material says otherwise. Who qualifies as an administrator, how that person authenticates, and whether an agent can request a change that a human then approves are not publicly documented. What the sentence does establish, as a stated design commitment, is the separation this article keeps finding: the agent spends inside an envelope, and the envelope is changed somewhere the agent is not.

Then the status question, because Rain's announcement holds two claims side by side and they should not be collapsed. The Agent Control Layer is, in Rain's own words, available in beta. The same announcement calls it production ready infrastructure, and states that agents have already been transacting on Rain's rails in production for months, booking travel, subscribing to software, running procurement workflows and moving money. Read carefully, the two claims describe different layers. The card issuing and money movement rails are Rain's existing business and predate the agent framing. The Agent Control Layer, the branded control surface over those rails for agents, is the part in beta. The production claim about agents is vendor reported. Rain names one partner, Sponge, a Y Combinator backed company issuing agent usable virtual cards against a user's stablecoin balance, and Sponge's own site confirms the relationship from its side, describing its card as issued by Rain. Beyond that, I found no named customers, case studies, transaction figures or independent reporting of agent activity on Rain's infrastructure. Months of production agent transactions is Rain's statement, corroborated only to the extent that Sponge exists as a live partner, and nothing more is claimed here.

What Rain's public material does not describe is the other half of this article. Scope, configuration and expiry, the grant layer in the OAuth draft's vocabulary, are specified in unusual commercial detail. What is absent is execution layer evidence: a record, produced when a permitted transaction goes through, of which configured constraints it was evaluated against and why it was allowed. Visibility and monitoring appear in Rain's material. A signed record of the authorization decision does not. That is not a verdict on a product I could not fully inspect. It is a map reference: as publicly described, the Agent Control Layer is the most specific commercial statement this article has covered of authority scoped into the payment credential itself, and it sits on the scope side of the line this piece has been drawing, not the evidence side.

More than twenty five companies, and no standard yet

On August 18, 2026, Rain announced the Agentic Payments Alliance, and that announcement is the reason this update exists. The founding membership is not small: more than 25 companies, including Visa, Mastercard, Fiserv, Circle, Solana and Remitly, alongside payments, fraud and issuing infrastructure firms such as Chainalysis, Fireblocks, Lithic, Sardine, Shift4, Turnkey and Uniswap Labs. American Banker and PYMNTS both covered the launch the same day, which matters here: unlike the June product announcement, whose trail is mostly the press release itself, the Alliance has independent reporting behind it.

What the Alliance is should be stated exactly, because the temptation to round it up is strong. Rain describes it as a working coalition, run collectively by its founding members, who will set its charter and mission together rather than have one company own it. American Banker reports that the member firms joined to work toward standardizing authorization and other risk management functions for agentic commerce, and that the group's early work is expected to involve shared research and frameworks, experimenting with emerging standards for agent identity and authorization, and advocacy on the regulatory questions agentic commerce raises. Rain's co founder and chief executive, Farooq Malik, put the motivation in one sentence: no single company should get to decide how agents transact on someone's behalf.

Now the list of things the Alliance is not, as of this update. It is not a standards body. It has published no standard, no technical specification, no repository and no interoperability test. Its charter, by Rain's own description, does not exist yet: the members will write it. Agent authorization is a named focus area, which is exactly why the Alliance belongs in this article, and a named focus area is a statement of intent, not an artifact. One inference should be refused outright: Visa, Mastercard, Fiserv and Circle joining a coalition Rain convened establishes nothing about whether any of them use, or ever will use, Rain's Agent Control Layer. Membership is not adoption, and Rain's materials do not claim it is.

Read against the rest of this piece, the Alliance belongs to the same pattern as the Internet-Drafts a few sections up: the authorization question has reached the stage where organizations that do not otherwise coordinate are creating venues to argue about it. Several unrelated draft author groups at the IETF, a governed payments implementation, a research preprint, and now a payments coalition whose stated early work includes authorization. None of these artifacts is a standard. What they establish together, and this is Moona Intelligence's reading rather than anything Rain says, is that the market has stopped treating an agent's access to a payment rail as the end of the design, and started treating the boundaries of the agent's authority on that rail, which counterparty, what amount, what task, what window, how often, as infrastructure to be built before the transaction happens and argued over in public. Who ends up owning that boundary, the card issuer, the network, a protocol or the operator, is precisely what a coalition like this exists to contest.

Four roles, and which one can enlarge its own authority

On 18 August 2026, AWS announced that AgentCore payments is generally available, six days after the Solv Labs implementation above and one day after the OpenClaw walkthrough. The underlying capability does not change at general availability: agents still pay over x402 for APIs, MCP servers and paid content, still through Coinbase and Stripe Privy embedded wallets. What AWS adds at this stage is documented support for the Machine Payment Protocol and an upto payment scheme alongside x402, a Quick Create flow for Coinbase credential provisioning inside the AgentCore console, a curated Bazar MCP server of pay per use x402 endpoints, and, per AWS's Regions documentation, availability in four Regions: US East (N. Virginia), US West (Oregon), Europe (Frankfurt) and Asia Pacific (Sydney). None of that changes the authority architecture described above. It is the same service the May preview and the two August implementations were built on, now out of preview.

What general availability does add is AWS's own name for the architecture the OpenClaw walkthrough showed in practice without labeling it. AWS's IAM documentation for AgentCore payments describes four roles. A ControlPlaneRole administers the service at the account level. A ManagementRole configures payment managers, instruments and sessions, the identity a developer or a deterministic setup pipeline uses to provision the wallet and create a session, and in AWS's own example policy it carries an explicit Deny statement on the ProcessPayment action. A ProcessPaymentRole, scoped to the payment execution path, is the identity that actually calls ProcessPayment against a session's resources. A ResourceRetrievalRole is what the service itself assumes, not a customer identity, to read session and credential state at runtime. AWS states the reason for the split directly: separating management from execution means a single compromised identity cannot both create a session with an unbounded budget and execute payments against it.

Two things about that architecture are worth stating precisely, because each is easy to round up into something stronger than the documentation supports.

First, nothing in what AWS documents shows the ProcessPaymentRole able to create, update or delete a PaymentSession, create a payment instrument, change a limit, or replace a credential provider. Its documented scope is the ProcessPayment action plus the read operations needed to check a session's status. On the IAM actions AWS's own examples grant it, a role limited to that set cannot expand the budget it executes against. It can spend what a separate identity already authorized, and nothing beyond that.

Second, that separation is IAM the customer configures, not a constraint AgentCore applies to every account regardless of setup. The explicit Deny on ProcessPayment that keeps the ManagementRole from also executing payments is a statement in AWS's example policy, not a restriction the service enforces by default. A customer who attached ProcessPayment permission to the same role that manages sessions, or who granted one identity every permission across all four roles, would not be stopped by AgentCore itself from doing so. They would simply have configured the two functions AWS recommends keeping apart back into a single identity. AWS's documentation, and the OpenClaw walkthrough built on top of it, describe a genuine, well reasoned architecture for keeping authority to create a grant separate from authority to exercise it. Whether that separation exists in a given deployment depends on whether whoever configured IAM followed it. AWS recommends the architecture. It does not, on the evidence reviewed here, force it.

AWS's coding assistant integrations, including Claude Code, Kiro and Codex, can scaffold this IAM setup at development time. That a coding agent can write the policies is not evidence that the model facing payment runtime can rewrite them. The two live in different roles, at different times, on different sides of the line this architecture draws. Which identity and which code path hold the ManagementRole's permissions at the moment a payment runs is the boundary that actually matters, not who or what typed the setup script.

The same distinction between what the platform provides natively and what a deployment layers on top of it applies to PaymentSession itself. AWS's core concepts documentation for AgentCore payments describes a PaymentSession as carrying a maxSpendAmount, a currency and an expiry, and that budget is cumulative across the session's lifetime rather than a per payment allowance: each ProcessPayment call checks the remaining balance before a transaction is signed, and a failed signing attempt does not consume it. What the core service does not document is a native per payment ceiling, a recipient allowlist, or a network or asset restriction as fields of the PaymentSession object itself. Those constraints appear in the OpenClaw walkthrough and its aws-agents-pay plugin, which validate the requested resource's origin and path, the network, the asset, the recipient and the amount against an operator configured policy before it calls ProcessPayment. That check runs in the plugin, layered on top of the session budget and expiry AgentCore payments enforces natively. Crediting a recipient or network restriction to AgentCore payments itself, rather than to the policy an integration builds around it, would attribute the control to the wrong layer.

What happens to a session after it exists is also narrower than it might sound. DeletePaymentSession removes the session record, and AWS documents that further payment requests against a deleted session are denied, the same outcome as an exhausted budget or an expired session. Nothing in AWS's public documentation for AgentCore payments reviewed for this update describes what happens to a ProcessPayment call already in flight when a session is deleted, or whether a payment already signed and settled can be reversed. Settlement over x402 moves stablecoin value between wallets, and nothing in the documentation reviewed here claims that step is reversible once it clears. Where AWS's material is silent on revocation reaching an in flight or completed payment, this piece leaves the question undocumented rather than assuming an answer in either direction.

Read against everything above this section, general availability does not add a new authority question. It gives the question this article has been asking since 17 August a name AWS itself uses, and it narrows exactly one thing: whether the separation between creating a payment session and spending against it is something AWS's platform guarantees, or something AWS's platform makes easy to build and easy to get wrong. The documentation available says the second. The runtime cannot enlarge its own budget only if whoever set up its IAM roles built it that way.

End with the transaction

Everyone currently writing about AI agents is focused on the fact that they can now spend money. That fact is genuinely new, and it deserves the attention it is getting. What I think actually matters more is narrower and will outlast this particular product announcement: for a consequential agent action, the important question is not only what did it do. It is why was this specific action authorized to happen, and can anyone show that answer after the money has already moved.

Corrections and updates

: Added a section on draft-chen-oauth-agent-authz-use-cases-02, an IETF OAuth Working Group Internet-Draft dated August 12, 2026, which separates the authority an authorization grant establishes from the evidence a specific high risk action was authorized, terms it calls grant layer authority and execution layer evidence. The draft is an individual submission, not an adopted standard. Also added a section on PACE (arXiv 2608.17220v1, 18 August 2026), a preprint proposing signed Policy Decision Records that bind an authorization decision to the exact transaction bytes executed on chain, with the authors' own benchmark scope and stated limitations preserved. The original analysis of the AWS, Solv Labs and OpenClaw material is unchanged.

: Added two sections on Rain, prompted by its August 18, 2026 launch of the Agentic Payments Alliance. The first covers the Agent Control Layer, announced in beta on June 9, 2026, which Rain describes as scoping an agent's spending authority into the card or payment flow itself, by merchant category, merchant or recipient allowlist, amount, frequency, spend interval, active card count and expiry, enforced at card issuance and transfer initiation, with changes to configured terms reserved to a human administrator. The second records the Alliance as a working coalition of more than 25 companies with no published standard, specification or repository. Vendor claims, independently corroborated facts and unknowns are separated explicitly, and Rain's beta and production language is reported without collapsing the two. The original analysis of the AWS, Solv Labs, OpenClaw, IETF and PACE material is unchanged.

: Added a section on AgentCore payments reaching general availability on August 18, 2026, and on AWS's IAM documentation naming the four role architecture, ControlPlaneRole, ManagementRole, ProcessPaymentRole and ResourceRetrievalRole, that the OpenClaw walkthrough above described functionally without naming. The section states that the separation between the role that manages sessions and the role that executes payments is a customer configured IAM pattern AWS documents and recommends, not a restriction AgentCore enforces regardless of how an account is set up, and separates what PaymentSession constrains natively, a cumulative budget, currency and expiry, from what the OpenClaw plugin's operator policy layer checks on top of it, origin, path, network, asset, recipient and amount. It also records what AWS's public documentation does not state about revocation reaching an in flight or already settled payment, rather than assuming an answer. The original analysis of the AWS, Solv Labs, OpenClaw, IETF, PACE and Rain material is unchanged.

Sources

This analysis interprets third-party reporting, research and announcements. Moona is not the original reporter of the underlying events.

[1]
PACE: Policy-Attested Contract Execution for Safe AI Agents in Decentralized Finance (arXiv:2608.17220v1)
arXiv · Rabimba Karanjai, Yang Lu, Richard Williamson, Hemanth Hm, Prakhar Mehrotra, Lei Xu, Weidong (Larry) Shi · 18 August 2026 · Research
[3]
Agent Authorization use cases and gap analysis (draft-chen-oauth-agent-authz-use-cases-02)
IETF Datatracker · Meiling Chen, Jia Chen, Jiankang Yao, Yuning Jiang, Chunchi Peter Liu · 12 August 2026 · Technical documentation
[4]
draft-chen-oauth-agent-authz-use-cases, document history
IETF Datatracker · Technical documentation
[5]
draft-chen-oauth-agent-authz-use-cases-00.md
Maisy-ML/Agent-Authorization-Use-Cases, GitHub · Technical documentation
[6]
[OAUTH-WG] Fw: New Version Notification for draft-chen-oauth-agent-authz-use-cases-02.txt
OAuth Working Group mailing list archive, mail-archive.com · 12 August 2026 · Source
[8]
AI Agent Authentication and Authorization (draft-klrc-aiagent-auth)
IETF Datatracker · P. Kasselman, J. Lombardo, Y. Rosomakho, B. Campbell, N. Steele, A. Parecki · Technical documentation
[10]
Build OpenClaw agents that transact with Amazon Bedrock AgentCore payments
AWS Machine Learning Blog · 17 August 2026 · Technical documentation
[11]
OpenClaw Setup, aws-agents-pay skill reference
AWS Agent Toolkit for AWS repository, GitHub · Technical documentation
[12]
AWS Agents Pay plugin listing
ClawHub · Technical documentation
[15]
How AgentCore payments works
AWS Documentation · Technical documentation
[16]
[17]
[20]
Introducing the Agent Control Layer
Rain · 9 June 2026 · Company announcement
[24]
Rain, Visa, Mastercard build Agentic Payments Alliance
American Banker · 18 August 2026 · Journalism
[25]
[27]
[29]
IAM roles for AgentCore payments
AWS Documentation · Technical documentation
[30]
Core concepts for AgentCore payments
AWS Documentation · Technical documentation
[31]
Supported AWS Regions for Amazon Bedrock AgentCore
AWS Documentation · Technical documentation

Related Intelligence

All Intelligence Records →