Building With x402 Agents, Paid APIs, & Embedded Wallets I Josh Nickerson and Erik Reppel
ETHGlobal·Tue, Dec 9, 2025, 12:00 AM
Join Josh Nickerson and Erik Reppel for a workshop titled "Building With x402 Agents, Paid APIs, & Embedded WalletsM", featured at ETHGlobal Buenos Aires 2025! _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 🇦🇷 *ETHGlobal Buenos Aires* This workshop is specifically for ETHGlobal Buenos Aires, a 3-day hackathon held November 21-23 at the Centro de Convenciones Buenos Aires, bringing together the most skilled web3 developers, designers and product builders from all around the globe for a weekend-long adventure to advance the Ethereum ecosystem! Watch the full ETHGlobal New Delhi 2025 playlist here: https://www.youtube.com/playlist?list=PLXzKMXK2aHh76O7FfAHPJkZcqTIfYpoyf _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ✅ *Follow ETHGlobal* X: https://x.com/ETHGlobal Warpcast: https://warpcast.com/ethglobal Website: https://ethglobal.com YouTube: https://www.youtube.com/c/ETHGlobal _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Are you interested in Ethereum development and entrepreneurship?_ 👉 Sign up for the next ETHGlobal event: https://ethglobal.com/events 🎁 Get exclusive access and perks with ETHGlobal Plus! https://ethglobal.com/plus 📣 Want us to throw an event in your city? Tell us where! https://ethglobal.com/city
Transcript
All good. All right. Can you guys hear me?
Can you hear me now? Okay. I'm hoping I don't have to like lean in the whole time. Cool. Okay.
Well, thank you all for coming. My name is Josh Nickerson. Uh I'm a group product manager at Coinbase Developer Platform and I'm here to talk about building on CDP. Um I'm Jay Nix 2007 on X. If you want to like DM me, reach out.
I'm always happy to chat. Um, the first thing I want to do is get a sense of who's here so I can kind of tailor the workshop appropriately. So, if you're like, this is all kind of new, first hackathon, maybe don't even think of yourself as a developer, can you raise your hand? Awesome. Glad you all are here.
Okay. If you're like pretty experienced web 2 developer, but like crypto is new. Anybody in that group? Okay. And then I'm guessing everyone else is like pretty experienced.
Like crypto is good, development is good, done this a million times. Is that is that like every who's everyone else? I missed some categories. Okay. Well, I I I hope that you all get the most out of this.
I'll try and like tailor it appropriately. Here's what I'm going to go over. Um the goal of this workshop is to help you win $5,000 this weekend because we have four $5,000 prizes and I'm going to give you the alpha on how you can best position yourself. The more important goal is to hopefully help you set you up with the skills that you need to build something on chain that extends beyond this hackathon, helps enrich the world, and enrich all of you, which I know everyone cares about. So, I'm going to go over uh our prize details so you understand what's eligibility look like, uh what are the different things you can use.
I'm going to do a quick run through of just CDP holistically. Um I'll go through two deep dives, one on embedded wallets and one on X42. that's uh going to be take up a little bit more time. That includes some demos and some code snippets that we'll look at. Um and then lastly, we'll do some practical like get you set up to start your project, get your CDP account, your API key.
Uh I'll also tell you about this MCP server that you can use to make um AI assisted development a lot more efficient. And then if there's time, we'll do Q&A. So if that's what you're here for, you're in the right place. Uh if none of that's interesting, feel free and walk out. I don't want to waste anyone's time.
Okay, cool. So, let's start with prize details. So, like I said, four $5,000 prizes. The eligibility criteria is pretty dead simple. Just use at least one of our developer tools and you're eligible.
Uh that can include our embedded wallet, which is good for end users to sign into an app. We'll deep dive that later, so I'm not going to dwell on it right now. Uh that can be our server wallet, which is a backend wallet where you control it. You have custody and that's good for if your app needs backend for some kind of onchain automation or for AI agents especially, it's a good wallet. um X42, we're going to do a deep dive.
But if you use X42 with our facilitator, you're also eligible. And then we have some data APIs, a trade API for onchain swaps, uh anything else that you see in our documentation. Um you can boost your odds if you use more than one of these products. So you can have like embedded wallets for users, maybe they're interacting with an agent that has a server wallet. That agent is paying for things with X42.
If your project shows this better together story with multiple CDP tools, your odds are higher of winning. Um, if you give us really thoughtful feedback on how we can improve on what worked well, what didn't work well, that goes a long way. Like we weight that pretty heavily. And then lastly, if you post your project on socials, tag Coinbase, Dev, uh, that matters a lot, too. Um, cool.
So, that's just the prize tracks. I'll do 30 seconds on CDP. So CDP exists, Coinbase exists to drive this flywheel. We have more onchain builders. We have more apps that people want to use, leads to more users, leads to more assets on chain, more companies on chain, more institutions and even governments on chain.
And this spins faster and faster and accelerates us to a world with more economic freedom where people can build and create and earn and save and invest and grow and uh collaborate in the most optimal ways that unlocks human potential. That's the world we're trying to create. So different parts of Coinbase push on different parts of this flywheel. Getting more users in. How do we get more apps on chain?
How do we get companies on chain? What Coinbase developer platform is doing is empowering builders so that you all can bring the world on chain. We're providing all the developer tools, all the crypto infrastructure that Coinbase uses in its own products for anyone to use to build on chain from like a solo dev at a hackathon to a large enterprise trying to come on chain. That's what CDP is. Uh quick embedded wallet deep dive.
So, this is u a wallet where your users can sign into your app and they get a wallet under the hood, but it's it can be completely invisible. They may not even know that they're using crypto. So, they just sign in with some kind of familiar web two friendly O method. We support a bunch of different ones. Could be email, could be signin with Google or X.
Uh I think there's five or six that we support at this point. We're adding more every week. And they get a wallet under the hood that is non-custodial. They control it. uh the user controls it and you can enable them to do whatever it is that they want to do on chain whether it's investments interacting with an agent uh crossber remittance payment flow um and you can highly customize what this experience looks like this demo is this is demo.
cdp.coinbase.com coinbase.com. You can go here and play with it, but it's showing you can customize what this sign-in experience looks like, what the wallet experience looks like to the look and feel of whatever your app is.
You control every aspect of this. We've got React libraries with hooks if you want super low-level control or we also offer React components out of the box that can help you move faster um depending on what level of control and customization that you want. Um, so this is really powerful. If you're going to build something this weekend where users are going to sign into it and they're not connecting a wallet that they're bringing with them, you want to give them a wallet under the hood that can do all these things. This supports any EVM chain.
Um, supports Salana as well, but not relevant for this weekend. I don't think there's too many of you that are building on Salana this weekend. Um, it also has an X42 hook that we launched yesterday. So, if you're enabling your users to then uh say call an API endpoint that might be gated by X42, which I'll talk about in a sec for onchain payment, there's an easy hook that just makes that very simple to integrate into your client side. Um, and then yeah, not maybe not relevant for this weekend, but these wallets also offer Coinbase's USDC rewards program.
So, USDC balances sitting in these wallets, developers earn 3.85% uh USDC rewards on all those balances. Cool. Hopefully we'll have time for Q&A at the end. Uh I'll talk through X42, which I know a lot of people are interested in experimenting with this weekend.
If you follow crypto Twitter at all, it's kind of exploded in the last like four to six weeks. Um that's true too of the level of activity that we're seeing on X42 in terms of transaction volume and payment volume. Um so a lot of people have maybe heard about it but are like what is this X42 thing? So I I'll spend a minute on that and then for those of you that already have that context, I'll go deeper into how you could use it this weekend. Uh, so X42 is is this is kind of the primary problem shown on the screen that X42 is solving.
If I'm building an AI agent and I want it to make API requests, whatever the API might be, or I want it to like pull some kind of data, or maybe I even want the AI agent to be able to pay for its own inference or use like an inference provider that's API based. Today, I have to know that all those things exist. I have to go to each of them, set up an account, add my payment method, get an API key. Then I have to go back to my agent and I have to plug in all those API keys. If I want to add more over time, I have to like go do all that again and go come back and plug it in.
And it's kind of a painful process. So X42 short circuits all of that. It kills the API key. with X42. This is an open protocol that we've incubated within Coinbase, but that we're we're spinning off into its own foundation actually where it's just bringing onchain payments and making them as native to the internet as HTTP itself.
Uh so with X42, the agent can have a wallet. It can call an API that has integrated X42. That's just like three lines of code on the server side to do it. Uh the API can return a 402 response. You've probably all seen this like 404 error like when you try and load a web page.
402 is a similar HTTP status code that just means payment required and it tells it the AI agent, hey, you have to pay to use me, pay this amount of this token on this chain to this address and the AI agent can uh create that transaction uh formulated into a payment header, send a retry request to the server uh and then the server calls this component called a facilitator that will then verify and settle that payment on chain. And so with no API key, with no human in the loop, the AI agent can use any API. This also includes a discovery endpoint. So the AI agent, you don't have to know ahead of time which APIs might my agent need to use. The AI agent can hit this discovery endpoint and automatically get a repo of these are this is the catalog.
These are all the APIs that have integrated X42. Here's what they do with some metadata. Feel free and use any of them. They all accept payment on chain. Uh, so this is pretty gamechanging for AI agents being able to pay for things autonomously.
Um, you can also use this for the user side of things where imagine those times when you try and read a news article and there's a payw wall and it's like you got to subscribe and like set up an account and pay $12 a month or whatever it is. Uh, you can gate that kind of content using X42 as well where what if it's like just a one-time you've got a crypto wallet like either embedded in the site or that you've connected and you can just pay 5 cents to read the article. It enables this pay peruse kind of a thing. Um, we talked about like why is it called X42? 402 is a status code.
The X is extension. So, it's extending this status code to enable these onchain payments. Uh, so we can see this in action. Um, I'll come back to this screen if you don't get a chance to scan these QR codes immediately, but um the this one is a live demo that I built like a week ago. Um, that shows you just a very simple example of what X42 looks like.
So, this is a website. In fact, I'll I'll just go pull it up uh here.
Okay, so this is Let me just expand this.
So, pretty simple. Um you can sign in with a CDP embedded wallet. I'll do that real quick. I've enabled a number of O methods, but we have even more than this. But I just sign in with some simple friendly O method.
This is my X account. Get an embedded wallet under the hood. Uh in this case, I've already got some funds in it, but if I needed to, I could faucet some funds. And so this is an X42 enabled endpoint that's pretty simple. It's I just call the endpoint the API and it returns a quote.
But I've gated it with X42 where I have to pay 1 cent in USDC on base to to call this API. And so you could imagine an AI agent doing this. In this case, I'm demonstrating it with a user doing it. But I can just click this button. It's calling the API.
The API is saying 402, you need to pay me. Then the client side is making the payment. Server is validating that with a facilitator. And then this all goes through, you know, in less than a second. And I get this great motivational quote from Vitalic um on how blockchain and finance are colliding, which is what you just saw happen.
Uh so this is kind of just a cool toy example. At the bottom of this website, there's this expandable widget with just a detailed playby-play of exactly what is happening here. What does the 402 response that the API sends look like? What does this the um payment uh retry look like? What does the service call to the facilitator look like?
So, if you really want to deep dive deep into the guts of X42 and how it works, this explains all of it with code examples. So, that's what that uh looks like. You can go to the GitHub repo of this. That was the other Uh that was the other QR code that I'll flash up. Um so you can go to this GitHub repo.
You can fork this and like just use it for your project and just repurpose it as a quick scaffolding to get started. Um because it's already got the client side implementation of embedded wallets and X42 and it's got the server side implementation of how would you uh enable X42 for an endpoint and call CDP facilitator. All of that's already happening here. Uh so you can see the client and server code. Um, we go into the server here.
Uh, we could find the part where um, it's just saying this is the X42 enabled piece of this where here's my price, here's my network. Um, there's this payment payment middleware call. So, it's like super super simple to integrate on the server side. All right, I've got eight minutes left. So, I'm just I'm just tracking the timeline, everyone.
Okay, so I'll leave this up for a sec, but um the one on the right is if you wanted to fork that repo, that QR code just goes to that GitHub repo of that simple toy example that I just showed you, which can be a good launching point. From there, you can customize the UI, you can add functionality, you can do a whole bunch of things.
Cool. Let's do some um practical setup. I don't see a lot of people with laptops out, but um if you if you wanted to actually get started right now, you're feel free and actually to follow along with these or maybe just take a picture of it. Um, if you don't already have a CDP account with CDP API keys, you can get those at portal.cdp.
coinbase.com. There's no KYC to create an account. This is a dev platform. It's separate from the Coinbase like exchange thing.
So, it's it's super easy to get started. Just an email. Um, let me walk you through what this I'll let folks take pictures and then I'll walk you through what this looks like to do it. Why this keeps going to like I think I lost Wi-Fi.
All right. Sorry. I don't know what's going on with the Wi-Fi, but anyway, you can go to portal.cdp.coinbase.
com to get the API key and get that set up. Um, I don't have like any I don't know what's there's a problem back there or like all my all my stuff just went away. Okay, here we go. Sorry about that, guys. Um, okay.
Okay, the other thing I wanted to tell you about is there is a Coinbase dev MCP server that if you're using cursor or any other AI enabled IDE this weekend, um, if you just go to our docs, go to develop with AI, go to setup, go to MCP, um, you can use this, plug it into your AI enabled IDE, and it makes it instantly an expert on all of our documentation, how to use everything in CDP, um, so that you don't have to like copy and paste like how to do different things. It just has access to all of it immediately. The other thing was if you're using X42 this weekend, uh I might suggest orcing uh and cloning the X42 repo locally so that your AI enabled IDE has access to that. Um and then if you need to do something like orc your own facilitator or modify the X42 client or server code, maybe because you're using a chain besides base, um you can do that and you'll be able to do it really easily if you have the repo locally.
Cool. I think we have a few minutes left. So, if there any like questions that I can help with.
Yeah.
The X402 um gated API calls. Does it only work once or can this work for like something that can that is like a monthly subscription or something or you have to make a payment every time you want to make that request?
Yeah. So, um, the V1 of the spec, which is out right now, is just like a one-time thing. So, it's just kind of pay thing, right? The price can vary, the token that you pay in can vary, those kinds of things. Um, V2 of the spec is coming out soon.
If you go to the public um, X42 GitHub repo, um, there's like commentary that's happened over the last number of weeks that's going to enable this use case of more like subscriptionbased or like variable price um, kind of models, but that's not in the spec yet.
Any Yeah. question. Uh, thanks for your presentation. Uh, quick question. Um, what would you say is the u latency of uh, you know, the round trip for going through um, the X42 all the way, you know, to getting some user feedback.
So, imagine you know what's what's like the fastest you can get more or less.
Yeah, I don't have a quantifiable number for you. I can I can take that as a lookup. I think it's on the order of like a couple hundred milliseconds and you saw when I did it in the UI, it was fairly quick, right? Um, so from a user perspective, it's fairly instant. If you're using like an agent for some sort of like very latency sensitive workload, maybe or maybe not.
It would meet your your needs. I don't know. But I can look up what the specific number is.
Yeah, 200 is good for me. Thanks.
Okay, cool. Other questions?
Yeah, up here.
We got like three more minutes.
Yeah. Um, can we uh pay with other currencies uh the X402 uh middleware like if I want to pay in E or in other token? I you can I think that you might have to modify the facilitator and do a self-hosted version of it. Um because the facilitator uses EIP um I think it's 3009 is the the number I might have the number wrong but it's transfer with authorization which I think only USDC supports if I understand it correctly. So you might run into that limitation and need to make some modifications of your own.
Okay. Okay. And uh yeah the foret is directly direct to the right USDC smart contract in sepia.
Sorry, can you say it again? You um you have a fauet for the base USDCA.
Do you have a a faucet? A faucet for set.
I'm sorry, I'm not understanding.
Like do you have a the faucet?
Oh, a faucet. A faucet. Yes. Yes. Yes, we do.
Yeah. We have both.
We have a UI based faucet and um an API based faucet that give you USDC on base. Yes.
Cool.
Yeah.
Question over here. Does does embedded wallets works with other chains different than base?
Yeah, the embedded wallets and the server wallets.
Yeah, any EVM as well as Salana?
Anything else?
Cool.
Yeah. One of the really, this is more of a comment than a question, but one of the really cool features of X42 is the ability to chain tool calls together. And so, traditionally, when we want language models to call tools, we need to configure every single API uh to be called as a tool at the language model level, X42 really flips this model on its head so that agents can discover, reason about, and then pay for tools. And so, I can say like, "Hey, language model, I want you to pull the latest news for my favorite football team." and then uh par take take that news parse it into a prompt push that prompt into a video generation tool like sword 2 create a meme video and like clank it or coin it.
Um and you can do that really frictionlessly with X42 and so the real power is the ability to chain these tool calls together without the need for human loop configuration of each individual tool call.
Awesome. Thanks.
Not really questions.
I I think we're at time. Thanks everyone. I'll stick around for a few minutes. You got other questions? Happy to chat.
We'll also be at the booth all weekend. Thank you.
Automatic transcript — names and jargon may be misspelled.