AI Engineer World's Fair 2025
Automating Escrow with USDC and AI
About this talk
Circle developer-relations presenter Corey Cooper demonstrates how AI can interpret agreements and verify completed work before Solidity smart contracts release USDC held in escrow. The workshop covers Circle developer tooling, transaction monitoring and webhooks, an open-source escrow-agent demonstration, and audience questions about Ethereum gas costs, document extraction, zero-knowledge proofs, and human approval.
Chapters
- 0:00Introduction: Circle, USDC, and AI-powered escrow
- 26:02Escrow workflow, agreement publishing, and developer-console monitoring
- 35:15Document demonstration and end-to-end application flow
- 42:37Ethereum gas, structured document extraction, and Solidity escrow code
- 51:27Ecosystem tools, zero-knowledge proofs, and human-in-the-loop questions
Talk transcript
- 0:00
[on hold music] For a show of hands, how many people in this audience know who Circle is, what we do?
- 0:23
Um, just, just trying to gauge. Okay. Okay. Um, do you know anything about our developer tooling? Gotcha. Gotcha. So nobody. [laughs] Okay, so this is good. All right. [clears throat]
- 0:37
Um, first, you know, I just wanna introduce myself. Uh, my name is Corey Cooper. I lead DevRel at Circle. Uh, this talk is about the intersection of some exploratory work we've been doing internally [clears throat]
- 0:50
between AI and programmable money. And, um, you know, one of the things we noticed, um, a trend in with USDC, uh, when Circle launched its digital dollar technology is that, um, it was an order of a magnitude better at doing es-escrow than traditional payment rails.
- 1:09
And so, uh, combining USDC with AI gives you a way to do some type of verification of, uh, workflows that are, uh, happening, that need to be met in order for an escrow agreement to be, uh, honored.
- 1:24
And then you get instant settlement with, uh, a stablecoin that can settle, um, faster than T+2 around the world. [clears throat]
- 1:35
So in this presentation, what we'll do is I'll give you a background on Circle. I'll give you an overview our, of our developer tooling. Then we'll jump into our smart contract, um, that powers USDC, the technology that makes it a programmable dollar and, uh, and gives it features and attributes that you can't do with, uh, a digital
- 1:55
representation of a dollar in traditional, uh, payment rails. And then we'll end off with giving a live demo of our escrow agent application that we open sourced recently and, um, allow you all to set up this in your environment.
- 2:11
If you want to locally, I can walk you through doing that today, or we can just do a Q&A. You can ask some questions about, um, you know, anything about, you know, our dev tooling and, and where we see this marriage between agents and USDC going. [clears throat]
- 2:29
So just to give you a, a quick, um, background about Circle, um, it's a fintech company, um, that issues stablecoins. Um, we were established in twenty thirteen, um, and some of our, our backers are the pillars in the financial services industry, like BlackRock and Fidelity.
- 2:48
The reason for that is because we've, we've done, uh, a really good job of providing trust and transparency that the digital tokenized version of the US dollar or the euro that we deploy on different blockchain networks is backed one-to-one with fiat, uh, and short-term treasuries in a bank account.
- 3:11
So it's fully reserved a hundred percent. We also have led the charge in [clears throat] regulation around this industry and really helped, um, regulators around the world think about this as a groundbreak-breaking technology for payments.
- 3:28
And, um, as you see, there are some things that are happening in the US and across the world where, um, laws are being passed to regulate stablecoins, which we're happy about because it's gonna give businesses and individuals an opportunity to take advantage of this technology. [clears throat]
- 3:45
And so, um, another note is, um, you know, since inception, we've been able to, uh, be responsible for settling over twenty-six trillion dollars of, of transactions on, um, roughly...
- 3:59
We're on roughly twenty different blockchains and growing right now. But, um, that, that's a, a huge accomplishment for, uh, the amount of engineering resources, the product resources, marketing resources that the company has poured into to, you know, allowing businesses and individuals to be able to take advantage of this technology and build on top of it as a
- 4:20
payment rail. [clears throat] So here is a, um, a chart, or not really a chart, it's an overview slide, a visual of the lay of the land of what we offer as a company. [clears throat]
- 4:35
Like I mentioned earlier, um, you know, we issue USDC and EURC. Um, we recently acquired a company called Hashnote, where we now have a tokenized version of a money market fund, um, which is going to give us the ability to do, um, something with money markets that were never possible for, uh, to be able to liquidate out
- 4:56
of a money market into USDC twenty four/seven, three hundred and sixty-five days a week. Um, and then we have our liquidity services for, uh, payment service providers, financial institutions, uh, where we enable them to be able to mint and redeem USDC, um, to a very secure enterprise-grade vault wallet on-chain for, uh, performing different types of use cases
- 5:20
that relate to payments, um, dollar access, as well as, uh, capital markets. [clears throat]
- 5:29
And on the far right, we have our developer services. And this portion of, um, of what we offer is what will be wrapped into what we will demonstrate today with the sample app that I will demo.
- 5:44
Uh, where it comprises of wallets, so whether a developer can embed wallets in their application [clears throat]
- 5:51
programmatically. We also have, uh, Circle Contracts, so that's a smart contract platform that enables you to deploy, uh, contracts programmatically and read to those contracts as well as write. [clears throat]
- 6:08
And then, uh, under that we have our Circle Paymaster and CCTP. And [clears throat] if anybody knows anything about
- 6:16
transacting on public blockchain networks, there is something called gas fees. And so what we've done is we've enabled, um, end users to be able to pay for gas fees within, um, USDC, so from their USDC balance.
- 6:31
So it actually feels like a traditional payment transaction as opposed to having some native token that you always have to have in your wallet to be able to transact.
- 6:41
And then since we're on all these blockchain networks, there is a lot of fragmentation that we are trying to unify, and the way we unify that is with our cross-chain transfer protocol that allows for you to move USDC between different blockchain networks permissionlessly.
- 6:57
And you as a developer can build very seamless multi-chain experiences around this, this protocol, um, so that you don't have fragmentation where someone is on one chain and they can't transact on another chain.
- 7:11
So you can do cross-chain transactions, uh, and things like that. [clears throat]
- 7:16
And at the bottom layer are, uh, all the blockchains that we natively have USDC issued on. Uh, this, this list is getting longer. Um, so but, you know, we are, we are in a multi-chain world where we want USDC to be the, uh, premier digital dollar, and so we are building all types of on-chain u-u- utility
- 7:41
around USDC as well as ERC to make, uh, this, um, you know, support for multiple blockchains more unified. So there will be some other innovations that we're gonna release in the next couple of weeks and months, um, that advance the unification of balances across multiple blockchain networks with our, um, stablecoin technology.
- 8:06
So let's, let's dive into USDC, um, and, and just really talk about the attributes that are really important to a developer. And so, um, one of the things is, you know, it is a dollar that is Internet native.
- 8:20
And so what that means is the ledger of that dollar is built into Internet technology, which is blockchain networks and smart contracts. And so it enhances the programmability, the transferability, um, to enable money to move in seconds globally.
- 8:38
And so it's not constricted to some of the, uh, friction points we have in legacy payment rails.
- 8:48
The other thing is, because it's, uh, native to the Internet, it-it's, it's, it has no borders. Um, so it works like email or, or text where, you know, you can send text or email around the world.
- 9:03
Uh, we want to make money to be that seamless to be able to transact with. And so, um, because of it being issued on public blockchain networks, it gives it the borderless, uh, freedom to be able to transact globally.
- 9:20
And then last, when you have a network that is permissionless and public and open, uh, it makes it very easy for other companies, individuals to plug into this actual network of money, um, and transact with it.
- 9:37
And so, um, it, it's scaling very fast globally because of the openness of anybody being able to build on top of this protocol for sending and receiving and storing, uh, value.
- 9:52
And so how does this work, you know? Uh, how it works is how USDC gets issued in the ecosystem is a business gets approved by Circle to set up a business account, and then they connect their bank account to our Circle Mint platform, and they wire their fiat to our reserve bank
- 10:17
account. After that, that fiat settles as USD in our bank account, then we mint the corresponding amount of USDC and credit their Circle Mint account. And so that is how USDC gets issued in the ecosystem.
- 10:35
Now, the reverse process happens when the business wants to get out of USDC. They can redeem, uh, and there is a one-to-one with, um-
- 10:45
Yes
- 10:45
... every USDC, uh, minted to a US dollar. So, um, when they wanna get out, um, they get that one-to-one parity, and so that is the trust and transparency that we provide to our customers.
- 10:59
Uh, we also, um, do a little bit of extra things, and you, you can go on our website, but we have a USDC transparency page where you can go and see our monthly attestations.
- 11:09
Um, and we have various auditors, um, that are independent of the company that continue to audit and make sure that we are fully reserved, and we, you know, make sure we ensure the trust and transparency around the actual issuance of a digital represent- representation of the dollar on, on-chain.
- 11:32
So now we're gonna jump into the USDC smart contract and really dive into, like, what makes this programmable, how does it work? [clears throat]
- 11:44
So one thing is, uh, we have, um, you know, very strict implementation requirements before we, uh, deploy USDC on a different blockchain network. And so, um, here are the things that we wanna make sure that we can incorporate in the token contract before deploying it on a blockchain network, just to make sure we have sta- standardization across
- 12:08
the board, um, you know, as we, um, expand to different blockchain ecosystems. But also too to make sure that there are safeties, uh- Uh, provisions that we have built into this actual smart contract for businesses and individuals to be able to trust and use our technology as a protocol for money movement globally.
- 12:31
And so, um, here are some of the things I'll, I'll jump into and, and, and provide a little bit more clarity around the implementation requirements. But, uh, the first is, um, allow list and block list.
- 12:43
And so this enables us to basically protect, protect, you know, um, people who use our token contract from bad actors. And so if we know someone's on a sanction list, um, you know, and, and they're a malicious actor, we have the ability to actually, um, stop them from transacting and protect other users from transacting with that actual
- 13:06
user. And so, um, it's built in for, for safety for businesses.
- 13:13
And then we have, um, spend on behalf. And so that's a feature where, you know, say if you're a business and you wanted to create a financial workflow where you wanted to enable, um, you know, somebody to spend, uh, a certain amount of money from a wallet balance, uh, and, and give them a cap on that on
- 13:32
a daily basis, um, there is functionality built into it where you can delegate for, uh, a user to be able to spend a certain amount of money from a actual wallet balance using USDC.
- 13:44
So, yeah.
- 13:45
Like, is the scenario with that, like a corporate, um, you know, a corporate account or something? Is that-
- 13:51
Like corporate business card. So say if you have, uh, some, some virtual debit cards that you're issuing to your actual, uh, employees, and the actual debit card is powered by a USDC balance in a wallet, you could design basically a workflow where you could put thresholds on how much they could spend from that corporate card.
- 14:12
Would you realistically be able to run that to like thousands, tens of thousands, hundreds of thousands, or would that not be the proper use case for that?
- 14:19
No, no, you could scale it up. Yeah. Oops, sorry. You, you could, you could definitely scale that, that delegation of spending, um, for that wallet address with a virtual debit card, uh, to tens of thousands.
- 14:33
Yeah. Yeah. Yeah. Another is, is minter configuration. And so, um, you know, we, we have the ability to, uh, add, um, you know, other, uh, entities to be able to, uh, mint from our token contract.
- 14:50
This is something that we haven't done, but there could be a future where we could partner with financial institutions, and they have a, a balance that they can mint from, from the actual token contract.
- 15:06
And then, uh, multisig transactions. Uh, this is, this is for, you know, like, if you're building some type of workflow where maybe you require the CEO, CFO, and CFOO to actually sign off on transactions that are above a certain threshold.
- 15:21
You can design these type of, um, transactional experiences to protect from, um, you know, a wallet being drained, um, based off of, like, one person having total control of, you know, the, the transaction ability of that wallet.
- 15:38
Cold storage support. Um, [clears throat] a use case for this is where maybe you know that, um, you're running payroll, uh, on a monthly basis using USDC for your employees. You know the date and time that you're gonna be sending money out, you know the amount.
- 15:56
Um, you have the ability to, to put those transactions in a ready state that are offline. And so when that date and time comes, it's ready. The transaction object has already been approved and signed, and then you can just broadcast that to the actual, uh, blockchain network to send that off.
- 16:13
So it allows you to kind of prepare transactions offline.
- 16:17
Is, is that a proof of funds, um, uh, transaction so that the-- it can ensure that the money is there when the time comes?
- 16:25
It, it could be designed for that. Uh, but it's more, it's more of you have a cadence of transactions that you know are gonna happen on, you know, a biweekly or monthly basis, and you want to make sure that that transaction is already ready to go, uh, and in a state where it's already been signed and approved
- 16:44
for, and then it can just be broadcasted at a, at a late- later date.
- 16:48
So it doesn't necessarily prevent it from bouncing?
- 16:51
Uh, no.
- 16:52
No. Okay.
- 16:52
No, no, it doesn't. Yeah, yeah. And then since this is a new concept of money, um, and we're constantly, you know, thinking about ways of how we can enhance the actual protocol of money movement, there are times where we need to pause the contract for upgrading it.
- 17:13
And so this hasn't been done much, but the most recent one was, uh, um, about two years ago, a year and a half to two years ago. And, um, you know, it's USDC version two dot two, and the main thing that we did was we, um, made it more gas efficient.
- 17:30
And so, um, knowing that we want to make this technology scalable, we wanna make sure that gas fees never become an issue. And so we were able to design different, uh, functionality in the token contract to optimize for, uh, better gas performance across chains.
- 17:49
And so now I'll jump into the, um, contract functions of USDC. And so these are, uh, basically the functions, the core functions that a, a developer will plug into when, um, commonly transacting with USDC.
- 18:06
And you have, uh, balanceOf, totalSupply, allowance, transfer, transferFrom, and approve. And so these are, these are, um, you know, functions that are built into the actual smart contract that powers USDC, uh, that you'll see actually later on when I do the demo, that we'll be using to actually, uh, perform the actual escrow transaction.
- 18:30
And so, um, one of the, the, the most commonly used tra-- uh, functions from this actual contract list is, uh, transfer from. And so, uh, in that argument, you see you put the, uh, from address and the to address and then amount, and you pass that, um, and then that gets broadcasted to the actual block, um, blockchain
- 18:50
network to be able to actually send that transaction. And you're, you're telling it to send basically money from this account to that account, and then the amount of USDC that you wanna send.
- 19:02
And so that, that's the programmability that you get with USDC that, that is not built into the digital representation of, um, fiat, uh, in a database. Um, and so that's where the magic allows you, as the developers in the room, to create these very innovative experiences that were not available to us.
- 19:24
And so, um, you know, USDC is, you know... It's kinda funny, but, uh, it's designed for agents. Uh, basically how we've seen agents kinda proliferate over the last year or so, uh, it seems like it's just the perfect currency for an agent to use to transact.
- 19:42
And so, um, some of the reasons why is, you know, one, you get near instant, uh, settlement, uh, and built-in verification of transactions. And so when an agent is transacting, it's not a human.
- 19:54
Uh, and so one thing, um, you know, you wanna do is you wanna allow the agent to be able to, to transact. And those agents, if they're doing agent-to-agent payments, they want near instant settlement because, um, these are robots transacting.
- 20:10
Uh, another thing is [chuckles] you don't want robots to have to deal with chargebacks. And so [chuckles] that could be a nightmare because when agents start transacting with each other, money's gonna flow very fast.
- 20:22
And so a chargeback could be a catastrophic, uh, risk to running agent-to-agent payments, you know, on reversible rails.
- 20:32
The other thing is, um, you know, agents are, are always on, you know, and so they need a payment rail that's always on, uh, twenty-four/seven, no banking hours. And so, um, you know, the, the great thing about, you know, this public blockchain infrastructure is you have this compute that's always on, that enables settlement to happen twenty-four/seven globally
- 20:56
with no banking hours, and all of these transactions are verifiable, um, through private and public key, um, technology. And so the cryptography, um, and, and the actual openness of these actual ecosystems make it a perfect, um, payment rail for, for agents to transact because, um, there's, there's no down-downtime.
- 21:18
Oops, let's go back. And then the last thing is... I'll go back to the slide where I was showing the actual contract functions. It's the programmability. Um, you know, agents are gonna need to be able to have a lot of programmability because there are gonna be transactions where they'll need to be able to, um, you know, perform
- 21:39
some sort, sort of logic, uh, that they need to pass before they can actually make that transaction. And so that logic can actually be built into composable smart contracts, uh, that we'll show in this, uh, demo of, of how, like, this is great for escrow because, um, you know, you have the ability to perform value transfer with
- 22:01
all this condigional-- conditional logic that you can actually program in, and the agent can actually interact with that logic to be able to perform those transactions. So, uh, very powerful technology here.
- 22:13
And so, um, now I'll jump into the sample app. And so first I'll run through kind of [clears throat] the architecture, what we used, and how it works, and then we'll jump into a demo of it, and then, um, everybody can have time to actually set it up in their own environment, and I can walk around and help you
- 22:31
out if you have any issues. So [clears throat] the core building blocks from a dev tooling stil-standpoint of what we used to, to build this actual escrow flow is, uh, we used Circle Wallets, and so that enabled us to actually provision wallets for the agent, the, um, and the two parties involved in the actual escrow process.
- 22:56
Um, and then also too, we used Circle Contracts. So we were able to, um... Actually, we wrote a Solidity contract, um, and then we, uh, deployed that using the Circle Contracts API.
- 23:09
So, um, it was a repeatable, um, process of us deploying contracts for each actual, um, group of parties that are transacting. And so, uh, that API allowed for us to take, you know, this, this template of a escrow contract in Solidity and repeatedly deploy it and use it for different parties involved transacting a- amongst each other.
- 23:33
And then lastly, USDC. Um, [clears throat] being able to embed the, uh, USDC stablecoin in the actual smart contract gave us the ability to, um, design basically, um, a smart contract that is running off of dollars, um, and interoperable with the actual fiat world as well.
- 23:57
Because, uh, kinda the likely process of, of some of this will be, uh, there's a on-ramping experience from fiat to USDC, and then there's a off-ramping experience where the beneficiary wants to go back to actual fiat.
- 24:10
And using the actual smart contract in USDC gives both parties the trust that they have a tokenized version of the dollar that they know they can get in and out of any time one to one.
- 24:23
So [clears throat] here's kind of how the onboarding flow works. As you can see from this, uh, this design, you have a client, which is the business and the freelancer, and they both come to a platform and create an account.
- 24:38
And so as they create a account, in the background, um, there's an API call to the Circle APIs that provisions a wallet for each of those actual parties.
- 24:49
And then the next thing is the actual, uh, business will take basically a PDF version of an agreement that they have with that actual freelancer, um, that they probably negotiated outside of the, the platform, uh, for this use case.
- 25:05
Uh, and then they would upload that agreement. And what would happen is once they upload that agreement to the platform, it would pass it to, uh, the open a, uh, OpenAI's, um, API and run it through, uh, a multimodal model to actually parse out information about the actual agreement.
- 25:24
And so that information would be related to, you know, the, the amount, um, uh, that these two parties have agreed upon as far as the work is concerned. And then the, uh, the summary of tasks that need to be delivered in order for the actual, um, escrow to be, um, completed and payout to happen.
- 25:44
And so after that happens, basically there's a listing on the platform, uh, that the, uh, AI agent generates and, and lists. And there's a human in the loop in this process where, you know, the actual business approves that, "Hey, this is the amount I'd agreed upon.
- 26:02
This is the list of, um, you know, things that need to be done in order to honor the agreement and receive payout. And, uh, and this is a good summary of what the agreement is about, so I wanna publish that listing to the platform."
- 26:16
And then after that happens, [clears throat] then the actual business would need to, um, create a smart contract. And so since we've already got a template running in the background, they're not designing that smart contract themselves.
- 26:31
What it is doing is it's taking the information, uh, that the agent has parsed out from the actual contractual agreement and initializing certain constructor variables, uh, for the actual smart contract to be in a ready state to be deployed on chain to govern the rules of the actual agreement.
- 26:50
And so those things are, is just simple things right now. It's just use USDC as the stablecoin of choice for the currency that flows through. Um, also too, um, the agent will, will be, um, given a, a wallet, uh, that can only be used to actually release funds from the contract.
- 27:09
And then who is the, um, you know, depositor wallet and who is the beneficiary wallet. And so those rules will be, will, will be, um, enforced within the smart contract, um, before it's deployed on chain.
- 27:24
And so after, um... So, so to deploy it on chain, we're using the Circle APIs for this. And so, um, after that, that is deployed on chain, there's a notification that comes on the screen telling the actual business that the contract has been deployed successfully.
- 27:41
Um, and in the background, the developer can use, uh, the developer console that we have at Circle to track all this activity, uh, and to design webhook notifications, uh, as well around this activity.
- 27:54
And so that's one of the powers of, um, our dev console. We allow for you to do a lot with on-chain data, uh, because we're indexing all this information and putting it in a nice format to allow you to design different programmable flows around that information that's happening on chain.
- 28:12
And so once the actual contract has been deployed on chain, the next thing is you're going to have to-- the business will have to actually on-ramp into USDC, or if they have pure USDC, then they can, uh, fund that, that, um, actual contract from, um, some USDC they already have in an external wallet.
- 28:34
And so, um, you will deposit-- You'll call the actual deposit, uh, function on the smart contract, and what that would do is that would basically, um, initiate an approval for a certain amount of USDC to be sweeped from your actual wallet address and transferred into the smart contract so that the smart contract can go into a ready
- 28:59
state of letting the beneficiary know funds have been deposited into the smart contract. Now it's ready for you to do the work you need to do to honor the contract.
- 29:10
And so that's, that's one, you know, magical moment where you have now in this escrow experience, a smart contract that's actually holding the money in code, and there is some sort of transparency that you know the money actually is there because you're dealing with these public networks that have the ability to verify, you know, that information by
- 29:33
just looking it up on a block explorer to be able to see that, okay, funds are actually in this smart contract, so I know this person's serious about paying me.
- 29:43
So, um, after that, [clears throat] then the actual, um, freelancer will... And for, for this actual experience where we use an image, um, they...
- 29:59
The, the task at hand was to design basically, um, uh, some marketing material in the format of an image, um, that had certain things within that image, um, that promoted the brand of the actual business.
- 30:14
And so freelancer uploads that image to the platform. It passes it off to, uh, OpenAI, and the agent goes to work, and it, it looks and verifies, okay, does this image have all the things in it that, you know, were required of it in the actual task agreement?
- 30:33
If it does, then it'll go through a sc- simple scoring system. Uh, and, and if that system scores it as, you know, as confidence level high, that means, okay, yes- Release funds from the actual smart contract, and then the agent, uh, can use its wallet to actually call a release, uh, funds function within the smart contract that
- 30:57
will ultimately release funds to the beneficiary's wallet. And so this is where, like, the automation, the verification happens, uh, where in most escrow situations, there's a lot of convoluted back-end office work where manual review is being done.
- 31:14
And agents now are getting to the point where they're, they're very good at, uh, reading, seeing, hearing, doing a lot of things. And so what, what we think is, um, there could be a future where agents could be a, uh, major checkpoint in a lot of escrow transactions.
- 31:31
And coupled with USDC becoming a great way to settle es-escrow transactions instantly, when you combine all this together, you can build some very, um, cool stuff together. Yeah.
- 31:47
So I did a lot of talking. [chuckles] Let me, uh, show the demo because I, I know people wanna see that. Um, so let me get out of here and open up my, um,
- 32:02
app. [clears throat] Okay. All right. Let's see. All right. Can everyone see this okay?
- 32:15
Okay. All right, thanks. All right. So here's the escrow agent app. I'm already logged in, um, and I have some transactions that I've already set up because I wanted to show you what things look like in each state, and then I'll, I'll kinda walk through certain transactions and, and get to the actual cool part of actually, um,
- 32:35
letting the agent actually release funds. But, um, here's a, here's a transaction I've staged, and right now it's in the, uh, initiated status. And so this status is someone has already uploaded a contract, uh, in PDF form to the platform.
- 32:50
It's parsed out the information with the agent, uh, using, um, the 40 Mini model. And then, uh,
- 32:58
that human-in-the-loop process of approving that, hey, this, this is what, you know, the agreement should look like, uh, listed on the platform so that the beneficiary can receive that listing.
- 33:09
And so this is the state of what it looks like after you get past that. So it's showing you, um, the summary of the agreement. Uh, obviously, it has the amount here of $10, and then here are some of the deliverables, uh, high quality image, you know, featuring Sparkle Fizzle.
- 33:26
Uh, so that's the brand, fictitious company we created. And, um, and so this is what it'll look like before a smart contract is deployed to govern the rules of a actual agreement. [clears throat]
- 33:42
Now, in this state, say I've clicked Deploy Smart Contract on-chain. It has now built out the logic and the rules that will govern this, um, this agreement. Um, the next thing is, you know, depositing funds in the smart contract so the actual beneficiary knows that, uh, you know, this person's serious, the money is there, it's time for
- 34:04
me to go to work and, and do the thing so I can receive the money. Um, this is what state it'll look like. Uh, and then if you hit this button, you can deposit funds, and it will withdraw the $10 amount from your account balance, and it'll deposit it in the actual smart contract and provide a notification
- 34:21
of when that money has settled in the actual smart contract. And then once it's, you know, in the smart contract, the state will move to Locked. And so that means the smart contract will lock itself and, and now the, the next thing that can happen in that smart contract is basically the agent actually reviewing the work and
- 34:44
interacting with it to either release the funds or, um, you know, revert the actual funds back to the actual, um, depositor, uh, if, you know, a period of time elapses where, you know, that person was never able to kinda meet the agreement.
- 35:03
So, um, what I'll do now is let me, um, run through a test transaction. Okay. So let's see.
- 35:15
All right. Change design. [sighs] Okay. So here's a PDF document.
- 35:35
Gonna upload it. Let's see. All right. So in the background, the agent was running, parsing out the information in the PDF document.
- 35:53
Again, um, it's, it's parsed out the amount and the task. And so if I hit Continue,
- 36:00
what it's gonna do is it's going to generate that listing on the platform.
- 36:11
So we've got our webhook working, and it's passing updates. Uh, so make sure...
- 36:17
And let me do a refresh so that listing will show.
- 36:26
Yeah. Yeah. Okay. Yep. So that's the listing. Um, and so now [clears throat]
- 36:34
what we wanna do is, um, we wanna create a smart contract, so, um, because it has all the information that it needs to actually create this agreement now on-chain.
- 36:45
So we hit Create Smart Contract. What it's doing now is calling the Circle APIs to actually, uh, deploy that contract on-chain. So
- 36:57
May take a little time, but, uh, it should work in a few minutes. Let's see
- 37:05
I got a question maybe in the meantime.
- 37:08
Yeah.
- 37:09
Are you doing like Ethereum, or which network are you on?
- 37:12
Uh, actually great question. Uh, the network I'm using is Base Sepolia.
- 37:16
Oh, nice.
- 37:16
Yeah, yeah.
- 37:17
Oh, from [laughs] that stuff, right? [laughs]
- 37:19
No, no, no. I mean, it is, is a great partner. Um, but, um, but we, we support, you know, all the-- a lot of different chains. Yeah. Let me see.
- 37:29
It's taking a little time.
- 37:32
I got a follow-up question. Can you do an escrow cross-chain, or does it have to be within a single chain?
- 37:39
Um, yeah, you actually can perform cross-chain ex-escrow experiences. Um, you can use our cross-chain transfer protocol to do that. So I'll give you an example of how maybe that would look is.
- 37:53
It's more of, uh, maybe a cross-chain deposit. So maybe someone comes to the platform, and the contracts are on Base, but their USDC is on Solana.
- 38:05
Right.
- 38:05
And so they wanna deposit from Solana USDC to Base. They can send it over the cross-chain transfer protocol, the CCTP, right? And then it will deposit into that Base contract.
- 38:16
And then if the beneficiary says, "Hey, you know, like, I'm not on Base, I'm on, you know, another chain, Ethereum. I want it on Ethereum," then you can do a cross-chain, you know, payout from that contract.
- 38:29
Oh, so it's not actually part of the contract, but it's on the platform.
- 38:32
Right. Right.
- 38:33
Gotcha, okay.
- 38:34
So, so usually what we've seen is developers who are building, um, cross-chain experiences where they're dealing with smart contracts, escrow, uh, a lot of them pick like one chain where the actual contracts will live, and then they build interoperability between like deposit and payout flows.
- 38:53
Yeah. Yeah. Uh, let's see. Uh, let me go here to the...
- 39:04
Oops. Wrong one. It's logging in. [clears throat] Let's see something.
- 39:14
Okay. Go to logs. Okay.
- 39:31
So yeah, it's working, it's pending. It's just taking some time. A little latency here to actually deploy the contract. Um, so these are, these are different contracts I deployed testing it.
- 39:43
So this is on Base Sepolia. Um, let's see.
- 39:54
Actually, what I'm gonna do, let me, let me show this cool video so you all can see like end-to-end really quickly. 'Cause there is, you know, some sort of, uh, latency around the internet in here.
- 40:06
So I'll play this video right quick, so you guys can see an end-to-end flow of like how it works.
- 41:15
And so another thing too, um, is, you know, y-you don't have to worry about gas with these, uh, with using our tooling because you can design these experiences, and then we have built-in gas abstraction with our wallet, uh, as a service infra.
- 41:30
Um, and so it enables you to really abstract away kind of dealing with, you know, holding native tokens for gas. And so we also, uh, make it very easy for, you know, as we're abstracting the gas away, obviously there's a cost there, but we make it easy for you to actually, uh, pay for your gas fees from
- 41:49
fiat, um, directly from a debit card that you would-- or a credit card that you put on file. Um, but we, we really have, uh, designed this for, you know, enterprises, um, that, you know, probably aren't Web3 native, to be able to integrate our technology, take advantage of the near instant settlement that comes with public blockchain networks,
- 42:12
and manage wallets and transactions at a scalable level to be able to, um, you know,
- 42:20
expand their, their actual footprint of, of payments around the world.
- 42:27
So, um, the last thing I have is, um,
- 42:33
let's see. [humming]
- 42:35
Can I ask you just a question related to that?
- 42:36
Yeah.
- 42:37
I used to be really into Ethereum, and I'm a little rusty to be honest [laughs]. But I remember deploying the contracts was one of the biggest gas costs.
- 42:44
Yeah.
- 42:44
Do you reuse existing contracts, like with an additional client later?
- 42:49
Yeah. Y-you, you can actually deploy like a contract factory, uh, and then that'll allow you to kind of create iterations of that within the contract factory to be more efficient on the gas.
- 43:01
Yeah. Yeah. Mm-hmm.
- 43:09
So in the mechanics of what you're doing, is that first step basically taking the, an unstructured document and you creating basically structured data to then feed to the Circle API in terms of...
- 43:20
And I guess how does that piece work? Is it as, as simple as, like, feeding the contract to OpenAPI and just doing a little prompting to kind of get the structured data you want as far as the-
- 43:30
Yeah
- 43:30
... JSON format?
- 43:31
Yeah, I'll jump into this right quick for you. So, okay.
- 43:39
So yeah, that first, um, part is, you know, we've created a prompt to make sure it outputs it in JSON, so it parses things out, outputs it in kind of a JSON format that looks like this.
- 43:52
Uh, and then, uh, that's how we're able to kind of feed it through to be able to, uh, create basically that listing that adheres to a, uh, a consistent format of, of, um-
- 44:04
Yeah
- 44:04
... showing the actual transaction amount, um, amount and task.
- 44:09
I'm not super familiar with escrow contracts. Are they fairly standardized, or do they come in different forms? And I guess how, uh, robust has it been able to be in terms of handling different, uh, formats?
- 44:25
Yeah. So, um, here's the actual Solidity code I'll show you, uh, for the actual escrow contract here. Uh, and it... This is a very simple one. Um, it's only, like, a couple hundred lines, uh, and a few functions.
- 44:41
They can get, uh, very robust, but if you're, um... For most, for most escrow, um, you know, experiences, uh, this could cover a lot, you know, for most escrow experiences.
- 44:56
And there are a lot of templates out there, um, since escrow has been a big thing in the actual crypto ecosystem, um, that you can use. One, um, is, is one that, um, our research team worked on.
- 45:11
It's called the Refund Protocol. Uh, I'll pull it up right now, but it's a, it's a escrow template that kind of gives you all the robustness you would probably need to handle, um, any type of escrow scenario, uh, that, that has been prevalent in the ecosystem.
- 45:26
Let me pull it up right now. And, um, you could actually use that, uh, and as a template and, and, you know, add to it if you want, or just use it straight out of the box.
- 45:40
So let me show you this one. Yeah.
- 45:57
Here it is right here. So if you go to Circle Research, uh, this is an article about it, and it kind of explains, you know, the functionality built into it.
- 46:09
But also too, we have a repo. Um, it is...
- 46:15
Where is this repo? Refund Protocol. So yeah, this one right here. You could use this as a template.
- 46:30
Yeah.
- 46:32
Can you just wait for the microphone so everybody can hear you? Hold on one second.
- 46:37
Okay.
- 46:44
Thank you.
- 46:47
O- okay. Um, so my, my question here is, uh, towards the challenges of minimizing human intervention.
- 46:54
Mm-hmm.
- 46:55
Um, I, I find, uh, LLMs and agents, um, sometimes unreliably non-deterministic, right?
- 47:06
Mm-hmm.
- 47:07
So there is always this pattern of, um, the LLM or the agent builds, like, a plan, and someone reviews to approve.
- 47:17
Um, given the nature of, um, your business, right, I, I understand that, like...
- 47:26
I guess the question here is, like, what are, for Circle AI, the biggest challenges when you talk about minimizing human interaction using agents?
- 47:37
Yeah. Yeah. Great, great question. Um, so the question here is, you know, what, what is, um, the challenges with minimizing interactions with payments as it relates to Circle? Um, so I think that, um,
- 47:55
our focus as our company is kind of like
- 47:59
creating more of a frictionless exchange of value using public blockchain networks for settlement, right? But we started to see a huge trend, uh, over a year ago where, um, a lot of developers were building agentic workflows using USDC as the payment rail of choice to transact between agents and agents.
- 48:22
And so, um, what we, we think is, um, obviously there, um, the, the one thing about, you know, um, AI is just it's not deterministic, and payments are deterministic. [laughs]
- 48:38
Uh, you want them to be deterministic. But there is a lot of conditional logic that is happening before payments are being released in the world. And so, um, what, what I think is right now the best, safest way to design these experiences is with human-in-the-loop built into it.
- 49:00
Um, and, and, and really kind of focus on it doing Being just a peer review, basically, for a person in a actual, um, payment operation, um, job to be able to have just something else out there that is doing work 24/7 and saying, "Hey, here are a list of payments that are ready to go, and
- 49:25
this is what we've analyzed and why we believe it's ready to go." But at the end of the day, like, you're the final approver. Uh, and so that's what we think, um, you know, in the near future combining these technologies together, uh, it can be a great combination.
- 49:42
But autonomously and just, you know, full automation of controlling, um, sending and receiving payments, I'm not sure we're there right now. Uh, but I will say that, um, you know, the way this AI industry is moving, um, there could be a world, you know, five to 10 years from now where, um, people actually trust these agents to
- 50:07
autonomously handle, um, payments, um, and procurement and things like that. So hopefully that answers your question. Yeah. But we're, we're in the first inning of this, and to be completely transparent, you know, there's people in this room who have a lot of experience building with agents.
- 50:27
Um, this is designed to inspire you all to, like, test out the combination of this technology and, and, and, and give us feedback too. Uh, we're learning alongside.
- 50:38
Oh.
- 50:38
Oh. Um, yeah.
- 50:39
I missed the first part, but what's the closest real-life examples you have of this autonomous work evaluation and settlement? Do you have any kind of real-life examples you can share?
- 50:51
Yeah. Um, so we, we haven't released any- anything that's, like, in production doing this, but there are companies that are doing this right now in production.
- 51:06
Um, and that is, you know, you have Crossmint is one company. Uh, and then another company is, um, Thirdweb with Nebula, uh, their model. So those companies are kind of, you know, on the bleeding edge of, of offering these experiences to developers, but also kind of, you know, putting things out themselves.
- 51:27
So I'd encourage you to check out those two companies. They're both... Uh, Crossmint's headquartered in New York, I think, and, um, Thirdweb is right down the street here in the Bay.
- 51:37
Yeah. Yeah.
- 51:40
Um, hi. Um, I have a question regarding, like, uh, around the escrow transactions. So I wanted to know how feasible, uh, is it to implement zero-knowledge proof, um, in this blockchain-based escrow transactions?
- 51:55
Yeah. Um, that, that is, um, that's something that is, is pretty feasible with the advancements that we've seen with, um, proving TLS notary communications. Um, those are a little bit lighter weight to prove, and you can generate a proof faster and pass that to a smart contract to be able to, um, perform, uh, escrow.
- 52:20
Uh, so there is a company called ZKP2P that actually is experimenting with this, and it's a live experiment that is working really well. So, um, there are different ways you could, you could design these and integrate ZK proofs into them, um, that we've seen, and, and ZKP2P is one of them that has done it pretty well.
- 52:40
Yeah. Great question.
- 52:41
Yeah. Thank you. [laughs] I have... Sorry, I have another question as well. So, uh, could you go to the slide where the, uh, implementation, uh, thing is there for the cold storage support?
- 52:53
Okay. Let's see. Yeah.
- 52:58
So here I have a s- a doubt, like...
- 53:08
Um, so, yes. In this, like, transactions should not al- uh, always be instantaneous, so you should be, like, creating ahead of time and broadcast next month, right? So I'm not sure, like, I'm-- I have a doubt, like if...
- 53:22
Is there a possibility if, like, uh, there might be a double spending kinda attack if we, like, hold, uh, the transaction and it is not instantaneous?
- 53:33
Um, so the, the question is could actually, um, generating an offline transaction that's approved create a double spending, uh, exploit? Is that, that, that, that the question?
- 53:47
Um, yes.
- 53:49
Uh, um, I don't think it could, could necessarily do that. Um, you know, from, from my experience of, of people actually kind of generating transactions offline to actually broadcast later, I haven't seen that, that issue become, uh, a problem with double spending.
- 54:09
Oh, oh. N- and, uh, like, uh, could you, like, little bit, uh, explain me the scenario of, like, how transactions should not always be instantaneous, like, around this?
- 54:19
Yeah. So, so this, this use case would mean maybe if you are a company and you're running payroll on chain and, um, you know that, um, there is a transaction that you're gonna make in the future, um, for a certain amount to do payroll and it's on a consistent cadence, you could actually, uh, generate that transaction, sign
- 54:39
it and approve it offline, and then broadcast it on the day of the actual transaction that needs to be sent out.
- 54:47
Oh. Got it. Thank you.
- 54:48
Yeah. Yeah. Okay. Yeah.
- 54:57
Hey, how's it going?
- 54:58
Good. How you doing?
- 54:59
Um, I must have missed the first part where you mentioned multisig, but, um-
- 55:03
Yeah
- 55:03
... my question was just revolving around, like, some of the different use cases of multisig, combining that with, you know, humans, agents, um- You know, for example, in this, um, contract evaluation, you could have, like, three different agents try to evaluate the same contract and criteria-
- 55:21
Mm-hmm
- 55:21
... inside a multisig. But what other, what other use cases of multisig and AI do you see?
- 55:28
Great question. Um, you know, I, I think that, um, you know, there could be a world where, uh, you, like, you ha- you have multiple agents that may act as, um, you know, in, in kind of like a, a, a financial, uh, operations unit at a company, small company, and you may have, um, you know, a CFO
- 55:52
agent, a controller agent, uh, accountant agent, and those agents are cross-checking each other's work and things like that. But then ultimately they need to do, uh, some sort of multisignature process to be able to sign off on, uh, maybe transactions that are over, like, $25,000.
- 56:11
Um, so that, that could be, like, a world that we see, uh, with, with agents and, um, USDC.
- 56:18
Great. Thank you.
- 56:19
Yeah. Okay.
- 56:26
So where are you using that AI, um, for reading the document and generating the, like, what the contract should be? So there is a human in the loop. Uh, so for, in order to the, in order for the human to approve or reject it, he needs to go through the document himself as well, right?
- 56:45
Um, so how exactly is that agent saving any, uh, effort? Because the human has to still go and read the document, right?
- 56:55
Yeah. Yeah. So, like, you know, right now, like, this is just a, a, a simple prototype, right? Uh, we could have gone the extra mile and started out with someone, uh, you know, using NLP to, like, just create, like,
- 57:11
a, a simple prompt to say, "Hey, I want a contract between, you know, me and this other person that does these things." And then the agent goes out and writes it, and then the agent can actually, you know, um, parse out the information that it wrote and then send a notification to the two parties that this is
- 57:27
an agreement for $100 and these are the things that need to be met. Um, so that, that's, that's a world where we, we could have done that, but, like, we were just trying to put together a simple prototype to just showcase the combination of technology.
- 57:39
But this is not, you know, something we, we feel like is, you should, you know, deploy in production and use right now, but it's ins- inspiration, you know, of combining these different technologies.
- 57:52
Okay. Got it. Thanks.
- 57:53
Yeah. Yeah. So I guess, um, yeah, uh, we don't have any other questions. We can
- 58:06
close it out. [clapping] Thanks, everyone. [outro music]