Ship 26 NYC - Agents with Wallets: Building for the Machine-to-Machine Economy

VVercel
Internet TechnologySmall Business/StartupsComputing/Software

Transcript

00:00:00Hello, everyone. Good afternoon. I am Prasad Vangikar, Principal Engineer at Stripe.
00:00:11Today, I'm going to walk you over what does it take to get yourself into this Asian economy.
00:00:18Over the past year, I have been obsessed with one single question.
00:00:23How does the commerce change when Asian starts buying for us?
00:00:29We are already building the pieces. We are building APIs, MCP servers, the services that
00:00:39already work. How does agent find us? And right now, agents are not good at, like, finding
00:00:48stuff. Can't buy from you, can't pay you, then, you know, it becomes difficult. But that's
00:00:56about to change. I'm going to show you how things are going to work. You know that open
00:01:03sign, every store front door has it. When it's open, the customers walk in. When it's not,
00:01:11they walk away. Today, most of the businesses, they don't have a similar version of that sign
00:01:19sign for the agents. So, you may have a great API, great MCP server, useful data, excellent product. But it
00:01:30really doesn't matter until the agent finds you. Until the agent is able to buy from you, agent is able to pay
00:01:37for it. By the end of this talk, you will know how to flip that sign open. So, how many of you here have been, like,
00:01:49wipe coding an app as a weekend project? Nice. Me too. I'm a marathon runner. I have a crazy goal. Run a marathon in every state of, like, 50 U.S. states. For that, I sat with
00:02:07my agent on one Saturday morning trying to build an app for it. An app that tracks your progress, finds you races,
00:02:18builds training plans, pulls data from your watch, maybe your ring, sells you gear from top brands, and
00:02:27eventually sell your anonymized data to other apps that might benefit from that data. So, most of you have
00:02:37raised your hands earlier. So, definitely, you can relate to this. That's me by Saturday evening,
00:02:47screaming and yelling at my coding agent because I hit walls. I hit five of them. Today's talk isn't really about
00:02:54that app. But I want to walk you over those walls that I hit and how to get out of it.
00:03:03So, let's begin. Coding is easy. Agents can definitely do it for us today. But as an app owner,
00:03:12we want our app to be deployed on day one. We want to start the experimentation. We want to get early
00:03:19feedback from our users. And for that, we need to start building the infrastructure as well. The agent is
00:03:27good at coding. But can it build infrastructure for you? Let's take a look.
00:03:38So, Stripe projects. Here, it works like from the terminal. You can provide one infrastructure
00:03:46vendor with one single command. So, three different vendors, three billing accounts, and my coding agent
00:03:53isn't good at filling out those forms. So, how does it spin up the infrastructure?
00:04:00Let's take a look. Stripe projects. One command per service. That's it. Raw credentials, real accounts,
00:04:09all provision from the terminal. 52 providers are live today, including Vercel, our way one launch
00:04:16partner. My agent provisions infrastructure, the same way it writes code. One command at a time. And
00:04:25a single invoice. A single invoice for the entire stack. Let's take a look.
00:04:55By the way, that clip should have the sound. So, let me just narrate you. So, it has built the database,
00:05:03the auth. And lastly, there we go. Excellent. Let's see what we got.
00:05:20Database hosting auth. All live. Credentials in Stripe secret store. All three build through one Stripe
00:05:28account. That's it. Now, infrastructure is done. The coding agent is in full swing building the
00:05:39application logic. But it hits another wall. It needs to get data live from the live endpoints. And where is
00:05:48it going to find all these services that do exist out there? Let's take a look.
00:06:00So, I need raised data. I need elevation profiles. I need local coaches. I know they exist somewhere on
00:06:07the internet. My coding agent has no idea where to look. Web search is not -- is non-deterministic, not reliable.
00:06:16So, for example, MCP gave us a common language for calling these tools. But for that, we need to know
00:06:23where these tools exist. Where are these endpoints to call?
00:06:30What about, like, the ones that the agent has never heard of? For that, we have Stripe directory.
00:06:38A searchable registry for internet businesses. My agent searches race data API. And it gets a structured
00:06:48JSON back with all the information it needs to call these services, these endpoints, whether these are
00:06:54paid endpoints and how to pay for them. Everything in one place. No web scraping. No guessing. Let's watch how.
00:07:03Now, let me show you how an agent discovers services. I'm using Stripe CLI to show exactly what happens under the old.
00:07:26We found a bunch of services. Now, let's get a compact comparison.
00:07:40Here we go. Three services. Which one supports what? Everything the agent needs to pick the best fit.
00:07:49For businesses on Stripe network, the integration is already done. It's just one setting away on the dashboard.
00:07:58So, my coding agent found the API that it needs to call in order to get that data.
00:08:05It knows how to call it. It knows how much it costs. But it doesn't know how to pay for it. At least, not yet.
00:08:16So, why can't a coding agent pay for services? So, can you raise your hand if you are comfortable
00:08:26giving out your credit card to the coding agent? Anyone? Okay. A few. So, whoever raised the hand,
00:08:36please DM me. I know a startup who is looking for beta testers. But I wouldn't give my credit card to my
00:08:44coding agent for obvious reasons. I don't trust them as much. But let's take a look. The real question
00:08:53about giving the credit card to the agent is not about just the trust. But how do I give it a spending
00:09:01power without any limits? Right? So, how do I make it secure? The answer is link agent wallet. 30 seconds to
00:09:10set up. No credit card handover. Just a secure link to your wallet. Let's watch the demo.
00:09:23Here is my coding agent. It has just finished building the race calendar module.
00:09:27All the tests are passing. And now we are on to the next step, which is fetching the data from the live API.
00:09:35The agent has sent the request. And it just learned that it's a paid API. 15 cents per request. And the agent
00:09:44doesn't have a wallet yet. Let's give the agent a wallet. Let's use Stripe's link agent wallet.
00:09:55So, I'm authenticating this coding agent to use my link wallet on my behalf.
00:10:14But every purchase needs my approval. Let's see how. Just make sure it has all my payment methods.
00:10:28Good. Now the agent can see all my payment methods. Normally, the agent handles all of this. I'm doing
00:10:35it manually. So, it's clear what's happening here. Now let's go back to the agent and tell it we got
00:10:43a wallet now. Let me try.
00:10:51Now the coding agent creates a spend request. 15 cents. It's going to ask my permission.
00:10:57Here we go.
00:11:13Great. I can see this request. I approve it.
00:11:22Biometric done.
00:11:27The agent paid the API. Got the data back.
00:11:34It spent the real money. I approved it.
00:11:39Every cent requires confirmation from me. In 30 seconds, my agent has a wallet now. It can spend
00:11:47the money. But of course, like every time it tries to spend money, I need to manually confirm it. So,
00:11:54it's like giving it the power without, like, you know, completely giving it the responsibility. So,
00:12:01I still approve all these payment requests. So far, my coding agent has been buying for me. But now,
00:12:12let's fast forward. A couple of months, the app is live. Users are loving it. And there are, let's say,
00:12:19millions of users using my app. Now, my app becomes an agent. Let's say, you know, the users want to buy
00:12:28some gear from the app. And it can recommend and sell a few things to these users. But, again,
00:12:39everything like today, the buying experience, the checkout, is a web page. And agent or my app is not
00:12:47a web page. So, let's find out how the checkout experience can be, like, standardized for every agent
00:12:57and merchant around us. So, UCP is the answer. Universal commerce protocol, an open standard that Stripe is
00:13:07actively shaping. My app needs to buy from merchants on behalf of its users. But checkout today is built for
00:13:18humans with browsers. UCP solves this. It gives agents a standardized way to browse products, build cards,
00:13:26and complete the checkout without opening a single web page.
00:13:33On top of that, Stripe's ACS is the easiest way to participate in agent e-commerce.
00:13:39It's how every Stripe merchant can get onto agent e-commerce quickly. Now, my app can browse products,
00:13:48fill cards, complete purchases from any ACS merchants on Stripe. When it's time to pay,
00:13:55it creates a shared payment token. Think of it as, like, a token saying this user wants to buy from
00:14:03this merchant and this is, like, you know, their limit. We'll get to that in a second. But the agent
00:14:11proposes a product, the user approves it, and the seller gets the payment. It's win-win-win for all.
00:14:21So, let's take a look at the shared payment token. It's essentially a payment method wrapped in a token.
00:14:31So, agent gets the token. It sends the token to the seller. What the token says is basically the same thing.
00:14:39The user has approved this merchant for this much amount. And that gets transferred to the merchant,
00:14:46not like the raw credit card information. So, that means the communication channel between the agent
00:14:52and the seller is outside of the PCI compliance. So, it becomes easier for agents and merchants to communicate.
00:15:01And the actual credentials are safe with a party which we all trust to hold this kind of sensitive
00:15:08information.
00:15:13Now, my app can buy from merchants. And it has millions of users. And these users are using this app
00:15:22every day. They are logging their runs. And now, it can send -- sell this data to others, which might be,
00:15:29like, very useful. The race results, workout history, recovery patterns. All this might be very useful for
00:15:36other agents and services. So, let's take a look. Let's say a coaching app wants pacing data. A research
00:15:43platform wants recovery trends. They don't want to come to my website and sign up, get API keys,
00:15:50or sign up, or set up the billing, which is, like, you know, very cumbersome. What they want, really, is just
00:15:57come, take -- do a service request and get the data back. That's it. And I want to make money out of it. So, how do I
00:16:07charge for a single API call? Let's take a look. So, here is something I love. HTTP 402. Payment required. It
00:16:17has been in the spec since the beginning, 1997. The original authors put this thing in there for a future
00:16:25use case where machines can pay for machines using HTTP. We just never had the infrastructure to do it.
00:16:35Today, we do have it. How do I charge for that? Machine payments protocol. MPP. The open standard for
00:16:45machine-to-machine payments using the HTTP 402. Five lines of middleware, and that's it. Yesterday,
00:16:52this endpoint was free. Now, I can make money out of it. So, let me just walk you over, like, the
00:16:59protocol really quick. So, the client sends an HTTP request to the server. Server knows it's a paid API.
00:17:06So, instead of responding to that request, it responds by giving 402 with a challenge. And the
00:17:13challenge is everything the client needs in order to finish the payment. So, the client reads the 402,
00:17:20the challenge, and it does the payment. Once the payment is complete, it resends the same request
00:17:27with the proof of that payment. And everything is done on, like, HTTP. No redirects, no signups or
00:17:36anything. No human in the loop either. So, let's take a look at how it looks live.
00:17:48Here is the server, up and running. One endpoint, 50 cents a query. In the meanwhile,
00:17:56an agent shows up. It has found the endpoint and wants to get the data.
00:18:04Lane HTTP GET. And it gets back a 402 payment required. And on the server, we see the challenge is
00:18:20created. The agent knows how to pay through MPPX. So, let's go ahead and let it pay.
00:18:27Great. 50 cents paid. The agent got what it wanted. And the payment is received on the backend.
00:18:51Let's go in the dashboard and take a look. Yes, you see it. All this was possible because of the MPP and
00:19:02five lines of middleware code.
00:19:07So, this app started as a weekend project. It consumed services to get built. And now, it has services to
00:19:16offer to the world. So, my app is using Stripe directory to get built itself. Now, my app is on the
00:19:29directory for others to get fined. Let's take a look. This is how it looks. My app on the Stripe
00:19:37directory is ready to be called and get paid. So, the agent e-commerce or machine-to-machine economy
00:19:48isn't coming. It's here today. And we have the tools to help you build for it. So, are you open for
00:19:56agents? Today, you can be with Stripe. So, please leave us if you have any questions in our booth. Thank you.
00:20:05Thank you.

Key Takeaway

Building for the machine-to-machine economy requires standardizing how AI agents discover services, manage wallets, execute web page-free checkouts, and monetize APIs via HTTP 402 protocols.

Highlights

  • Stripe Projects enables developers to provision infrastructure across 52 live providers like Vercel with single CLI commands and consolidate all billing into one Stripe invoice.

  • Stripe Directory acts as a searchable registry that serves structured JSON to AI agents, eliminating the need for web scraping or guessing API capabilities.

  • Link Agent Wallet authenticates coding agents to initiate spend requests while requiring biometric confirmation from humans for every transaction.

  • Universal Commerce Protocol (UCP) and Agent Commerce Suite (ACS) standardize product browsing, cart creation, and checkout without loading traditional web pages.

  • Machine Payments Protocol (MPP) utilizes five lines of middleware and HTTP 402 Payment Required to enable instant machine-to-machine API monetization.

Timeline

Provisioning Infrastructure via Terminal Commands

  • Traditional web app setup creates friction for coding agents due to separate billing forms and vendor management.
  • Stripe Projects provisions databases, authentication, and hosting tools dynamically from the terminal across 52 live providers including Vercel.
  • Consolidated billing pipes all infrastructure costs from various services directly into a single Stripe account invoice.

Setting up infrastructure usually stalls autonomous coding agents because traditional provisioning involves filling out forms and managing individual vendor billing accounts. Stripe Projects addresses this bottleneck by letting terminal commands trigger raw credentials, dynamic accounts, and database provisioning automatically. The underlying secret keys store securely inside Stripe Secret Store while aggregating total backend overhead into one consolidated bill.

Service Discovery with Structured Registries

  • Unstructured web searches yield non-deterministic results that prevent autonomous agents from finding specialized endpoints.
  • Model Context Protocol (MCP) standardizes tool execution, but agents still require a registry to locate endpoints.
  • Stripe Directory serves structured JSON detailing endpoint availability, feature support, pricing, and exact calling parameters without web scraping.

Searching the web for niche live endpoints like race data or elevation profiles often fails due to non-deterministic results and fragmented site designs. Stripe Directory resolves this by functioning as a searchable registry built specifically for AI discovery. Running a query via the Stripe CLI returns structured JSON comparisons of endpoint pricing and execution capabilities, allowing agents to select and integrate compatible tools instantaneously.

Securing Agent Spending with Link Agent Wallet

  • Handing raw credit card credentials to coding agents presents severe security risks and uncontrolled financial exposure.
  • Link Agent Wallet authenticates an agent to request spending without exposing raw credit card details.
  • Biometric user approvals remain required on every individual micro-transaction created by the agent.

Granting agents unlimited access to credit cards introduces major safety and liability risks. Link Agent Wallet provides a 30-second setup alternative that securely links spending power to an agent while keeping payment credentials protected. When an agent encounters a paid endpoint—such as a 15-cent request fee—it generates a spend request that forces a biometric user confirmation step before funds release.

Standardizing Agent-Led E-Commerce with UCP and ACS

  • Traditional e-commerce checkouts depend on browser-based user interfaces built specifically for human interactions.
  • Universal Commerce Protocol (UCP) allows agents to browse catalogs, assemble shopping carts, and execute checkouts headlessly.
  • Shared payment tokens pass transaction limits directly to merchants without exposing PCI-sensitive credit card data to agents.

Existing digital checkout flows rely on visual web pages designed exclusively for human navigation. The Universal Commerce Protocol (UCP) and Stripe's Agent Commerce Suite (ACS) remove this web browser dependency by providing an open standard for machine purchasing. Using single-use shared payment tokens, agents submit pre-approved spending limits directly to participating merchants, keeping communication channels out of PCI compliance scope while securing transactions.

Monetizing Machine APIs Using HTTP 402 and MPP

  • The HTTP 402 Payment Required status code provides a native web standard for machine-to-machine financial exchanges.
  • Machine Payments Protocol (MPP) implements HTTP 402 challenges to enable per-request API monetization.
  • Integrating five lines of middleware allows systems to collect micro-payments automatically without accounts, logins, or manual keys.

The HTTP 402 status code lay dormant in web specifications since 1997 due to a lack of payment infrastructure. The Machine Payments Protocol (MPP) activates this spec by allowing API providers to wrap endpoints in five lines of middleware code. When an agent requests data, the server challenges the client with a 402 status containing payment instructions; upon instant payment via MPPX, the server fulfills the request without redirects, registration forms, or human interventions.

Community Posts

View all posts