Turning Words into Killer Apps Defi Actions On Flow I Ali Serag, b z and Brian Doyle
ETHGlobal·Thu, Oct 9, 2025, 12:00 AM
This session, "Turning Words into Killer Apps: DeFi Actions on Flow," explores the evolution and advantages of the Flow blockchain, a consumer-focused Layer 1 designed for scalable, user-friendly applications. Originating from the CryptoKitties phenomenon that exposed Ethereum's scalability limits, Flow now powers major apps like NBA Top Shot and Disney Pinnacle, supporting millions of users and transactions without network congestion. The talk introduces "Actions"—a new standard for composable, reusable onchain logic, enabling seamless interoperability and automation across DeFi protocols. Actions abstract protocol-specific details, allowing developers to build modular workflows (e.g., swaps, lending, staking) with minimal integration effort. The Cadence language’s unique features, such as resource-oriented programming and onchain scheduling (callbacks/agents), enable fully onchain automation, atomic transactions, and even unbounded loops, unlocking new possibilities for DeFi, gaming, DAOs, and subscriptions. Live demos illustrate how Actions and agents simplify complex workflows and empower developers to create innovative, scalable dApps. The session concludes with hackathon incentives and encouragement to build the next industry-changing app on Flow. 00:00 Introduction 00:40 What is Flow? 01:02 CryptoKitties & Ethereum Scalability 02:32 Flow’s Origins and Consumer Focus 03:32 Major Apps on Flow (NBA Top Shot, Disney, Ticketmaster) 04:18 Announcing Flow Actions 05:23 Automation & Onchain Agents 06:34 Challenges: Liveness, Inference, and Composability 08:51 The Power of Composability (Gaming & Mods Analogy) 09:49 What Are Actions? 10:56 Examples of Actions (Swap, Supply, Borrow, Stake) 11:43 Cadence Language Advantages 12:31 Live Swap Demo & Cadence Deep Dive 13:32 Atomic Transactions & Developer Benefits 14:35 Live Demo: Scheduled Callbacks & Agents 16:32 Callback Contract Walkthrough 18:43 Advanced Callback Example 21:44 Future Potential & Hackathon Tutorials 23:25 Onchain Automation Use Cases (DeFi, Gaming, DAOs) 24:25 Hackathon Prizes & Community Encouragement 25:59 Conclusion _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 🇺🇸 *ETHGlobal New York* This workshop is specifically for ETHGlobal New York, a 3-day hackathon held August 15-17, 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 York 2025 playlist here: https://www.youtube.com/playlist?list=PLXzKMXK2aHh4Xze0ZeSWCSGsw25clPpvZ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ✅ *Follow Ali Serag* X: https://x.com/AliSerag0 ✅ *Follow Flow* X: https://x.com/flow_blockchain ✅ *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
[Music] Guys, whoa, I have a loud voice tonight. How are you all doing?
All right, so I'm going to start off with a question. What is flow?
It's a blockchain.
That's a blockchain. dedicated to social things and like kitty and that's what I
Okay, it's a blockchain. It has something to do with well
it has some advantages like the random number generator.
Okay,
so it has some particularities there. Really good.
Okay, this guy's educated. He knows what he's Wow. He's he's done it. He's read the bounties. Wow.
Okay,
that's benefits for games and I suppose.
All right. Okay. No, that's a great answer. Do you know how it all began? That's a more of a rhetorical question.
It all began with this chubby little guy with crazy looking eyes. So, years ago at an ETH global waterlue hackathon, someone came up with the bright idea of launching cats on chain. Guess what happened next? The same thing when cats were put on the internet. Everything exploded.
It changed the course of the entire industry. All of a sudden, people were breeding these cats. They had genetic competations. It became the very first web 3 viral application in history. What did that end up doing to the Ethereum network?
It ended up throttling the entire network. About 30% of all transactions were these cats. Gas fees ended up skyrocketing 5x. Everyone's like, "Who are these crazy cat people? Why are they putting images on chain?
What's going on with these cats? They're multiplying everything. It really was the first time in history that it revealed like the striking challenges of scalability that the Ethereum ecosystem was facing. And indeed like a lot of the things that we see today here, you know, the L2s, the L1's, the different scalability solutions, Vitalics, like six different paths that we could go down, all of those pretty much could be like found one way or another tracing back to these cats that were put on chain. So if there's one thing I want you guys to take away, it's that your hackathon project, if you are going to be hacking at this ETH global event, which I assume the vast majority of you guys will be, like raise hands if you will be.
Anyone who's not raising their hands, we need to get security in here to like escort out. What you're working on in 36 hours has the power to change the entire industry because it's happened before. Now, the team behind CryptoKitties ended up going on to, you know, work on Flow, which is, as you mentioned, a layer 1 blockchain. It's the consumer chain. It's built by app creators for app creators.
And the first app that went live on Flow was NBA Topsh Shot. That app got launched brought in millions of people. It had more transactions every day than the entire Ethereum network. And it didn't affect the the token price. It didn't affect the scalability of the chain at all.
It actually proved that individual apps could scale to the level of entire ecosystems. And it did that by having a very unique multi-roll node architecture. But I'm not going to talk about that today. The thing I want you guys to take away is from then we ended up becoming known as the consumer chain. Disney ended up coming launching Disney Pinnacle only a couple of months ago.
They were saying how they're giving 50 million um Disney Plus subscribers NFTTS related to their digital collectibles on the network. Ticket Master has over a 100red million digital collectibles. Whenever you watch Alexander Hamilton or if you watch the Lion King like everyday people, everyday consumers don't realize that these are creating like ecosystems that they could play around with. They don't even know the apps they're using are integrated with blockchain in really exciting ways. That's a little bit of a background about flow.
What I want to talk about is something that was announced by our chief architect and CTO and co-founder um deer Shirley yesterday at Pragma. For those of you who don't know, he's the one who coined the term NFTTS. And what we recently announced in lie of in um sorry in line with our most recent Forte upgrade is this concept of actions on flow. What are actions? They're composable logic for everything onchain.
In a lot of ways, you could think of them as what ERC 721 did for standardizing um digital collectibles actions do for standardizing and in livening interoperability and composability for workflows and onchain logic. Another question my friend Pepe has is how much of today's blockchain activity do you think is done by humans? Just 5%.
What? 2%. Okay, let's
shot some numbers.
Up. Up.
50% up.
No, no, that's down. Up. Up. 70% up.
80%
80% that I'm a New York hat. 80% of all transactions that happen onchain are automated. So automation isn't something that's coming. It's something that's already here and it's been here for a very long time. In 2025, over 80% of the transactions were automated.
Um, but the problem isn't just, you know, challenges with the automation. Most of the automation that we've seen is net extractive. It's not actually generating everyday users wealth or money. It's medbots that are actually trying to steal from you. The ones that aren't really stealing from you are extremely basic.
They're very primitive. Most of these bots and agents are not on chain and they're stuck doing the simplest possible tasks. Whether it's basic um token transfers and swaps like basic if then statements for arbitrage, liquidations, mev search patterns, they almost never integrate with multiple protocols and they're not quite adaptive because safe deterministic composability is something that is missing in the ecosystem. You could think of it almost as like how the internet was in the mid like 1990s. You know, you could maybe send an email, but you couldn't make something like YouTube.
Except that internet, every other person is a scammer trying to take your money. Now, we've been moving in the right directions. Like onchain agents have been able to index tons of data on chain and train on on like web 3 data and they've become much much better at interacting with different protocols. But there's still massive limitations. Two of the biggest challenges facing agents are livveness and inference.
You know, we got super excited with protocol or with platforms like Eliza, with agent kit, thinking like, oh my god, so much is going to change. Our whole world's going to get automated. And then we quickly realized like, oh no, like that agent forgets context halfway through its action. It forgets what it is. Oh, that's like a baby.
It's easily tricked by this person into sending them all their money. Oh, wait a minute. What happens when that agent, you know, that is managing all the keys and doing all my trading ends up going offline because they stop paying, you know, the LLM credits. Oh, my money's gone. What's going on?
Right? So, there's there's massive challenges with inference and livveness that agents are facing today. And most of those agents, if you're trying to do scheduled and recurring things, they're using, you know, scripts that break easily. They're heavily relying on off-chain and fragile infrastructure. MCPS were in a lot of ways a massive step forward.
They act as adapters for protocol calls. They help with reducing hallucinations and they give AI structured access to to protocols and APIs, but they still create a centralized risk where you are relying on something that predominantly lives offchain. That thing is a single point of failure. It is susceptible to state mismatch and it's not composable. You could think of it like imagine you go to a different country and you're in the hotel and you want to hook up your laptop to the outlet, right?
And you're like, "Oh, shisel. I need to I need to get an adapter. Oh, how do I go to the lobby? How do I order it on Amazon Prime?" But in this case, every single room in the world has a different outlet.
And you need a specific adapter for that. You can't interoperably use one adapter for every single protocol. Right? So summarizing the reason my dear friend Pepe is feeling all the FUD and complaining to a psychiatrist is all of the brittle infrastructure that is out there, the integration nightmares where you have to have custom bespoke AI integrations for every single um protocol that you want to integrate with and if they make any changes like oh now we're going to use V swap unis swap v2 v3 okay now I have to update everything oh no and all the sharks that are out there in the sea of mev vulnerability that want to steal the money from your pocket. Now, one of the things that we've been promising as a community um in web 3 is composability, but how much have we actually delivered on it?
You know, one of the most exciting things for my background as a gamer was looking at uh at platforms online, sorry, online like modding Nexus. Over 10 billion mods were downloaded on Skyrim. The top PC games ever like League of Legends, Dota, both started from a mod in Warcraft 3. What ended up happening were these games were creating standard interfaces like the Warcraft editor that allowed everyday people to compose on top of them and create create different uh mods that could integrate with each other and compose and sorry and can interoperability work together. I had too much coffee.
So what exactly are actions? Actions are a new interface that was introduced yesterday during Pragma that turns logic into self-contained reusable onchain functions. You can call without knowing the protocols AI or internal code. Again, the abstract away protocol specific details into one universal interface. So remember, imagine that adapter that you could use with any outlet in the world.
All of a sudden, if you have a D5 protocol using the exact same common pathways like like every other, you know, DEX, every DEX is going to do things like swap. I swap this action for that one. If there's three different dexes that I want to integrate with or I want my agent to integrate with, I have to integrate all of their different APIs. I have to bespoke customize that integrate everyone into my app, right? And it's a headache.
Actions allow you to have one specific common shared interface that is interoperable between all of them. Here are some examples of actions that you could use during the hackathon. One is a swap action. You change token A for token B and a compatible DEX. The supply action where you can give funds into any like say a lending protocol.
The borrow action where you can borrow against collateral. And the staking action where you can stake and acrue various different rewards. Here is high level the autonomy of a action. I'm going to look at the swap. You can see that you have the input and output fields.
You have the price estimation methods where you want to know like okay what is the quote for the token that's coming in and what's the token for the quote coming out and how could I easily swap back and forth those tokens. Now, one cool thing is having the shared standard creates a standardized metadatarich world of events that is easily queriable on chain and creates consistency that you would otherwise not have across your DeFi ecosystem. Um, it also leverages Cadence's unique ability for transactions to have preconditions and postcond conditions. These are conditions that must be met before the transaction executes. And you could do crazy things like create an arbitrage bot that never actually loses money because it automatically checks like, hey, am I going to actually make a profit on this or not?
And if not, okay, just don't don't execute. Don't run.
Wait, wait, wait, go back.
Uh oh. Uh oh. Here is Deep, the founder of uh co-founder of Flow and creator of NFTTS.
And I'm here to raise some because you glossed over something important. How many here know cadence programming language? How many here know solidity? All right. If if you weren't blown away by this slide, you don't understand cadence yet.
And since then you put up your hands, I forgive you. You see this funible token.vault. That interface is taking tokens as an argument for the function and the return value is different tokens. Think about the power of that.
Think about the power of instead of going to some ERC20 smart contract and saying, "Please, Mr. ERC20 master, please approve the transfer of this token via this other smart contract. Please allow this other smart contract to work with my money, but not all of my money, just a little bit of my money." Instead of doing that, how about you take your own damn tokens and you pass them as an argument into the function and you put your USD in and your flow comes out as a return value. Think about how simple your code is when swapping tokens is literally taking a single data structure that is a local variable in your function, passing it in, getting another data structure, putting that as a local variable in your function, and you've just done a swap on a dex, and you don't care which dex it is.
That's the power of actions.
He's doing great. I'm gonna step. What you guys just saw was a swap happen in real life and probably the only one in any workshop today. Thank you so much, D. All right, so these actions in and of themselves are composable into like batched transactions where if one of them fail, you can revert the entire transaction.
This allows a whole sequence of onchain logic to be atomic in principle which is really really exciting. I'm going to speed through this because I want to get to the demo super fast. High level why this matters for developers. You don't need to spend hours and hours doing custom rappers. You don't have to worry about importing bespoke um APIs and maintaining them.
You don't have to worry about, you know, like different protocols having different quirks. All you need to do is plug and play and your workflows will work seamlessly. All right, I'm gonna hand it over to my man Brian for a demo.
Alrighty, everyone. Hello. Uh, I'm Brian. Uh, I also work uh in Devril and Flow. Um, and primarily on education.
So, I'm going to do a speedrun of a live demo of a tutorial that you can do yourselves if you'd like. If you go to developers.flow.com, uh, up at the top here, there's our tutorial section. Um, and we have an as we speak growing library of tutorials about flow actions.
It's brand new. The tutorials are brand new. Please try them out. If anything doesn't make sense, please let me know because I've probably broken something and I can fix it. Um, so if something seems like it's not working, the stuff works.
My tutorial uh hasn't been battle tested yet. Um, so what I want to show you, uh, is a quick version of our tutorial on scheduled callbacks, um, or we're now calling agents, which is a way to automate things online or on chain. Um, and more importantly, it's a way that you can completely onchain without depending on or trusting a third party say don't call this transaction right now, call this transaction at a specific time in the future. Um, and one of the other really neat things about Cadence that isn't available in Solidity is you write uh transactions uh on Cadence in Cadence. So you're not limited to existing functions that exist on a smart contract.
You have all smart contract functions available to you to write and call in your transaction. And guess what? That includes the functions that create these callbacks. And that means you can create a callback that runs some code that creates a callback that runs some code that creates a call back which means we've got loops now. Um, and it is fully onchain and I think this makes us the only touring complete uh blockchain because we can run an unbounded loop now uh with the technicality that you do have to fund the loop or it'll die.
Um, so I'm going to run through a couple of these real quick. I won't live code them. Um but the simple example that we have that is in this tutorial and in the scaffold for the tutorial that you can start with and it'll work out of the box um is we have a very simple contract right here with a counter. Um and we have a public function that anyone can call to increment the counter and we have a uh uh public function that anyone can call to get the count. Um and so that's that's pretty straightforward.
That's just sort of the demo uh contract that we always do when you create a new project. Um but then what we've added uh is a counter callback which is interacting with the uh new flow callback scheduler. And this function creates what's called a resource inflow which is a special kind of data structure that can only exist in one place. Um it can't be copied. It can only be moved or destroyed.
Um, and in this case, we create a function to execute our callback. Um, and it calls whatever code we want it to call. U, in this case, we'll increment the counter. Uh, and we'll log it. Um, and then this here is a factory to create instances of this handler.
Um, and then we have transactions that, uh, sorry, fighting with screen size here. Um so we have a counter to initialize it um uh to create an instance of it and save it in our account and um a transaction to schedule it that I'll go through a little bit more which we pick the delay seconds. So how long do we want to wait to schedule this? Um priority is uh should there be congestion do we want to pay an extra fee for priority? Um execution effort is also related to that.
I won't get into the details of it. And then a callback data which is we we're not passing any but we could pass data to that function in the callback. Um so that's the simpler version of it because of time. Um I I'm going to show you the the more fun one that I made. Uh so I made a little contract with some words that you might have uh some of you sure have seen before.
You might recognize this. Um but it's a function that just logs to the console. uh what um you know the message and it increments a counter that we use in a um that we'll use in the transaction to decide what to do when this call back is called. Um and looking at the callback handler itself um what that does is when the call when we execute the callback we do a switch depending on what the case is. Um, and so this is a very simple example of how you could determine complex behavior based on conditions.
If the token price is this, if my balance is this, um, you know, do these behaviors. In this case, uh, if case is zero, we'll pay message one. And message one increments the the, uh, counter. If it's one, we play two. Two, it's play three.
And then three, we just return and we don't do anything else. But the other really cool thing that this is doing, as I mentioned, is this is instantiating uh and paying for a new scheduled call back. Um, and the end result uh is we've got um we've got the the log ticking along in every block. It's saying that it's processing callbacks. Um and we'll do a new terminal real quick here.
And I'm going to sorry I'm still working with screen size here. Um so I'm going to deploy my contracts to the emulator and then I'm going to run my transaction to initiate initialize the uh callback. Um and these are using the console to sign these transactions. But now I'm going to sign one transaction um and only one transaction. And remember each of these here that we see going through is uh one block in our emulated blockchain uh on the emulator.
And so I'm going to send one single transaction and go back real quick to the console. And we're just going to wait. My hands are up. And we've had three transactions uh happen uh automatically. And then because I chose to program this sequence to end after these three, the sequence ends.
But it could keep going forever. It could be an arbitrage bot that's fully on chain that goes forever. It could be all kinds of crazy trading strategies. One of the ones that we've been talking about that we like the best with this um is you could create a little bot and uh fund it with an amount of tokens and let it run for as long as it can survive. And if it works, it'll accumulate tokens and if it doesn't work, it'll run out of the ability to pay for its heartbeat and it'll uh it won't exist anymore.
Um and so again, this part is brand new. It's on our emulator right now and it'll be on testn net in a couple of weeks. Um, but if that sounds interesting to you, we encourage you to play with it in the hackathon. Um, we also have a couple of other tutorials and explainers for the rest of Flow actions. Um, again at developers.
flow.com. Um, and in probably uh a couple of hours, we're adding a new tutorial um for the actions that'll show you how to do the transaction that Ali mentioned and Deep did in his demo, which is to in one transaction um claim your rewards from a protocol, convert the rewards back into the what you stake in the protocol, and restake it to compound your interest all in one transaction, all with one click. And then in a few weeks, you can add what I just showed you at the bottom of that. And then you just have to click that button once instead of every single two weeks.
And you forget about it and wonder how much money you're losing in compound returns because you didn't restake it. You you forgot for a month. Uh are you coming? Okay. And if you have any questions, find us at the booth.
We're happy to help. Happy to answer questions. again. Interoperability in real life, guys. All right, I'm gonna just wrap it all up with RIP.
Did I put it in the wrong? I need an adapter. Wait. Oh, there we go. So, if you guys aren't already super excited, like to me, this is almost like onchain cron jobs.
You don't require anything offchain to do this. Like it has massive implications for DeFi. But what about gaming? What if you have like a dark forestlike universe that's procedurally generated, completely autonomously evolving, where a new planet gets created every 12 hours with its own genome and its own like resources. You could create really exciting things that are living, expanding, growing, adapting, and evolving.
So again, like this could also impact Dows and have Dows have automated salary, you know, schedules. It could have um new new subscription pay models which are pretty old but adapted for web 3. Like the futures are really endless and this touches on every single vertical. So if you're not excited, you really should be. Um come to our table and we'll talk a little bit more about ideas for how you could use this.
But I just wanted to do a little bit of an overview of our overall hackathon uh bounties. We have a $10,000 shared pool prize for everyone that builds on Flow. It's going to be equally distributed to whoever participates. We also have a 6,000 prize for the top killer app on Flow. That is not Skynet.
That is the top app with consumer potential. Something that solves a really big problem for a really big group of people. And this could be any vertical. Could be a game, you know, it could be DeFi. It could be social.
And then we have the best use of actions and agents on Flow, which is what we've been really going over and what we just announced. Um, this is just the beginning of your journey. Like I mentioned at the very beginning of the presentation, I was going to talk about cats. Like I mentioned, the cats changed the entire industry. You know, smart contracts launched at ETH global waterlue is really part of the reason we're all sitting here right now.
So if it happened once, it can happen again. You guys could create the next app that disrupts the entire ecosystem. And one thing I wanted to touch on is this is just the beginning. like a lot of people. I had one person who came to me crying after ETH Denver and said like I was the only one in my hacker house that didn't win and that made me feel really sad.
It's and I told him it's not really about winning that prize. That same builder ended up continuing to build their project after. Um I'm going to go on a little bit of a tangent but last month $420,000 got invested in Flow ecosystem projects. The vast majority of those projects were people that hacked in our ecosystem but never won first, second, third place. They didn't get those prizes, but they ended up winning eventually because they stuck at it and continued building and trying to solve real problems.
So, this is just the beginning. I'm sure everyone in this room is going to be a winner. But if you want to talk with us about, you know, how you could bring something to life, get it to market, go in front of as many people as possible, and change this world, we're here to help you. Thank you so much. [Applause] [Music]
Automatic transcript — names and jargon may be misspelled.