Circle Workshop I Corey Cooper
ETHGlobal·Tue, Dec 9, 2025, 12:00 AM
Join Corey Cooper for a workshop titled "Circle Workshop", 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 right. Um, first and foremost, thank you everybody for coming to this session. Uh, it really means a lot that you all care about the products that we're building, uh, and interested. So, um, first and foremost, thank you for taking the time to listen to this session. U, we're we're here at ETH global.
It's very exciting time. Uh, Circle just launched ARC which is our open L1 EVM compatible chain uh for public test net that came out October 27th. This is the first hackathon uh with ETH global that um you developers will have access to it to build uh some amazing products around it uh for us to check out and hopefully evangelize and help you scale up. And so uh let me jump right into basically building on ARC and also how our circle developer platform uh complements you to to build on ARC u and do a lot of cool things on chain uh via SDKs and APIs. So um just to kind of start ARC you know is our it's our L1 chain we recently launched and uh it is a economic operating system and I know a lot of people are trying to understand well what does that mean?
What it means is you're getting a ledger [clears throat] that has um two stable coins already deployed that are very compliant stable coins. You have USDC, you have uh EURC. So you can create um dollar accounts and euro accounts really easily with our blockchain. But we also went a step further and added a lot of interoperability technology as well. Uh that technology includes gateway and CCTP.
And I'll go into uh some of these things um as well to show you how to use these tools to build uh very very powerful uh multi-chain flows leveraging arc in our dev tools. Like I mentioned before, it's it's a L1. So oh, guess we're having issues, but it's an L1. It's EVM compatible. So um you don't have to change much in your flow right now.
All their smart contracts that work on other EVM chains can easily be deployed to ARC and will work out of the box with no changes. Okay, let's see. Yeah. Yeah, it's fine. All right, we're back.
We're back. Yeah. So, um like I mentioned earlier, uh EVM compatible. So, this doesn't break any of the flows um or or learnings that any of you developers have learned to build on other EVM chains. So all the innovation in the Solidity ecosystem can be carried over to Arc and take advantage of some of the benefits that our our chain offers uh at the primitive level.
Um to dive a little bit deeper, there was some guess we're having issue again. Um there were some some design choices we made um based off of our learnings in helping builders build programmable money flows on chain. And some of those decisions are the first is the USCC is the native gas coaching. So you want me to just do it from here and and I go in slideshow mode. I can just Can you all see this instead of me seems like when I go on slideshow mode things just you know break.
So maybe I can just exit out and just go through the slide. Is this fine? Yeah. Yeah.
All right. So, I'll just do this. It's fine. I'll just go through here. That's okay.
Yeah. So, the first thing you'll notice is uh USDC is the native gas token, right? So, that means that um you can pay for gas fees with USDC. uh it makes for a great transaction US uh UX if you are actually building a lot of uh programmable flows using USDC as the token of choice that maybe your enduser or business is interacting with. Uh one thing to note is since USDC is a native gas token we have two different interfaces.
So uh the native gas token USDC is in 18 decimals similar to what you would see with ETH. Uh and then we have a ERC20 interface that's six decimals and that's what you interact with to take advantage of the ABI functions that you normally are used to using when you're transacting with USDC on other EVM chains. And so um the other thing around ARC is um like I mentioned earlier is the crosschain interop. We have two primitives CCTP which allows you to route um you know liquidity from one chain to another. We have like over 20 routes by birectional routes um and transacting you know crosschain with ARC and other chains can be accomplished using CCTP but we also recently launched over the last six months gateway and gateway is another crosschain primitive that allows you as a developer to take all of your USDC balances across multiple different chains and unify them as one and then transact act on wherever chain you want to go to.
So if you're building something like a wallet app or treasury management on chain gateway is like a really good use case for you to consolidate all these balances that you have across multiple chains. Maybe you're receiving USDC from different people on multiple different chains, but then you want to consolidate those into one balance and be able to do whatever transaction you need on any other chain that we support. And it's really fast. Um basically um you can go from um chain A to chain B from gateway in less than like 800 milliseconds. Super fast.
So um that is that's another interop feature that that ARC has built into it. One of the other things is a deterministic functionality um you know that we have. So deterministic finality. So basically transactions are final after one confirmation and right now um it's hovering around like 700 milliseconds to get finality for your transaction. Um we have um combined basically Malachite the consensus engine with um rewritten it's like tenderint r rewritten in rust and it it gives us the ability to actually get to that subsecond finality with very fast consensus and then also to we've combined it with basically an Ethereum execution layer written in rust which is ref and so when you combine those two things.
You get very low latency and then it enables us to actually scale up without you know having uh too many issues to get higher throughput as well. Um and so so the chain is really really fast. It's like a Ferrari when it comes to transactions. Um and then we have future features and functionality that we're adding uh around privacy. So um in the future there will be ways where you have the ability to opt in in privacy with your transaction.
So you can send transactions that will be publicly viewed and then we have ability to allow you to opt into our opt-in privacy protocol where you know the balances will be um you know um will be hidden from those transactions as well. uh for companies and businesses and use cases that actually need some sort of privacy around uh transaction activity on chain. So here is uh a kind of highle overview of our stack. So um we've got the base layer covered with ARC and then when you go above that base layer you see these premium assets USDC and EURC. Um, we've done an excellent job, I think, as a company of making sure to have the most compliant digital dollars uh and digital euros uh that anybody can find.
And so what that does is that enables you to build on a money protocol that a lot of businesses can interact with globally and banks as well. And then we recently launched USYC, which is a tokenized money market. And so um developers who are building for a certain caliber of user um that is accredited investor can build you know these type of products where um you can offer onchain yield that can be redeemed for USDC 247 which is something that's very novel and new when it comes to money market to be able to get in and out 247 into um you know a a version of the dollar that is super liquid and has a very robust on and off ramp. And then above that those primitives, we have our developer services. And so those are our APIs and SDKs that allow you to interact with these assets as well as the chain very seamlessly.
And uh starting on the far left, we have our developer services, which is our wallet as a service. We have um um contracts as a service as well. So that allows you to basically uh deploy contracts and manage your your smart contract operations via our APIs and SDKs. And then we have uh CCTP which is a crosschain transfer um protocol SDK. So, um, to make it a little bit easier for you to integrate CCTP, we've launched what we call bridge kit.
And basically, it allows you to interact with our CCTP protocol with less than like 10 lines of code. And you can go from EVM to non EVM chains. And then we have gateway um, like I mentioned earlier as well as our our paymaster solution. Uh, and then in the middle we have our liquidity services. So for our financial institutions uh we we offer Circle Mint and uh Circle Vault.
And so these are for um our financial institutions who meet basically the regulatory requirements for us to offer uh institutional on and off ramps. And then in the far uh right we have uh Circle Payments Network. And so circle payments network is um is is basically us kind of we built all these relationships with these banking partners around the world that want to move uh money around the world. So these are fiat to fiat transactions. And so we basically um offering a product now for you know banks, businesses and individuals to move money around the world in multiple different currencies by way of USDC being kind of like the conduit of you sending that transaction over a public blockchain for faster uh settlement.
And so think of someone who wants to go from Mexican pesos to US dollars. They would use Circle Payments network and they would, you know, basically on-ramp from pesos to USDC, go across the arc network and then off-ramp into USD into a bank account. And so the payments network APIs allow you to to build these very um novel fiat to PII flows where USDC is is handling basically that that middle piece of giving you fast you know uh settlement within minutes because it's going over a public blockchain. And so these are like some of the use cases that you know um our tools combined with ARC are helping developers build. But there's also like things that aren't listed here um that um you know I think developers in this room are going to be building that are they're going to bring way more innovation to to money movement.
But um you know we're very excited you know for you all to to build and so um just want to give you all as much inspiration as possible. Uh but but please go beyond these use cases that are listed here because we we think there's some brilliant minds in this room and that's why we're here offering these tools uh for you all to build on. I'll jump into um you know the CCTP and bridge kit. So basically CCTP is the protocol um and and what it does is it allows you to you know basically burn USDT from a source chain and mint USDC on a destination chain. So that's how the methodology of money movement happens in our protocol.
Um and so you know we've we've created a SDK right around CCTP um in Typescript and in um Python for developers to basically build these experiences where they're moving liquidity uh by way of USC or crosschain and it's only a couple lines of code that they have to plug in to do these things. And so I really encourage everybody here to test out bridgekit. Um if you're moving liquidity across chain and you're building some type of crosschain experience. One thing too is with CCTP become a very popular choice in the ecosystem around movement of liquidity across chain because there's no slippage. Um so you move $1 of USDC from chain A to chain B, it's one for one.
Um, and because we are actually burning the USDC from the source chain and minting on the destination chain, there's no liquidity pools that we're managing to kind of, you know, front run and give you liquidity. See, I got five minutes, so I'm going rush through this. Um, we'll jump into Circle Gateway. And like I mentioned earlier before, you know, um, we're live on 11 chains right now. And like I said, it allows you to consolidate your balances into one and then zap that money over to whatever chain that we support.
Um, and doing it with um from starting an arc to another chain or multiple chains is is a very visceral experience of money movement. U it's so fast. So ARC you you deposit your funds into the gateway wallet contract on ARC the source chain that happens within like 500 milliseconds and then now you have it in a state where it can be minted on all these different destination chains in seconds. So you can design really cool wallet experiences uh for your end users uh who may want to you know engage in different DeFi activities and they don't know where they want their money to be at any given time because a lot of things change but they want it to be in this interop state where it can it can be zapped really quickly to take advantage of of certain trading activity or things they want to do in DeFi. The circle wallets is is just a simple wallet as a service.
Um and we have multiple account types. We have our developer control. So it's more for embedded wallets in an app. We have our user control for um offering a non-custodial experience where the enduser controls the private keys uh in the serer. And then we have our mileage driller wallets which is uh pass key support non-custodial experience where end users can spin up wallets and they control the actual keys.
Um what I'll do really quickly is I'm going to try to show you guys a demo of gateway. Um let me how many minutes do I have? Let's see. Let's see. Well, I'm going to try to show you real quick.
Okay, so this is a simple app. Uh this is how to use Circle Gateway with um our developer control wallets. So I'm gonna create some wallets here. Let's see if this will work with the internet connection. All right.
So I just created a wallet set. I've got a source wallet or my destination wallet is base. If I run back here and look at my console wallets, we can see those wallets were created. And this is the developer console here. Um, so let's go here.
These are developer control wallets I created. They're two EOAs. So these are the two wallets I just created. Um, so what I first want to do is let me uh fund this wallet. So let me go to the faucet right here.
They're going to fund it. Fund it with some USC.
All right.
Okay. Oh, let's see. Let me see something. Let's go here. I'll just find it from here.
All right. Okay. Okay. So, let me try this. Let's go here.
And I need to uh fund my base wallet on the destination chain with some testn net e so it has some e to sign the actual minting um ABI function to mint on the destination chain. So let me try to see if I can top it up with some test e. Let's see. Okay. Come on.
Come on.
Two minutes. All right. Hopefully I can get this done in two minutes. It looks like uh internet's going pretty slow. Let me try.
Okay. Come on. Let's see. Wow. All right.
This couldn't have been.
Let me show you what the deposit flow looks like. So, I'm going to deposit, let's see, $3 of USDC into the gateway. um wallet contract on ARC, right? So, you notice I just topped up my wallet with just USDC, right? I didn't have to get on ARC, right?
So, it's it's depositing and it's using uh basically USDC to pay for the gas for this this um actual interaction with the smart contract. Let's see. The internet is just really really bad. Um, yeah, it's going in and out, but it looks like the deposit flow I think getting stuck. So, it's trying to approve the spin.
If
I had better internet, I could show you guys the flow. Uh, any questions? Um, yeah. Yeah.
Right. So, so right now there is it supports 712. It doesn't support 7702 yet. Um, but you the only you can't sponsor that minting. Um, what you could do, well, you kind of could sponsor.
So what what what happens is on the destination side when you call the minting contract you could use basically the um the source wallet's private key or whatever and uh to basically handle the mint and then you could actually forward that transaction to whatever recipient uh address you want to send it to. So basically like you can use basically your wallet that you use to initiate the gateway contract on the source side as like a relayer or whatever. So on the minting side it allows you to forward transactions to any address and then you can just use basically that source wallet that has the ability to call the minting on the destination chain as a a relayer. Yeah. So it gives you the options in the actual AI functions to just send to any recipient address, but you have to sign with the same wallet address and private key that actually initiated the source deposit because you get like a burn intent and have to do that match.
Yeah.
Yeah. Yeah.
Great question. And so right now all of our interop support just USDC right now. Um but we are going to start you know in the future opening up multiple assets that support these interop tools. Uh because there's a lot of demand of questions like this but yeah it's coming soon.
Yeah. So yeah, we have a list um in our uh developer docs. Uh if I can pull it up, but yeah, on our developer docs, you can go to Okay, you can go to those those different products and we have basically a supported chain section and I'll have the whole list of everything for you. Looks like I got a my mic's getting cut. So yeah, we could we could talk after if you have some additional questions.
Automatic transcript — names and jargon may be misspelled.