Katana's MCP Enabled LLM Friendly Anvil Powered Starter Kit I Bruno Skvorc
ETHGlobal·Thu, Oct 9, 2025, 12:00 AM
Bruno Skvorc introduces Katana, a sector-specific DeFi blockchain designed for deep, chain-owned liquidity and productive DeFi development. Katana integrates core apps like Sushi (DEX), Morpho (lending), and a vault protocol, enabling builders to leverage existing "money legos" and earn from chain liquidity incentives. The Katana Starter Kit, powered by Anvil and MCP, allows rapid local development with infinite test funds, prebuilt contract interfaces, and seamless LLM integration for onchain automation. The kit supports LLMs like Claude and OpenAI, enabling AI-driven contract deployment, testing, and exploit discovery. Bruno demonstrates how to use the kit, including LLM-enabled terminals (Warp), and showcases a multi-agent LLM workflow for collaborative, production-ready smart contract generation. The talk emphasizes Katana’s blue ocean opportunity, hackathon readiness, and encourages developers to build innovative DeFi apps leveraging Katana’s infrastructure, with support and incentives for early builders. 00:00 Introduction 00:41 What is Katana? 01:07 Katana’s Core Apps and Chain-Owned Liquidity 02:29 Building on Katana: Opportunities and Incentives 03:16 Hackathon Productivity and the Starter Kit 04:10 Exploring the Katana Starter Kit 05:10 LLM and MCP Integration 06:34 Katana Tools and Contract Directory 07:14 Setting Up with LLMs and MCP 08:00 Warp: LLM-Enabled Terminal Demo 09:24 Local Chain Setup and Configuration 11:16 Running and Hosting the Demo App 11:56 Using MCP for Onchain Queries 13:03 Automating Smart Contract Testing and Exploit Discovery 14:23 LLM Agents for Smart Contract Development 17:10 LLM Q&A and Code Generation Workflow 19:25 Improving LLM Agent Collaboration 20:02 Customizing LLM Personalities 20:28 Final Thoughts and Q&A 21:53 Closing and Katana Booth Info _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 🇫🇷 *ETHGlobal Cannes* This workshop is specifically for ETHGlobal Cannes, a 3-day hackathon held July 4-6, 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 Cannes 2025 playlist here: https://youtube.com/playlist?list=PLXzKMXK2aHh5N2DCwhcEshNW9C8knZ1T-&si=Lc-WOyfkAVP2--R4 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ✅ *Follow Burno Skvorc* X: https://x.com/bitfalls ✅ *Follow katana* X: https://x.com/katana ✅ *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] Who of you is already playing with MCPS? Okay, great. And are you familiar with Katana? So, so okay, so briefly about Katana. Katana is a sector specific chain designed to be the kind of solution to DeFi.
I am known as somebody who hates DeFi. So, this really excites me because now that we've solved DeFi, nobody else has to build DeFi again. Um, this is very nice because we can finally build more productive things. So if you want to build DeFi, Katana is the place to to go because it's an opinionated chain where you have extremely deep liquidity and preferred applications for stuff that is usually fragmented. For example, on most chains you have 200 300 DEXs which cut up liquidity between themselves and then you don't really have that liquidity.
Here we basically made Sushi a core app that gets all of the DEX volume. It's not hardcoded in the chain. It's not permission, but Katana itself is a chain that that has chainowned liquidity. All of the profits from the sequencer fees, all of the revenue from the yield, and it's also using yield bridge, uh, Walt bridge, which means that when you bridge stuff into katana through the aglayer or any other method, you're actually putting your money to earn yield in the um on the origin side. It's on Ethereum.
That yield is given to Katana as a chain, but then distributed to everybody who is productively using DeFi on that chain. So essentially, you're encouraged to be a productive member with your assets and to if you're a builder to build on top of those core apps that we have. So what's good to build? You have we already have a core DEX. We already have a core vault protocol year.
We already have Morpho there for lending. So we have these core apps, but if you're building anything in DeFi, you get a piece of that chain on liquidity cake. If you build on top of those core apps, so build instant zappers from one chain to the other that allow you to unwind your unis swap position in a single click and recreate it on sushi on katana. Build portfolio trackers. Build anything that you can think of that utilizes the Lego pieces that are already there.
This is how you essentially leverage the most out of Katana. This is a blue ocean chain right now. It launched three days ago. Nobody has first mover advantage, which means you have first mover advantage. Whatever you build is going to be big as long as you utilize these core Legos that are designed to make you grow.
So instead of giving you money in terms of a grant and then hoping you build something you promised, the chain itself gives you money from those liquidity incentives. based on the success of your application on top of those core core apps core legos. So that's kind of the point of katana to encourage productive long-term growth. Now what I want to show you is a way to really get started building it building with it very very quickly because from experience most of the time at hackathons is wasted bootstrapping first well first deciding on a project then you kind of come up with a pitch and then you bootstrap around it and this is why most of the code happens on Saturday night and turns hectic and this is why most submissions happen on Sunday morning and previously as polygon we've had to kind reject half the submissions because we literally didn't have time to grade them. This will make you start building much faster.
So, you can possibly submit to us a final version or MVP version of your thing way before Sunday and give us kind of an insight into what you've built. So, what are these shortcut methods? Well, uh primarily it's all in the docs. If you go to docs.katana.
network, network. You will find all the concepts here that I've discussed and more along with I don't know other primitives like AUSD which is the stable coin that's backed by US treasuries and also redistributes that yield into productive yield on the chain and so on. But what I want to point your attention to is um the starter kit. So the starter kit is just a collection of shortcuts, scripts and code that let you start building with Katana immediately. You clone this.
You run a simple command and it will build a locally hostable app, clientonly app for you that uh that connects to a local clone of the Katana test net. So it's going to make an anvil clone of Katana's test net locally. So you can run the chain locally. It'll give you an infinite money glitch on that chain. So you can do whatever you want with infinite ETH.
And it will also the starter kit itself will have all of the contracts, their addresses and their AIS built into itself. Which means that your LLM or whatever you're using to help you build is contextually aware of all the code, all the AIS and all the contracts available on that chain. In addition to that, we also have the MCP server built into this starter kit, which means that you can now tell your LLM, do something onchain, and it knows what to do because it has the context of all the addresses, all the descriptions of the contracts and all their APIs and it also knows how to talk to the blockchain. It will be able to execute this. We can try this out on something really simple like so this is how it's enabled.
uh the instructions come with the starter kit as soon as you download it and you can see actually if you go to the AIS folder once it's built once you run the build uh function you will see that all the AIS are built from the contracts that exist on Katana you will also see that the interfaces are also all here for all the contracts and there's a read me explaining what each contract does and what address it's deployed on. You can find this also on Katana tools where you will find the link to the starter kit but also to the contract directory which also has all of these contracts and you can just find whatever you want whatever you need and it will lead you to the explorer and give you the interface if you want to check it out. So um these methods are available to you for quickly finding what you need without having to troll to a swamp of documentation of other projects and so on. You don't have to manually collect the addresses that you need. You don't have to read docs from other projects.
The the environment knows. Now, um here you have these interfaces, the readme that explains everything. If you want to go a little bit more manual, but essentially once you run the build function and your MCP server is built, it will be in the distribution MCP folder. You'll also have the installation instructions here which allow you to put it into cloud code or cursor or whatever. And um you can actually find this in docs as well.
The tutorial here will show you exactly how to set it up with cursor and how to set it up with cloud code. It works exactly the same way with any LLM that supports MCP. So for example, now I can do something like and hopefully hopefully it works out of the bat. I'm still optimizing the MCP to know more and to require fewer queries of itself require fewer investigations. U but it should it should work.
Uh so give me the total supply of a USD and I have to check if I didn't maybe oh yeah one more tool I want to show you is warp. So warp is a LLM enabled terminal that allows you to basically talk to your terminal. It also has support for claude but and it can also serve as an agent replacement for coding what whatever. But what's really cool is that you have these extra rules that you can define where you can tell it what you want done. So for example, I made this rule to start a new katana project.
And so if I just write this, it will know what to do. So for example, um start a new katana project in I don't know um ETH global folder. And so it switches to agent mode immediately as I start typing something that's not recognizable to the terminal itself. If I hit enter, of course it asks me if I want to plan with 03 or without it. I want without it because this is simple enough.
So now it's just doing this. And in this case it will ask me to approve these commands. But you can also whitelist them. So it just executes it on the fly. It doesn't matter.
I'm I'm keeping it permission based. So it knows exactly what to do. It cds into there. It installs the dependencies. It runs the build all command.
And now this build all command is running. You can actually inspect it and it's running. So it's building in this in this folder. It's doing all of the dependency construction and preparing your project. Once it's done with this, it will also clone the chain locally for you.
So you have a locally running copy of the chain and you don't have to actually interact with the live test net and you don't have to figure out faucets and get your test tokens and so on. Then now it's creating the ENV file. So it's creating the ENV file. It will ask me for the RPC key. Um this is from before.
You don't actually need this anymore. The RPC keys are now uh the RPC endpoints are now open. But if you have a permissioned one from from our infra provider conduit, you can actually have more higher rate limits if you need them. So for log fetching or whatever. And so now it's just going to copy the NV file.
It will ask me about the RPC key. There you go. All right. And so now it's just waiting for me to provide it. Right.
So let's see if I have the key an older key here.
Yeah. Okay. This will do
private like Instagram
and uh I just give it this key. Right. Yeah. Sorry. So now now because I didn't prefix this with any kind of pros.
It thought that I'm giving it a command on terminal. So I can just switch to terminal to agent mode or I can just write something like this key is blah blah and it will be just the same. So now it's doing this. It updated the env file and now it's starting the local anvil fork which should work in the background.
All right. So now the chain is running in the background and it's just going to be producing blocks while it keeps working. So the terminal will keep working. The chain tatara chain is now producing blocks locally and moving on. See block number created.
All right. So this is every 10 seconds a block or something like that. You can configure this on your own if you restart anvil and just run a faster chain. Doesn't matter. But um now that the um now that the chain is running, it's also creating building the application itself.
So the web application the the example DAP that it created should be built now, but it's not yet hosted. Now I don't know why it didn't run the HTTP server. Ah, it did actually. All right, there it is. So it's asking me to run this as well.
Okay, so now the app is hosted as well. So on 8081 I can check this out. Uh 8081. Okay, so the demo app is working. You can see that it's connected to Tatara which is our local copy of the chain and um it's reading some information from the chain.
So in one command this terminal and if I let it execute its own command it would be much faster but I was approving each one manually. It ran a test environment for you that's local, that's easy to get started with, and you can just start hacking away on this demo app immediately and building your product on top of Katana. Now, regarding the MCP, let's give it this banal example of give me the total supply of a USD and let's see what it does. I don't know what it's going to do, but let's see what it does. All right, run tool again.
You can also whitelist these two these calls here so that it doesn't ask you about every single MCP interaction. So it knows what it's supposed to call. It's calling the MCP tool that's installed with it and it's looking for the contract address. Now this is the part that I can definitely improve and will improve while I'm here that when you run this stuff, it will automatically know that it shouldn't ask the chain for the contract address. Instead, it should just immediately know where it is.
And I'm going to add that to the to the uh starter kit. So now it found what it needed to find. And now it's running the cast against the live state of the chain which is cloned locally. Let's see what it's going to say. All right, there we go.
So um the total supply is 20 million. So with uh six decimals and it figured it out. This you can use for anything really, any chain interaction. You can tell it to deploy contracts for you. You can tell it to write tests for you.
Or you can tell it, I'm at a hackathon. I'm going to bed. You run a loop and find all the exploits between these two contracts and in the morning I want to wake up to a report of a bulletproof smart contract or an exploit I can report as a bug report. And you leave it to work and that's it. and it's going to keep working because it knows that it can kill the chain, reccl the chain, retest some contracts, test some tests, make use cases, uh, and you can tell it to be as imaginative as you want.
You can tell it to, you know, uh, search for flash loan exploits between Morpho and whatever else. So, you can run this against your codebase with as as much imagination as you want because it knows that it can run all the tools it needs. Just make sure that you whitelist all of the MCP calls so that it doesn't actually hang while waiting for your response. Um, start small. Try try some smaller examples like this one.
Whitelist them and then go complicated and then just, you know, go wild with with whatever query you come up with. Um, so that's that's the starter kit and um we are going to be adding more stuff in here especially over the weekend as well. But uh let me know if you have any other suggestions for the for the kit or if you have any improvements. I'll also accept PRs into this if you if you feel very creative. One more thing I have real quick that I can show you that is just just for fun, but you might find it useful is um a very simple integration of LLMs that will work together to write a good smart contract.
By a good smart contract, I mean a productionready smart contract. This works by telling the LMS to compete against each other. So what this little program script wants is a PRD. You provide the PRD, the product requirements document for whatever you want to build and then you run it. Then these agents are going to look at your PRD and if they have questions about it, they will ask you.
They will make a questions file that you're expected to fill out and then you rerun it. When they run out of questions, they'll produce the draft code and then they'll do a roundroin commenting each other's changes, upgrades, and everything until they reach a contract that they can no longer improve. And this loop continues until you get a pretty decent smart contract. In fact, if you run a smart contract through a few rounds of clawed uh Opus 4, in five or six rounds, you end up with a contract that the LLM no longer knows how to improve. And that is probably much safer than any human audited contract.
You have to though keep in mind that you have to tell it what it is, what it's doing. If you tell it it's a very uh living on the edge smart contract developer, it's going to do some wild things that are interesting, but it's probably not going to be super careful about the audit. And then you can run another one that you tell is an auditor and that pays attention specifically to, for example, optimization in terms of gas. and that one will end up rewriting some functions in assembly because it will find that they're 50% cheaper that way. Uh it it depends on how you set them up.
In this example, we have uh two instances of 03 on OpenAI, one instance of Opus, and one instance on uh another instance of 03. And so let's see what happens real quick. Let me just delete the these examples from before and um and see what's going to happen. So we have here a PRD from so I yeah I told them to I told them to build a an OTC market a very simple OTC market. So, uh, I wrote the PRD that just explains how the OTC contract works because I think Katana needs an OTC market and so I wanted to build one and I plugged this in here and I So, the ENV file lets you define the name for each LLM and the model it's using.
The models are typical models you can find in API docs of LLM providers. And of course, you need the keys as well. So what happens? Well, for now 03 is actually much more than Opus. And what happens with it is it kind of just takes for granted whatever you say.
So you will see now on this PRD once I run this uh what they're going to say. So three agents are configured question and answer phase. You can see that John was thinking for like under a second and had no additional questions. This is because John saw the PRD and said like, "Yeah, okay, I'll build it." So, this is a junior developer that is kind of decent at solidity, but really in reality doesn't think about edge cases.
But you can see that Sylvie, who is an Opus agent, asked seven questions, and Barry, who is again an 03, asked no additional questions. So, let's see what Sylvia asked us. So you can see here should the contract allow relisting unsold tokens after a listing is canled or does cancellation permanently disable that listing. All right. So thinking about edge cases are there any constraints on the set of ERC20 tokens that can be used for payment such as whitelist or minimum liquidity market cap requirements?
Again a very good question. Should the contract enforce a maximum duration for the vesting schedule to prevent unreasonably long lockups on the OTC market? because the OTC market I I envisioned has vesting built in. So you can sell packages of tokens with vesting builtin. Um is there a preference for using block numbers instead of time stamps for vesting to avoid potential minor manipulation?
Again, Sylvia is thinking ahead of time here. There is no real minor minor manipulation here, but like thinking about edge cases. uh should the contract emit an event when the protocol fe recipient address is updated by the admin role and other questions that might come up during the development flow as you're kind of building the project and so once you answer all of this you can actually run them again I won't answer this because it will take a while and they they'll keep pestering me about about better answers but in general when this is answered you rerun the program and then they will start producing code and this code will go through several loops as one proposes changes the other comments on those changes. The third one comments on those changes. The first one accepts or denies and so on.
This is why it's also very good if you use this tool for your development to put the best model first because this one can write some garbage code and then Sylvie can only edit garbage code. She will not write the good code to begin with. So you can put opus as the first model and then whatever else you use for other types. I will add to this I have a PR for this to add them uh career personalities. So you will be able to say here in the NV file, you are an auditor, you're an experimental developer, you're an assembly expert, you're this, you're that.
So you will be able to modify them a little bit. But this is basically how it works. Um anyway, these are the tools you have at your disposals for building katana focused apps. The DeFi chain is kicking off. The liquidity is pretty deep already because it's concentrated.
build on top of it, leverage that depth, and build on top of these money legos so that we can kind of honestly solve DeFi for good. Um, thank you. If you have any questions, I'm here. Any questions?
Does anyone have any questions?
Yeah.
Do you provide a testing environment with this subscription? I don't know you have cloud or the different um LLMs how we can use to
so um a testing environment for what for the chain
or the hackathon like that.
So if you just clone this repo it you have it all set up but you will need an API key from your LLM that you will be able to plug in here. Now you can sign up for a very basic trial on OpenAI. I think they still have on the on the API side and Claude as well. Um, of course, these models will be weaker than their top-of-the-line models, but they're good enough for prototyping and testing.
You recommend uh Endil to use.
I recommend Claude Opus
in all cases. Yes. Yeah.
If you want to write a good PRD, if you want to write a good plan, use 03. And if you can use 03 Pro,
um, they are good theorists, but they are not good at at practical code. So, yeah, use use Claude.
Thank you. Sure.
Yep.
Any more questions?
No, then we're good. Okay. I will be at the Katana booth if you need help. Um we will be giving away annual cursor licenses to our winners along with some other prizes and perks plus um money. Uh so yeah, consider building on Katana.
Thank you. [Music]
Automatic transcript — names and jargon may be misspelled.