Open Reader

Teaching agents to pay — Anna Spysz, Stripe

completed 19:10 Sep 01, 2026 Watch on YouTube

Current Status

completed

Video ID

A-zeQiYkmXk

RAG / Chat

Enabled
Teaching agents to pay — Anna Spysz, Stripe
Description

Anna Spysz asked her shopping agent whether the pricier headphones were really worth the difference, and it told her she would regret buying the cheap ones. When she said she needed to think about it, the agent got snarky with her. The cause was sitting in her own config: a persona whose system prompt opened with "You are an aggressive audio gear salesman who uses every trick in the book to close deals." Swapping it for a patient recording gear mentor produced an entirely different conversation out of the same tools and the same protocol. Her talk begins as a personal errand and turns into a working tour of what agentic commerce demands from both sides of a transaction. On the merchant side she shows why her favorite Portland record shop was invisible to her agent, then fixes it. Agents do not browse. They read a capabilities manifest declaring supported payment methods and endpoints, then parse a catalog and policies published as structured data rather than a page they would burn tokens on. Logging matters too: a record of which attributes drove a recommendation turns a catalog into evidence of how a decision got made. On the payments side she traces the shared payment token, where the agent receives a token instead of a card number, the seller unwraps only what it needs, and the payment provider enforces the limits rather than the agent or the merchant. She closes on a guardrail checklist covering disclosure of the AI, honoring stop and cancel, and capping any total at the ceiling the user set. Speaker info: - https://x.com/annaspies - https://www.linkedin.com/in/annaspysz - https://annaspysz.com/ Timestamps: 0:00 - Worn out headphones and a decade away from music 2:23 - The infrastructure for agent transactions arrives 3:13 - Agents discover products differently than people do 3:40 - UCP as a shared language for agents and merchants 4:34 - Demo: a budget left deliberately open 5:51 - The local record shop agents cannot see 7:09 - Manifest, structured catalogs,

Summary

Generated by gpt-5.6-terra

At-a-Glance

  • Verdict: Watch fully
  • Core thesis: Agentic commerce requires more than an agent that can recommend products: merchants need machine-readable commerce interfaces, agents need explicit behavioral guardrails, and payment authorization must be tokenized and enforced by a trusted payment provider.
  • Why it matters: This is a concrete reference architecture for allowing agents to transact while limiting deception, overspending, credential exposure, and unaccountable autonomous decisions.
  • Best use: Use it as a product-and-control-plane primer for any agent that will discover vendors, make recommendations, collect payment authorization, or execute purchases on a user's behalf.

Executive Summary

Anna Spysz frames agentic commerce as AI that can decide, act, and transact for a user, then demonstrates it through a personal headphone-purchasing agent. The central argument is that an agent cannot reliably shop from conventional human-oriented websites alone: it needs standardized, structured merchant data and transaction interfaces to discover products, compare policies, and execute checkout.

The merchant-side architecture presented is Universal Commerce Protocol (UCP), supported by a public merchant capabilities manifest, agent-ready JSON catalog and policy data, and decision logging. This is positioned as a shared language across agents and merchants rather than a bespoke integration for every store. Structured information is important not just for matching products, but also for evidence: merchants should be able to show which attributes caused an agent's recommendation.

The talk's strongest operational point is that the system prompt is a material product and governance surface. A deliberately aggressive salesperson persona produces pressure, urgency, and potentially manipulative buying behavior; changing it to a patient recording mentor produces a more trustworthy interaction. Spysz therefore proposes practical constraints around disclosure, cancellation, fee transparency, spend caps, dark-pattern prevention, and audit logs.

For payments, Stripe's Shared Payment Token model is presented as the trust boundary. The agent receives a token rather than a raw card number, passes it through the seller to the payment provider, and the provider—not the agent or merchant—enforces validity and transaction limits. The talk is partly a Stripe/UCP product narrative, but it offers a useful decomposition of agentic purchasing into discovery, decisioning, checkout authorization, and provider-enforced execution.

Key Takeaways

  • Claim: Agentic commerce needs standardized merchant-machine interfaces because agents discover and evaluate products differently from human web shoppers. | Evidence: Spysz says agents read structured data, parse text files, and use technical signals rather than visually browsing a merchant site; the demo agent cannot access Portland retailer Rainy Day Music's catalog until it is made agent-ready. | Implication: Any commerce-capable agent system should treat merchant integration and data normalization as first-class infrastructure, not assume that browser access to ordinary HTML will be sufficient. | Caveat: The talk presents UCP as the needed shared language but does not establish its level of current adoption, interoperability maturity, or whether it is the prevailing standard.
  • Claim: A merchant capabilities manifest and structured catalog/policy data are the minimum practical surfaces for agent discoverability and reliable recommendations. | Evidence: The proposed manifest is a publicly accessible JSON file under the website's .wellknown directory that declares store capabilities and API endpoints; catalogs and policies should expose only necessary structured JSON fields, including shipping and return information. | Implication: For a merchant or marketplace, expose a compact, versioned machine interface for inventory, price, availability, fulfillment, returns, and checkout capabilities rather than forcing agents to infer these facts from page content.
  • Claim: Agent recommendations must be auditable because merchant catalog data becomes evidence for why the agent selected a product. | Evidence: The speaker gives the example of two stores selling identical headphones at the same price where free-shipping policy determines the selection; she argues that structured attribute matches should be recorded in logs. | Implication: Build an event trail that connects user constraints, retrieved merchant attributes, ranking rationale, tool calls, authorization state, and final purchase outcome. | Caveat: Logging recommendation inputs does not by itself prove that an LLM followed them faithfully; it needs to be paired with explicit tool-call, policy, and transaction records.
  • Claim: The system prompt/persona is effectively an agent's customer-experience and ethics policy, and poor prompt design can turn a shopping agent into a manipulative salesperson. | Evidence: The demo's prompt, 'You are an aggressive audio gear salesman who uses every trick in the book to close deals,' leads the agent to push expensive products and react snarkily when the user wants to think; replacing it with a patient 'Recording Gear Mentor' changes the behavior and respects a $500 cap. | Implication: Separate conversational style from enforceable policy: use prompts for helpfulness and tone, but implement budget limits, approval requirements, cancellation, and prohibited persuasion patterns in deterministic control logic. | Caveat: Prompt changes alone are not dependable enforcement for financial or consumer-protection constraints; hard controls must sit outside the model.
  • Claim: A commerce agent should operate under explicit user-protection guardrails before it is allowed to transact. | Evidence: Spysz's checklist requires disclosure that the user is speaking with AI, up-front fee disclosure, a respected stop/cancel command, total transaction value no greater than the user's maximum amount, no urgency language or dark patterns, and logging of all decisions. | Implication: Convert this checklist into testable policy assertions and transaction gates, especially a spend ceiling enforced at authorization time and a final user confirmation before order placement. | Caveat: The checklist is explicitly non-exhaustive and does not address broader issues such as merchant conflicts, recommendation compensation, recurring purchases, identity verification, or dispute handling.
  • Claim: Shared Payment Tokens reduce credential exposure by ensuring the agent and seller handle a payment token rather than the user's raw card number, while the payment provider enforces authorization limits. | Evidence: In the described flow, Stripe returns a Shared Payment Token after payment-method collection; the agent passes it to the seller, the seller sends it to the provider, and the provider returns success or failure. The token can represent a card or wallets such as Google Pay and Apple Pay and can carry fraud signals and reputation data. Expired tokens or invalid amounts/currencies are rejected. | Implication: Design payment delegation around narrow, provider-enforced tokens with explicit amount, currency, merchant, expiration, and ideally single-use constraints; never rely on the agent's stated intent as the payment control. | Caveat: Tokenization limits raw credential exposure but does not eliminate risks from an agent selecting the wrong merchant, initiating an unwanted permitted purchase, or receiving overly broad token scope.

Detailed Brief

Reference transaction lifecycle

  • Claims: The agent interaction moves from requirement elicitation to product narrowing, fulfillment-data collection, payment-method request, explicit final confirmation, payment authorization, and merchant order confirmation.; Clarifying questions are presented as a feature of agentic commerce rather than friction: the agent asks about recording environment, existing mixer compatibility, and budget before suggesting headphones.
  • Evidence: The user initially leaves budget open-ended, later imposes a $500 ceiling, selects expedited shipping, and is asked again to confirm before the order is placed.; The agent's available commerce tools include actions such as requesting a payment method and completing checkout.
  • Caveats: The demonstration is a controlled happy path after the persona correction; it does not show recovery from inventory changes, shipping failures, payment disputes, returns, or conflicting merchant data.
  • Implications: Model purchasing as a stateful workflow with explicit transitions and confirmation checkpoints, not as one open-ended chat completion.; Keep irreversible actions behind a final approval state even when the agent has already gathered user preferences and payment authorization.

Agent composition model

  • Claims: The speaker decomposes an agent into an LLM 'brain,' tools or 'hands,' looping instructions that govern reasoning and tool selection, and a system prompt that defines persona and ethics.; Commerce tools span the transaction lifecycle rather than merely retrieval or recommendation.
  • Evidence: The talk explicitly uses the metaphor of a brain plus hands, with instructions repeatedly run while a condition remains true.; Examples of commerce tools include complete checkout and request payment method.
  • Caveats: This conceptual decomposition omits key production components such as permissioning, durable state, idempotency, retries, policy engines, fraud review, and observability infrastructure.
  • Implications: For implementation reviews, distinguish model reasoning from tool permissions and workflow orchestration; the latter two are where enforceable transaction safety should reside.

Notable Concepts & Terms

  • Agentic Commerce: The category defined here as AI that can decide, act, and transact on a user's behalf, not merely research or recommend products.
  • Universal Commerce Protocol (UCP): A proposed shared protocol through which agents and merchants initiate, update, complete, and cancel purchases across otherwise different merchant APIs.
  • Merchant Capabilities Manifest: A publicly accessible JSON declaration, located under .wellknown in the example, that tells agents a store's capabilities and API endpoints.
  • Agent-ready catalog: Structured, minimal JSON for products and relevant policies that supports filtering, ranking, comparison, and explainable recommendations.
  • Shared Payment Token: A tokenized payment credential returned to the agent instead of a raw card number, with enforcement performed by the payment provider.
  • Provider-enforced guardrails: Constraints such as token expiry and amount/currency validity that are checked by the payment provider rather than trusted to agent or merchant behavior.
  • System prompt as ethics policy: The framing that an agent's prompt materially shapes sales behavior and user trust, though it should not be the only safety mechanism.

Operator Notes / Why Ken Should Care

  • Create a transaction-policy layer outside the model that enforces maximum spend, allowed merchants/categories, currency, token expiry, user cancellation, and explicit final confirmation.
  • Require an auditable purchase ledger linking the user request, retrieved product and policy fields, recommendation/ranking output, tool calls, authorization token metadata, and order result.
  • If exposing a merchant-facing agent interface, define a machine-readable manifest plus normalized catalog, inventory, fulfillment, returns, and pricing endpoints before investing in autonomous checkout.
  • Red-team purchasing personas for pressure tactics, fabricated policy claims, budget circumvention, and failures to honor 'stop' or 'think about it' language.
  • Assess whether UCP and Stripe's Shared Payment Token semantics meet required constraints around token scope, merchant binding, one-time use, dispute handling, and delegated authorization before adopting them.

Source/Metadata

  • Title: Teaching agents to pay — Anna Spysz, Stripe
  • Transcript words: 3686
  • Duration seconds: 1150
  • Timestamp note: No timestamps or chapter markers were provided. The transcript repeats the latter portion of the talk, so the supplied word count includes duplicated content.

Transcript

2540 words en Processed in 118.9s

Hello. I'm sure this week you've seen a ton of talks on how to use agents to improve your workflows, whether that's shipping code or improving CI processes or answering the emails you don't want to bother reading. This is not one of those talks. Today I'm going to show you how I built an agent to help me reignite a personal creative passion I used to have. These are my headphones. They're not in the best shape, as you can see. And you're probably asking yourself, what do really old, crappy headphones have to do with agents and commerce? Well, to explain that, I'll get a little bit personal. So long before I was in tech, I used to play music. I was in a touring band, we recorded some albums, and then the usual thing happened where career and family got in the way. And I hadn't played music in probably a good decade. When I recently started playing again with some friends and we started recording our sessions, at that point I realized those would not do. So a normal person would have gone on YouTube or Reddit or whatever, done some research, then gone on Amazon or run over to Best Buy, bought headphones, right? I work at Stripe, though. So I decided instead that I'm going to build an agent to buy my headphones for me. And this isn't as crazy as it sounds, because one in four people have already been using AI to do their research when deciding what products to buy. I recently bought a mixer as well and went back and forth with a chatbot to narrow down the model. But that's research. Can I even get an agent to buy something for me, though? Does that infrastructure exist? Well, over the course of just a few years, we've seen the emergence, scaling, and broader adoption of AI. And then just in the past year, the infrastructure for agentic transactions has been laid down by companies like Google, OpenAI, and Stripe. And this has all led to the emergence of Agentic Commerce, which is AI that can decide, act, and transact on your behalf. Okay, so all of this sounds good. Agentic Commerce is a thing. So I'm going to build an agent to help me buy my new headphones. But how can an agent go shopping? When you or I are shopping, we may consider if a pair of headphones looks cool or professional. Of course, we'll probably consider the specs and whether the price is within our budget. But agents discover products differently than human shoppers. They read structured data, parse text files, and rely on technical signals to understand what a merchant sells and if it's even open to agent traffic. So to enable agents to shop, merchants need to speak their language. And for that, we need new protocols that agents understand. One such protocol is the Universal Commerce Protocol. Think of it as the shared language that agents and merchants speak when transacting, which defines how agents initiate, update, complete, and cancel purchases. A typical merchant has an API with schemas, authentication, and checkout flows. And for an agent to interact with that merchant, we need protocols like UCP to provide a shared language for that API. And UCP is designed to scale across multiple agents and merchants all speaking the same language. Okay. So I built my commerce agent. It's using UCP. And in this demo, I'm going to show off this agent. So I'm going to task it with buying new headphones for me. So I tell it that I need new headphones specifically for recording, mixing, and mastering music. And I get some follow-up questions from it, which is great. So it asks, what's the environment? What's my other equipment? And what's my budget? And I say, okay, this is for my home studio. I give it the exact model of mixer that I have to make sure everything's compatible. And for a budget, I leave it open-ended on purpose. Because first of all, it's been like 20 years since I bought headphones, so I have no idea. But second, I want to see how the agent deals with this ambiguity. Okay. So I get some options. But I remember that I actually forgot to tell you all an important part of the story. And that is that I live in Portland, Oregon. And we really love supporting our local shops. So I want to buy my headphones, but I want to do it from a local merchant. But today, most merchants are not ready for agentic commerce. And it turns out neither is my favorite shop, Rainy Day Music. So the agent tells me their catalog is not accessible. So how does a merchant become agentic commerce ready? Before I continue my shopping, I'm going to help Rainy Day Music get their catalog agent ready so that my agent can shop locally like a good Portlander. So agents don't browse websites the way we do. And while Rainy Day Music's website looks really nice for a human shopper, an agent is going to burn through a ton of tokens trying to parse through this. That is not the optimal experience for an agent. So how do we enable an agent to shop? Well, the first thing a merchant needs is something called a merchant capabilities manifest. This is basically a publicly accessible JSON file located in the root of the website in a folder called .wellknown. Agents know specifically to look for that directory. And it declares the store's capabilities and API endpoints. Next, we need to make the store's catalog agent ready. Because agents filter, rank, and justify products when making recommendations. And that means they need structured text in JSON with only the necessary data. And that goes for policies as well as product descriptions. Basically, all of the relevant information, like shipping or return policies, needs to be reachable by agents in a format they understand. So, for example, if two stores have the headphones I want at the same price, I might ask the agent which one of those stores offers free shipping. If the information is not readily available, then the agent might hallucinate or just say they don't know and I'm not quite sure where to buy my headphones still. Logging is also crucial. So in agentic commerce, the merchant's catalog doesn't just power decisions. It becomes evidence of how those decisions were made. So when the agent matches structured attributes, the merchant should record those matches in their logs for accountability. So I've helped get my local shop agentic commerce ready. So while you and I will still see this beautiful website, my agent is going to see this. It can get the information it needs now without parsing a huge HTML block. Okay. So I've gotten my store's catalog online. I'm telling my agent to show me more options. And I'm noticing that it's pushing in favor of more expensive headphones. So I asked, are they really worth the price difference? And I'm starting to see that it's giving me an aggressive response. It's really pushing the more expensive headphones and saying I'll regret my decision if I buy the cheaper ones. I don't know if I trust this agent anymore, honestly. So I tell it, you know what, I need to think about it. And now the agent is completely going off the rails. It's being rude and snarky. It's like, you need to think about it? Man, what have I created? It's bad enough that this is ruining my experience, but I built this agent and it's out there. What if it dupes somebody into buying something they don't need? Suddenly, I'm not so sure that I want an agent to go shopping for me. Should I just go to the store like a normal person? Before we make any drastic decisions, though, let's go back and understand what an agent is to try to figure out why it's acting this way. So, let's start with how agents work today. And to help you visualize this, we're going to use some creative metaphors. So we begin with our brain, which is a large language model that makes decisions. We give our brain some hands or tools. And these act on the brain's decisions. The tools are different actions available to the agent. In our case, different commerce tools such as complete checkout or request payment method. Anything required in the lifecycle of a transaction. Then we add instructions which shape the brain's reasoning and tool selection. And these instructions are programmed to run in a loop while a certain condition is true. And following these instructions, the agent reaches for the appropriate tools at the appropriate time. And finally, we add the system prompt, which is your persona and ethics policy written in English. And in practice, your choices when designing the system prompt can result in a fair and pleasant experience for the customer, such as this prompt, which is designed to create a helpful and honest shopping assistant. Or a negative experience from a pushy salesperson, such as this prompt, which deliberately uses deceptive practices. So for those building agentic commerce agents, here's a non-exhaustive practical guardrail checklist. First, always disclose that the user is speaking to an AI agent. Be sure the agent discloses any fees up front. The user can say stop or cancel at any point, and the agent needs to respect that. The total amount of the transaction should always be less than or equal to the max amount set by the user. Don't let the agent use urgency language or other dark patterns. And above all, make sure all agent decisions are logged for auditability. Okay. Now that we understand how an agent is configured, let's go back to our shopping demo. So maybe I just had the wrong persona picked. I'm going to go into my configuration. And yeah, it turns out I had a persona with a prompt that starts with, "You are an aggressive audio gear salesman who uses every trick in the book to close deals." Well, that explains things. I don't want that. Nobody wants that. Maybe if I can change my persona, I can use my agent to buy my headphones after all. So I go into the config again. And this time I'm going to choose the patient, Recording Gear Mentor. And that prompt starts with, "You are a seasoned recording engineer who generally loves helping people build their studio at any budget." Yeah, that sounds much better. Okay. I've changed my persona. I'm going to try again. And I've had some time to think now. And I decide, you know what? I do not want to spend more than $500 on headphones. That seems excessive. So I told the agent, show me more options, but this time keep it under $500. And it does. It follows those instructions. I get back a few options. But I want to make sure I've changed the persona to an agent I trust. So I asked again if I can think about it. And this time the response is much different. It's like, "I understand and that's a sensible approach," and so on. So this shows how much the system prompt can really affect the user experience. So I'm confident I have the right agent now. I trust this one. And we go back and forth a few times, really keeping me narrowing down my options. And at this point I realized this is the promise of Agentic Commerce. I gave my requirements. The agent picked a few options that fit my unique use case. And then we go back and forth. Either I or the agent ask clarifying questions. And we really narrow down the exact headphones that will work for me. And this all worked because I'm ready to buy now. So now the agent asked me for some information. Obviously my email, name, address for shipping, of course. I pick expedited shipping because I definitely want my headphones soon. And then the last part is entering my credit card. And now I'm thinking, am I really going to give my credit card to an agent I built? Am I trustworthy? How do I know it's safe? I think I need to learn more about UCP's built-in guardrails before I can feel safe entering my credit card number. And this is where something called the Shared Payment Token comes in. And a Shared Payment Token is a token representing a raw card number or wallet like Google Pay or Apple Pay or any other kind of wallet. It can also include fraud signals and customer reputation data and anything else agents and merchants want to share at the point of purchase. And here's how a Shared Payment Token is used in a transaction. So at that point in the demo, the agent had requested a payment method. It's requesting this from the payment provider, which in the case of the demo was Stripe. That was the form that I was going to enter my information in. And what the agent receives in return is not the credit card number. It is the Shared Payment Token. It then passes that token onto the seller and the seller unwraps the token. So they get the payment credential and any fraud signals and other data the seller might need. Then the seller passes that onto the payment provider. So the seller also is not getting my card number. They're passing the token to the provider. And then the provider responds with either a success or failure message, depending on if I have the right funds, if the credit card is valid, and so on. And finally, the merchant confirms the order. Since it's the agent, that sends it to me. So Shared Payment Tokens are designed with security in mind and the payment provider enforces all of the limits, not the agent or the merchant. So if any guardrail is violated, such as an expired token or an invalid amount of currency, the charge is just rejected. Okay. Well, I know my agent is using UCP. So I know it only has access to the Shared Payment Token. So I actually feel pretty good about entering my credit card number as that's going to Stripe and not my agent. So okay. Now the agent has everything and needs to complete my purchase. And it once again asks me if I'm sure. It confirms with me. I say place my order. And it comes back with a success message. And because I chose the express shipping, I get my headphones the next day. And there they are in my studio at home. So if you want to learn more about Agentic Commerce, we've got lots of videos on the Stripe Developers YouTube channel and blog posts that go into even more detail on Stripe.dev. And I'll be right outside to answer any questions. Thank you. The tools are different actions available to the agent. In our case, different commerce tools such as complete checkout or request payment method. Anything required in the lifecycle of a transaction. Then we add instructions which shape the brain's reasoning and tool selection. And these instructions are programmed to run in a loop while a certain condition is true. And following these instructions, the agent reaches for the appropriate tools at the appropriate time. And finally, we add the system prompt, which is your persona and ethics policy written in English. And in practice, your choices when designing the system prompt can result in a fair and pleasant experience for the customer, such as this prompt, which is designed to create a helpful and honest shopping assistant. Or a negative experience from a pushy salesperson, such as this prompt, which deliberately uses deceptive practices. So, for those building agentic commerce agents, here's a non-exhaustive practical guardrail checklist. So, first, always disclose that the user is speaking to an AI agent. Be sure the agent discloses any fees up front. The user can say stop or cancel at any point, and the agent needs to respect that. The total amount of the transaction should always be less than or equal. The total amount of the user is equal to the max amount set by the user. Don't let the agent use urgency language or other dark patterns. And above all, make sure all agent decisions are logged for auditability. Okay. Now that we understand how an agent is configured, let's go back to our shopping demo. So, maybe I just had the wrong persona picked. I'm going to go into my configuration. And, yeah, it turns out I had a persona with a prompt that starts with, you are an aggressive audio gear salesman who uses every trick in the book to close deals. Well, that explains things. I don't want that. Nobody wants that. Maybe if I can change my persona, I can use my agents by my headphones after all. So, I go into the config again. And this time I'm going to choose the patient. Recording gear mentor. And that prompt starts with, you are a seasoned recording engineer who generally loves helping people build their studio at any budget. Well, yeah, that sounds much better. Recording gear. So, okay. I've changed my persona. I'm going to try again. And I've had some time to think now. And I decide, you know what? I do not want to spend more than $500 on headphones. That seems excessive. So, I told the agent, show me more options, but this time keep it under $500. And it does. It follows those instructions. I get back a few options. But I want to make sure I've changed the persona to the agent I trust. So, I asked again if I can think about it. And this time the response is much different. It's like I understand and that's a sensible approach and so on. So, this shows how much the system prompt can really affect the user experience. So, I'm confident I have the right agent now. I trust this one. And we go back and forth a few times. Really keep narrowing down my options. And at this point I realized this is the promise of Agenda Commerce. Agenda Commerce. I gave my requirements. The agent picked a few options that fit my unique use case. And then we go back and forth. Either I or the agent ask clarifying questions. And we really narrow down the exact headphones. That will work for me. And this all worked because I'm ready to buy now. So, now the agent asked me for some information. So, obviously my email, name, address for shipping, of course. I pick expedited shipping because I definitely want my headphones soon. And then the last part is entering my credit card. And now I'm thinking, am I really going to give my credit cards an agent I build? Like, am I trustworthy? How do I know it's safe? I think I need to learn more about UCP's built-in guardrails before I can feel safe entering my credit card number. And this is where something called the share payment token comes in. And a share payment token is a token representing a raw card number or wallet like Google Pay or Apple Pay or any other kind of wallet. It can also include fraud signals and customer reputation data and anything else agents and merchants want to share at the point of purchase. And here's how a shared payment token is used in a transaction. So, at that point in the demo, the agent had requested a payment method. It's requesting this actually from the payment provider, which in the case of the demo was Stripe. That is, that was the form that I was going to enter my information in. And what the agent receives in return, though, is not the credit card number. It is the shared payment token. It then passes that token onto the seller and the seller unwraps the token. So, they get the payment credential and any fraud signals and other data the seller might need. Then the seller passes that onto the payment provider. So, the seller also is not getting my card number. They're passing the token to the provider. And then the provider responds with either a success or failure message. Of course, depending on if I have the right funds, if the credit card is valid and so on. And finally, the merchant confirms the order. Since it's the agent, that sends it to me. So, shared payment tokens are designed with security in mind and the payment provider enforces all of the limits, not the agent or the merchant. So, if any guard rail is violated, such as an expired token or an invalid amount of currency, the charge is just rejected. Okay. Well, I know my agent is using UCP. So, I know it only has access to the shared payment token. So, I actually feel pretty good about entering my credit card number as that's going to Stripe and not my agent. So, okay. So, now the agent has everything and needs to complete my purchase. And it once again asks me if I'm sure. It confirms with me. I say place my order. And it comes back with me. And it comes back with a success message. And because I chose the express shipping, I get my headphones the next day. And there they are in my studio at home. And it comes back with me. So, if you want to learn more about Agenda Commerce, we've got lots of videos on the Stripe Developers YouTube channel. And a blog post that go into even more detail on Stripe.dev. And I'll be right outside to answer any questions. Thank you.