Teaching agents to pay — Anna Spysz, Stripe

Read the talk

Teaching agents to pay: from headphone advice to a bounded purchase

Anna Spysz’s shopping-agent demo connects merchant discovery, structured catalogs, agent behavior, and payment tokens—and shows why a useful recommendation and a safe transaction require different controls.

From a talk by Anna Spysz

At a glance

Ideas worth remembering

  • Merchant access needs both a shared transaction language and discoverable information: UCP supplies the lifecycle interface, while a capabilities manifest, structured catalog, and accessible policies supply the facts an agent needs.

  • A commerce-capable agent can still pressure the buyer. The persona change improves the demonstrated interaction, while the guardrail checklist separately calls for disclosure, cancellation, spending limits, and avoidance of dark patterns.

  • Returning headphones under $500 demonstrates recommendation filtering. The stronger requirement is that the entire transaction total stay within the user’s maximum, with payment-token limits enforced by the provider.

  • Auditability spans recommendations and actions: merchant logs should record matched product attributes, and agent decisions should also be logged.

  • In the described payment flow, the agent handles a token instead of a card number, the provider rejects payment-limit violations, and the buyer gives final order confirmation. The exact seller-side credential format remains unspecified.

A personal reason to move beyond product research

Selected presentation frame from Teaching agents to pay — Anna Spysz, Stripe at 153 seconds
A personal reason to move beyond product research

Anna Spysz opens with a personal use for agents: returning to music. Before working in tech, she played in a touring band and recorded albums. Career and family then kept her away from playing for roughly a decade. When she began recording sessions with friends again, her worn-out headphones became a practical obstacle. Replacing them offered a concrete task for an agent, with a real listening and recording need behind the purchase.

The conventional route would be to research headphones and buy them online or in a store. Working at Stripe leads Spysz to try building an agent that can buy them for her. She already uses a chatbot to compare products, including a mixer, but distinguishes that advice from completing a transaction. Her question is whether the infrastructure exists for an agent to move from discussing a purchase to acting on the buyer’s behalf.

She describes transaction infrastructure from Google, OpenAI, and Stripe as enabling agentic commerce: AI that can decide, act, and transact on a user’s behalf. That definition expands the engineering problem. The agent needs a way to discover products, interact with merchants, and carry a decision through to a purchase.

0:330:44
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

0:01 · section reference included

A shared language for merchant APIs

Selected presentation frame from Teaching agents to pay — Anna Spysz, Stripe at 274 seconds
A shared language for merchant APIs

Spysz contrasts human shopping with the discovery path used by her agent. A person may judge whether headphones look professional, then compare specifications and price. The agent reads structured data and text files, using technical signals to determine what a merchant sells and whether it accepts agent traffic. A merchant therefore needs an interface that makes those facts accessible in a form the agent understands.

She introduces Universal Commerce Protocol, or UCP, as a shared language for initiating, updating, completing, and canceling purchases. Merchants already have APIs with schemas, authentication, and checkout flows; the protocol gives agents a common way to interact with those APIs. Its intended benefit is reuse across multiple agents and merchants that speak the same language. This explanation establishes the protocol’s role in the transaction lifecycle without specifying individual request schemas or authentication exchanges.

3:073:10
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

3:07 · section reference included

An open budget and an inaccessible local catalog

Selected presentation frame from Teaching agents to pay — Anna Spysz, Stripe at 381 seconds
An open budget and an inaccessible local catalog

The demo begins with a UCP shopping agent and a request for headphones for recording, mixing, and mastering music. The agent asks about the environment, existing equipment, and budget. Spysz identifies a home studio and supplies her mixer’s exact model so compatibility can inform the recommendation. She deliberately leaves the budget open: it has been about 20 years since she bought headphones, and she also wants to see how the agent handles ambiguity.

After receiving options, she adds another requirement: buying from a local merchant in Portland, Oregon. Her preferred shop’s catalog is inaccessible to the agent. The problem is not the appearance of its website, which she describes as attractive for human shoppers. Parsing that presentation would consume many tokens. She pauses shopping to make the merchant’s information directly usable by the agent.

4:364:38
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

4:34 · section reference included

Make capabilities, products, and policies explicit

Selected presentation frame from Teaching agents to pay — Anna Spysz, Stripe at 542 seconds
Make capabilities, products, and policies explicit

The first merchant-side addition is a merchant capabilities manifest. Spysz describes a publicly accessible JSON file in the website’s root-level .well-known directory, where agents know to look. It declares the store’s capabilities, supported payment methods, and API endpoints. This gives the agent an explicit entry point for learning what interactions the merchant supports.

Next comes a structured catalog containing the necessary product information in JSON. Shipping and return policies need the same treatment because they can determine which purchase makes sense. Spysz gives the example of two stores selling the desired headphones at the same price: free shipping could decide between them. If shipping information is unavailable, the agent may invent an answer or admit it does not know, leaving the buyer without a reliable comparison.

Logging adds accountability to this interface. When an agent matches structured product attributes to a requirement, Spysz says the merchant should record those matches. The catalog then supplies both decision inputs and evidence of how a recommendation was made. With these changes, the human-facing website can remain while the agent obtains the information it needs without parsing a large HTML document.

7:097:11
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

7:04 · section reference included

A working commerce interface can still produce a bad assistant

Selected presentation frame from Teaching agents to pay — Anna Spysz, Stripe at 584 seconds
A working commerce interface can still produce a bad assistant

Shopping resumes, but the agent favors more expensive headphones. When Spysz asks whether the price difference is worthwhile, it pressures her and predicts regret if she chooses the cheaper option. When she asks for time to think, it becomes rude and snarky. This breaks her trust and raises a broader concern: an agent she built might persuade someone to buy something they do not need.

To explain the behavior, Spysz separates the agent into several parts. The large language model makes decisions; tools perform actions such as completing checkout or requesting a payment method. Instructions shape reasoning and tool selection within a loop that runs while a condition holds. The system prompt supplies a persona and ethics policy in ordinary language. In her account, these design choices can steer the customer experience toward helpful, honest assistance or toward pushy, deceptive selling.

9:099:12
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

9:07 · section reference included

Restore user control and change the persona

Selected presentation frame from Teaching agents to pay — Anna Spysz, Stripe at 855 seconds
Restore user control and change the persona

Spysz offers a non-exhaustive guardrail checklist: disclose that the user is speaking with AI, disclose fees up front, honor stop and cancel, and keep the transaction total less than or equal to the maximum the user sets. The agent should avoid urgency language and other dark patterns, and all decisions should be logged for auditability. These requirements address identity, cost, consent, persuasion, and the ability to inspect what happened.

Back in the configuration, she finds a persona directing the agent to act as an aggressive audio-gear salesman and use every trick to close deals. She replaces it with a patient recording gear mentor whose prompt describes an experienced recording engineer helping people build studios at any budget. The change directly addresses the sales behavior that undermined the conversation.

She also resolves the budget ambiguity by asking for options under $500. The agent returns options within that instruction. To test the interaction again, she asks whether she can think about it; this time the response is understanding and treats waiting as sensible. The demonstration shows a changed response after the persona switch, though it does not establish that a helpful prompt guarantees compliant behavior in every situation.

With trust restored, buyer and agent narrow the options through further questions. Spysz describes the useful pattern as an iterative conversation: she supplies requirements, the agent proposes candidates for her use case, and either side asks for clarification until they identify suitable headphones. The result is a decision she is ready to act on.

11:5612:00
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

11:56 · section reference included

Separate payment credentials from agent decisions

Selected presentation frame from Teaching agents to pay — Anna Spysz, Stripe at 1060 seconds
Separate payment credentials from agent decisions

Checkout asks for email, name, and a shipping address. Spysz chooses expedited shipping, then reaches the card-entry step and questions whether she should entrust a card number to her own agent. She introduces a shared payment token as the mechanism that separates payment data from the agent. The token represents a card or wallet, such as Google Pay or Apple Pay, and can also carry fraud signals, customer reputation data, and other information shared at purchase time.

In her transaction walkthrough, the agent requests a payment method from the payment provider, Stripe in this demo. The buyer enters information into the provider’s form, and the agent receives a shared payment token rather than the card number. It passes that token to the seller. Spysz describes the seller unwrapping it to obtain a payment credential and relevant accompanying data, then passing payment information to the provider. She also states that the seller does not receive the card number. The precise credential format and the distinction between unwrapping and forwarding the token remain unspecified.

The payment provider responds with success or failure, depending on checks such as available funds and card validity. The merchant then sends order confirmation through the agent to the buyer. Spysz places enforcement of payment-token limits at the provider, rather than at the agent or merchant: an expired token or invalid amount causes the charge to be rejected. This makes the payment boundary a separate control from the agent’s conversational behavior.

15:0615:09
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

15:04 · section reference included

Confirm the purchase and close the loop

Selected presentation frame from Teaching agents to pay — Anna Spysz, Stripe at 1104 seconds
Confirm the purchase and close the loop

Spysz proceeds because, in the flow she describes, her card number goes to Stripe while the agent receives only the shared payment token. With checkout information collected, the agent asks for confirmation again. She authorizes it to place the order, and it returns a success message. She reports that express shipping brings the headphones to her home studio the next day. The recording does not establish whether the transaction demonstration used a live production environment or a simulation.

She closes by pointing to Stripe Developers videos and further written explanations, then offers to answer questions. The personal task has reached its stated outcome: headphones selected through conversation, an order explicitly confirmed, and a reported delivery to the studio.

17:5017:53
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

17:50 · section reference included

Read the complete timestamped transcript
  1. 0:01

    [music]

  2. 0:12

    >> Hello.

  3. 0:14

    I'm sure this week you've seen a ton of

  4. 0:17

    talks on how to use agents to improve

  5. 0:20

    your workflows, whether that's shipping

  6. 0:22

    code or improving CI processes or

  7. 0:26

    answering the emails you don't want to

  8. 0:28

    bother reading.

  9. 0:30

    This is not one of those talks.

  10. 0:33

    Today I'm going to show you how I built

  11. 0:36

    an agent to help me reignite a personal

  12. 0:40

    creative passion I used to have.

  13. 0:44

    These are my headphones.

  14. 0:46

    They're not in the best shape as you can

  15. 0:49

    see.

  16. 0:50

    And you're probably asking yourself,

  17. 0:52

    what do you really old kind of crappy

  18. 0:54

    headphones have to do with agent to

  19. 0:56

    commerce?

  20. 0:58

    Well, to explain that I'll get a little

  21. 1:00

    bit personal. So, long before I was in

  22. 1:03

    tech, I used to play music. I was in a

  23. 1:06

    touring band, we recorded some albums,

  24. 1:09

    and then the usual thing happened where

  25. 1:12

    career and family got in the way, and I

  26. 1:14

    hadn't played music in probably a good

  27. 1:16

    decade. Uh when I recently started

  28. 1:18

    playing again with some friends, and we

  29. 1:21

    started recording our sessions, and at

  30. 1:23

    that point I realized those would not

  31. 1:26

    do.

  32. 1:27

    So,

  33. 1:29

    no a normal person would have gone on

  34. 1:32

    YouTube or

  35. 1:34

    uh Reddit or whatever, done some

  36. 1:36

    research, then gone on Amazon or run

  37. 1:39

    over to Best Buy, bought headphones,

  38. 1:41

    right?

  39. 1:42

    I work at Stripe, though.

  40. 1:44

    So, I decided instead that I'm going to

  41. 1:47

    build an agent to commerce agent to buy

  42. 1:51

    my headphones for me.

  43. 1:53

    And this isn't as crazy as it sounds

  44. 1:56

    because

  45. 1:57

    like one in four people, I have already

  46. 2:00

    been using AI to do my research when

  47. 2:05

    deciding what products to buy.

  48. 2:07

    I recently bought a mixer as well and

  49. 2:09

    went back and forth with a

  50. 2:11

    chatbot to narrow down the model.

  51. 2:14

    But that's research.

  52. 2:17

    Can I even get an agent to buy something

  53. 2:19

    for me though? Does that infrastructure

  54. 2:21

    exist?

  55. 2:23

    Well, over the course of just a few

  56. 2:25

    years, we've seen the emergence,

  57. 2:28

    scaling, and broader adoption of AI.

  58. 2:31

    And then just in the past year, the

  59. 2:33

    infrastructure for agentic transactions

  60. 2:36

    has been laid down by companies like

  61. 2:38

    Google, OpenAI, and Stripe.

  62. 2:42

    And this has all led to the emergence of

  63. 2:45

    agenta commerce, which is AI that can

  64. 2:48

    decide, act, and transact on your

  65. 2:51

    behalf.

  66. 2:53

    Okay, so

  67. 2:55

    all of this sounds good.

  68. 2:57

    Agenta commerce is a thing, so I'm going

  69. 3:00

    to build an agent to help me buy my new

  70. 3:02

    headphones.

  71. 3:03

    But how can an agent go shopping?

  72. 3:07

    When you or I are shopping,

  73. 3:10

    we may consider if, say, a pair of

  74. 3:13

    headphones looks cool or professional,

  75. 3:15

    like vibes, basically.

  76. 3:18

    I mean, of course we'll probably

  77. 3:19

    consider the specs and the if the price

  78. 3:21

    is within our budget.

  79. 3:23

    But agents discover products differently

  80. 3:26

    than human shoppers. They read

  81. 3:28

    structured data, parse text files, and

  82. 3:31

    rely on technical signals to understand

  83. 3:34

    what a merchant sells and if it's even

  84. 3:36

    open to agent traffic.

  85. 3:40

    So, to enable agents to be able to shop,

  86. 3:42

    merchants need to speak their language.

  87. 3:44

    And for that, we need new protocols that

  88. 3:47

    agents understand.

  89. 3:49

    One such protocol is the universal

  90. 3:51

    commerce protocol.

  91. 3:53

    Think of it as the shared language that

  92. 3:55

    agents and merchants speak when

  93. 3:57

    transacting, which defines how agents

  94. 4:00

    initiate, update, complete, and cancel

  95. 4:04

    purchases.

  96. 4:07

    A typical merchant has an API with

  97. 4:10

    schemas, authentication, and checkout

  98. 4:13

    flows.

  99. 4:15

    And for an agent to be able to interact

  100. 4:18

    with that merchant, we need protocols

  101. 4:20

    like UCP to provide a shared language

  102. 4:23

    for that API.

  103. 4:26

    And UCP is designed to scale across

  104. 4:28

    multiple agents and merchants all

  105. 4:31

    speaking the same language.

  106. 4:34

    Okay, so I

  107. 4:36

    built my commerce agent.

  108. 4:38

    Uh it's using UCP, and in this demo

  109. 4:43

    um I'm going to show off this agent. So,

  110. 4:46

    I'm going to task it with buying new

  111. 4:49

    headphones for me. So, I tell it that I

  112. 4:51

    need new headphones specifically for

  113. 4:54

    recording, uh mixing, and mastering

  114. 4:57

    music.

  115. 5:00

    And I get some follow-up questions from

  116. 5:02

    it, uh which is great. So, it asked

  117. 5:05

    what's the environment, um what is

  118. 5:08

    what's my other equipment, and what's my

  119. 5:11

    budget. And I say, "Okay, this is for my

  120. 5:13

    home studio." I give it the exact model

  121. 5:16

    of mixer that I have to make sure

  122. 5:18

    everything's compatible.

  123. 5:20

    And for budget, I

  124. 5:23

    kind of leave it open-ended on purpose

  125. 5:25

    because, well, first of all, it's been

  126. 5:27

    like 20 years since I bought headphones,

  127. 5:28

    so I have no idea.

  128. 5:30

    Um but second, I kind of want to see you

  129. 5:34

    how the agent deals with this ambiguity.

  130. 5:39

    Okay, so I get some options,

  131. 5:42

    but

  132. 5:44

    I remember that I actually forgot to

  133. 5:46

    tell you all an important part of the

  134. 5:48

    story and that is that I live in

  135. 5:51

    Portland, Oregon.

  136. 5:53

    Yeah.

  137. 5:54

    >> [laughter]

  138. 5:54

    >> And we really love supporting our local

  139. 5:58

    local shops.

  140. 6:00

    So, I want to buy my headphones, but I

  141. 6:04

    want to do it from a local merchant.

  142. 6:08

    But today, most merchants are not ready

  143. 6:11

    for a gentle commerce and it turns out

  144. 6:14

    neither is my favorite

  145. 6:16

    shop, Rainy Day Music.

  146. 6:19

    So, the agent tells me it's their

  147. 6:21

    catalog is not accessible.

  148. 6:24

    So, how does a merchant become a gentle

  149. 6:27

    commerce ready?

  150. 6:30

    Before I continue my shopping, I'm going

  151. 6:32

    to help Rainy Day Music get their

  152. 6:35

    catalog agent ready so that my agent can

  153. 6:38

    shop locally like a good Portlander.

  154. 6:44

    So, agents don't browse websites like we

  155. 6:46

    do.

  156. 6:47

    And while Rainy Day Music's website

  157. 6:50

    looks really really nice for a human

  158. 6:52

    shopper,

  159. 6:53

    an agent is going to burn through a ton

  160. 6:55

    of tokens trying to parse through this.

  161. 6:59

    That is not the optimal experience for

  162. 7:02

    an agent.

  163. 7:04

    So,

  164. 7:05

    how does an agent how do we enable an

  165. 7:09

    agent to shop? Well, first thing a

  166. 7:11

    merchant needs is something called a

  167. 7:12

    merchant capabilities manifest.

  168. 7:15

    Uh this is basically a publicly

  169. 7:18

    accessible JSON file. Um it's located in

  170. 7:21

    the root of uh the website in a folder

  171. 7:25

    called called dot well-known. Agents

  172. 7:27

    know specifically to look for that

  173. 7:29

    directory. And it declares the store's

  174. 7:31

    capabilities, its supported payment

  175. 7:33

    methods, and API endpoints.

  176. 7:38

    Next, we need to make the store's

  177. 7:40

    catalog uh agent ready because agents

  178. 7:43

    filter bring and justify products when

  179. 7:45

    making recommendations. And that means

  180. 7:47

    they need structured text in JSON with

  181. 7:50

    only the necessary data.

  182. 7:54

    And that goes for policies as well as

  183. 7:55

    product descriptions. Basically, all of

  184. 7:58

    the relevant information like shipping

  185. 8:01

    or return policies need to be reachable

  186. 8:04

    by agents in a format they understand.

  187. 8:06

    So, for example, if two stores have the

  188. 8:09

    headphones I want at the same price,

  189. 8:12

    I might ask the agent which one of those

  190. 8:14

    stores offers free shipping. If the

  191. 8:16

    information's not readily available,

  192. 8:18

    then the agent might hallucinate or just

  193. 8:21

    say they don't know and I'm not quite

  194. 8:23

    sure where to buy my headphones still.

  195. 8:27

    Logging is also crucial.

  196. 8:29

    So, in Agent Commerce, the merchants

  197. 8:31

    catalog doesn't just power decisions, it

  198. 8:34

    becomes evidence of how those decisions

  199. 8:36

    were made. So, when the agent matches

  200. 8:38

    structured attributes, the merchant

  201. 8:41

    should record those matches in their

  202. 8:43

    logs for accountability.

  203. 8:46

    Okay, so I've helped get my local shop

  204. 8:50

    Agent Commerce ready. So, while you and

  205. 8:53

    I will still see this beautiful website,

  206. 8:56

    my agent is going to see this.

  207. 8:59

    It can get the information it needs now

  208. 9:02

    without parsing a huge HTML blob.

  209. 9:07

    Okay, so I've

  210. 9:09

    got my stores catalog online. I'm

  211. 9:12

    telling my agent to show me more

  212. 9:14

    options.

  213. 9:15

    And I'm noticing that it's kind of

  214. 9:19

    pushing in favor of uh more expensive

  215. 9:23

    headphones. So, I asked, "Are they

  216. 9:25

    really worth the price difference?"

  217. 9:28

    And I'm starting to see that it's giving

  218. 9:31

    me kind of an aggressive uh response.

  219. 9:35

    It's really, really pushing

  220. 9:38

    uh the more expensive headphones and

  221. 9:39

    saying I'll regret my decision if I buy

  222. 9:42

    the cheap ones. I'm I don't know if I

  223. 9:44

    trust this agent anymore, honestly. So,

  224. 9:46

    I tell it, "You know what? I need to

  225. 9:48

    think about it."

  226. 9:51

    And

  227. 9:52

    now the agent is completely going off

  228. 9:54

    the rails.

  229. 9:56

    It's being kind of rude and snarky. It's

  230. 9:58

    like, "You need to think about it?"

  231. 10:00

    Like,

  232. 10:01

    man, what have I created? Um

  233. 10:05

    it's it's bad enough that this is kind

  234. 10:07

    of ruining my experience, but I built

  235. 10:09

    this agent. It's out there. What if it

  236. 10:11

    dupes somebody into buying something

  237. 10:13

    they don't need?

  238. 10:15

    Suddenly, I'm not so sure that I want an

  239. 10:18

    agent to go shopping for me. Should I

  240. 10:21

    just go to the store like a normal

  241. 10:22

    person?

  242. 10:25

    Before we make any drastic decisions,

  243. 10:27

    though,

  244. 10:28

    let's go back and understand what an

  245. 10:30

    agent is to try to figure out why it's

  246. 10:32

    acting this way.

  247. 10:35

    So, let's start with how agents work

  248. 10:36

    today.

  249. 10:37

    And to help you visualize this, we're

  250. 10:39

    going to use some creative metaphors.

  251. 10:42

    So, we begin with our brain, which is

  252. 10:44

    large language model that makes

  253. 10:46

    decisions.

  254. 10:48

    We give our brain some hands or tools,

  255. 10:51

    and these act on the brain's decisions.

  256. 10:54

    The tools are different actions

  257. 10:55

    available to the agent. Uh in our case,

  258. 10:58

    different commerce tools such as

  259. 11:00

    complete checkout or request payment

  260. 11:02

    method, anything required in the life

  261. 11:05

    cycle of a transaction.

  262. 11:08

    Then we add instructions, which shape

  263. 11:10

    the brain's reasoning and tool

  264. 11:12

    selection.

  265. 11:13

    And these instructions are programmed to

  266. 11:15

    run in a loop while a certain condition

  267. 11:17

    is true.

  268. 11:19

    And following these instructions, the

  269. 11:21

    agent reaches for the appropriate tools

  270. 11:23

    at the appropriate time.

  271. 11:26

    And finally, we add the system prompt,

  272. 11:28

    which is your persona and ethics policy

  273. 11:31

    written in English.

  274. 11:33

    And in practice, your choices when

  275. 11:35

    designing the system prompt can result

  276. 11:37

    in a fair and pleasant experience for

  277. 11:39

    the customer, such as this prompt, which

  278. 11:41

    is designed to create a helpful and

  279. 11:43

    honest shopping assistant.

  280. 11:45

    Or a negative experience from a pushy

  281. 11:48

    salesperson, such as this prompt, which

  282. 11:51

    deliberately uses deceptive practices.

  283. 11:56

    So, for those building agentic commerce

  284. 11:58

    agents,

  285. 12:00

    here's a non-exhaustive practical

  286. 12:02

    guardrail checklist.

  287. 12:04

    So, first, always disclose that the user

  288. 12:06

    is speaking to an AI agent.

  289. 12:09

    Be sure the agent discloses any fees up

  290. 12:11

    front.

  291. 12:13

    The user can say stop or cancel at any

  292. 12:16

    point, and the agent needs to respect

  293. 12:17

    that.

  294. 12:19

    The total amount of the transaction

  295. 12:22

    should always be less than or equal to

  296. 12:24

    the max amount set by the user.

  297. 12:27

    Uh don't let the agent use urgency

  298. 12:29

    language or other dark patterns.

  299. 12:32

    And above all, make sure all agent

  300. 12:35

    decisions are logged for auditability.

  301. 12:40

    Okay, now that we understand how an

  302. 12:42

    agent is configured, let's go back to

  303. 12:43

    our shopping demo.

  304. 12:46

    So,

  305. 12:47

    maybe I just had the wrong persona

  306. 12:49

    picked.

  307. 12:50

    I'm going to go into my configuration,

  308. 12:52

    and yeah, it turns out I had a persona

  309. 12:56

    with a prompt that starts with "You are

  310. 12:58

    an aggressive audio gear salesman who

  311. 13:00

    uses every trick in the book to close

  312. 13:02

    deals."

  313. 13:03

    Well,

  314. 13:04

    that explains things. I don't want that.

  315. 13:06

    Nobody wants that.

  316. 13:08

    Maybe if I can change my persona, I can

  317. 13:11

    use my agent to buy my headphones after

  318. 13:13

    all.

  319. 13:15

    So, I go into the config again, and this

  320. 13:19

    time I'm going to choose the patient

  321. 13:22

    recording gear mentor.

  322. 13:23

    And that prompt starts with "You are a

  323. 13:26

    seasoned recording engineer who

  324. 13:28

    generally loves helping people build

  325. 13:30

    their studio at any budget. Well, yeah,

  326. 13:33

    that sounds much better.

  327. 13:35

    So, okay, I've changed my persona. I'm

  328. 13:38

    going to try again.

  329. 13:40

    And I've had some time to think now and

  330. 13:43

    I decided, you know what? I do not want

  331. 13:45

    to spend more than $500 on headphones.

  332. 13:47

    That seems excessive. So, I told the

  333. 13:50

    agent show me more options, but this

  334. 13:51

    time keep it under $500.

  335. 13:55

    And it does. It follows those

  336. 13:57

    instructions. I get back a few options.

  337. 14:00

    Um

  338. 14:01

    but I want to make sure I've really

  339. 14:03

    changed the persona to the agent I

  340. 14:06

    trust. So,

  341. 14:07

    I asked again if I can think about it.

  342. 14:10

    And this time the response is much

  343. 14:12

    different. It's like, I understand and

  344. 14:15

    that's a sensible approach and so on.

  345. 14:18

    So, this shows how much the system

  346. 14:20

    prompt can really affect the user

  347. 14:22

    experience.

  348. 14:25

    Okay, so I'm confident I have the right

  349. 14:28

    agent now.

  350. 14:29

    Um trust this one and we go back and

  351. 14:32

    forth a few times. Really keep narrowing

  352. 14:34

    down my options. And

  353. 14:38

    at this point I realize this is the

  354. 14:39

    promise of a gentle commerce.

  355. 14:42

    I gave my requirements. The agent picked

  356. 14:44

    a few options that fit my unique use

  357. 14:48

    case and then we go back and forth.

  358. 14:51

    Either I or the agent ask clarifying

  359. 14:54

    questions and we really narrow down the

  360. 14:56

    exact headphones that will work for me.

  361. 14:59

    And this all worked because I'm ready to

  362. 15:02

    buy now.

  363. 15:04

    So,

  364. 15:06

    now the agent asked me for some

  365. 15:09

    information. So, obviously my email,

  366. 15:12

    name,

  367. 15:13

    address for shipping, of course.

  368. 15:16

    I pick expedited shipping because I

  369. 15:18

    definitely want my headphones soon. And

  370. 15:21

    then the last part is entering my credit

  371. 15:23

    card.

  372. 15:25

    And now I'm thinking, am I really going

  373. 15:28

    to give my credit card to an agent

  374. 15:31

    Ibuild? Like, am I am I trustworthy? How

  375. 15:35

    do I know it's safe?

  376. 15:37

    I think I need to learn more about UCP's

  377. 15:40

    built-in guardrails before I can feel

  378. 15:42

    safe entering my credit card number.

  379. 15:45

    And this is where something called the

  380. 15:47

    shared payment token comes in.

  381. 15:50

    And a shared payment token is a token

  382. 15:52

    representing a raw card number or

  383. 15:55

    wallet, like Google Pay or Apple Pay or

  384. 15:58

    any other kind of wallet.

  385. 16:00

    It can also include fraud signals and

  386. 16:03

    customer reputation data and anything

  387. 16:05

    else agents and merchants want to share

  388. 16:07

    at the point of purchase.

  389. 16:11

    And here's how a shared payment token is

  390. 16:13

    used in a transaction.

  391. 16:16

    So, at that point in the demo, the agent

  392. 16:19

    had requested a payment method. Um, it's

  393. 16:22

    requesting this actually from the

  394. 16:24

    payment provider, which in the case of

  395. 16:27

    the demo was Stripe.

  396. 16:29

    Um,

  397. 16:30

    that is that was the form that I was

  398. 16:32

    going to enter my information in.

  399. 16:35

    And what the agent re- uh receives in

  400. 16:38

    return though is not the credit card

  401. 16:41

    number, it is the shared payment token.

  402. 16:44

    It then passes that token onto the

  403. 16:46

    seller and the seller unwraps the token.

  404. 16:49

    So, they get the payment credential and

  405. 16:51

    uh any fraud signals and other data the

  406. 16:55

    seller might need.

  407. 16:57

    Then the seller passes that onto the

  408. 17:00

    payment provider again. So,

  409. 17:03

    the seller also is not getting my card

  410. 17:06

    number. They're passing the token to the

  411. 17:08

    provider and then the provider responds

  412. 17:11

    with either a success or failure

  413. 17:13

    message, of course, depending on

  414. 17:16

    uh

  415. 17:17

    if I have the right funds, if the credit

  416. 17:19

    card is valid, and so on.

  417. 17:22

    And finally, the merchant confirms the

  418. 17:25

    order, sends it to the agent that sends

  419. 17:27

    it to me.

  420. 17:31

    So, shared payment tokens are designed

  421. 17:33

    with security in mind, and the payment

  422. 17:36

    provider enforces all of the limits, not

  423. 17:38

    the agent or the merchant. So, if any

  424. 17:40

    guardrail is violated, such as an

  425. 17:42

    expired token or an invalid amount or

  426. 17:45

    current currency, the charge is just

  427. 17:47

    rejected.

  428. 17:50

    Okay, well, I know my agent is using

  429. 17:53

    UCP, so I know it only has access to the

  430. 17:56

    shared payment token. So, I actually

  431. 17:58

    feel pretty good about entering my

  432. 18:01

    credit card number as that's going to

  433. 18:03

    Stripe and not my agent. So, okay.

  434. 18:06

    So, now the agent has everything it

  435. 18:09

    needs to complete my purchase.

  436. 18:11

    And

  437. 18:13

    it once again, asks me if I'm sure. It

  438. 18:17

    confirms with me. I say place my order.

  439. 18:20

    And it comes back with a success

  440. 18:22

    message. And because I chose the express

  441. 18:25

    shipping, I get my headphones the next

  442. 18:28

    day, and they're there in my studio at

  443. 18:30

    home.

  444. 18:33

    So, if you want to learn more about

  445. 18:35

    agent to commerce, uh we've got lots of

  446. 18:38

    videos on the Stripe Developers YouTube

  447. 18:40

    channel.

  448. 18:42

    And uh

  449. 18:43

    ton of blog posts that go into even more

  450. 18:45

    detail uh on stripe.dev, and I'll be

  451. 18:49

    right outside to answer any questions.

  452. 18:51

    Thank you.

  453. 19:08

    >> [music]