Better Execution isn’t Just More Pools

EthCC[8] · 3 Jul 2025 · 17:08

Adam Ringwood examines time-sliced execution in decentralized exchanges. The presentation considers current usage, technical barriers to broader adoption and the potential benefits of executing trades over time.

Speakers

Topics

From EthCC[8], hosted by Ethereum France.

Transcript

Um, so this talk is a little bit about ETH execution and like execution on L2s and EVMs. Um, and it's talking about how better execution isn't just more pools. Um, my name is Adam Ringwood. I am a principal engineer at Talos. Um, Talos is a company that specializes in crypto uh, trading and crypto PMS. And yeah, so let's get into it. So a little bit about me, just kind of so my background is here. Uh I was originally in cyber security at a company called Endgame. Um I was doing malware research, which is one of the few fun jobs in the world where you can blow up a bunch of malware on your company machines and your boss doesn't get mad at you and in fact you meet your quarterly KPIs. Um never had that since then would be my comment. Now

people get mad when I blow up malware on their stuff. Um after that I started a company called Scholum Technologies which was uh in 2020 which was heavily focused on kind of institutional DeFi and institutional execution. Um we did a little bit of everything in kind of the DeFi space and we got acquired by Talos last year. Um so I have some kind of knowledge of what I'm speaking of. I've been doing this for a couple years and been helping a lot of people execute trades on on the EVM for a couple years. Um quick disclaimer, a lot of this data was gathered by me. Tools were written by me. I've done my best to make sure all the numbers were correct. I did find a mistake literally this morning, which is why we needed the new slides. Um, but things may be wrong. Let me know if you

see anything that's wrong. Um, so quick kind of agenda here. Um, we're going to talk a little bit about traditional execution and tradi and then we're going to talk about DeFi execution. We're going to talk about some onchain orders and kind of how those work and then we're going to talk about when kind of time slicing orders does and does not work. Um, so let's start kind of talking about Tradfi because they're older and so we have a little bit of history here. Um, so as I'm sure you guys are all aware, traditional finance used to work in open outcry pits and so people, you know, you would call your broker, your broker would call a guy on the floor, they would scream at some people, you'd eventually get a trade and come back to you, right? Um, and one of the interesting things that I think has kind

of happened is if you look at the history of like algorithmic execution in TRDFI, the first algorithmic execution was actually before electronic markets. Um, and it was invented for Ford when Ford was kind of doing big block trades. And then um, in 1998 the SEC approved electronic exchanges and that really kicked off kind of algorithmic execution because it's much easier to do it when you don't have to have somebody like do all the math by hand and you can just get a computer to do it. Um, and so you can kind of see from this chart from the early 2000s to like 2012, it absolutely took off and it is the vast majority of the market these days, right? It's pretty rare, I think, for people to execute by hand normally. Um, and then my favorite fun fact, uh, stocks used to be in fractions and it was like a

three-year process to get stocks into decimal form. Um, so you know, if we think we have problems with decimals in like the EVM space with very long numbers, you can imagine the trouble that people had when like stocks were all just fractions, which I I think is kind of interesting and strange. Um, so let's talk about uh some of the algos that people use in traditional finance because I think this helps with a little bit of the history. Um the one we're going to be talking about the most today is timew weighted average price and that is T-W kind of conventionally called and what you're what that is is basically when you take a big block trade say you want to sell 100 ETH and you don't you know 100 ETH is too small of an order but maybe it's a thousand ETH right and

you want to sell that in such a way that you get good price execution and so what you do is you actually break that trade up into 10 batches of 100 ETH and you send those to the market one at a time and then you wait five minutes and then you send another one. Um the next one is volume weighted average price. And so this is a little bit this is very similar but it's a little bit different and there's kind of a subtlety here and that is rather than just kind of sending it on a fixed schedule or you know some time interval. You actually try and match the orders based on the volume in the underlying market. And so the reason you do this is that how much you price impact in most markets is dependent on how much volume there is in a market at

a given time. And this is important to pay attention to, right? Because if you look at this chart is in my home time zone, which is uh Central American. Um but you can clearly see there's a spike when the US wakes up and Wall Street starts trading at 9:00 a.m., right? And this is the volatility of Bitcoin, right, on a like hourly basis on a given day. And so if you're doing an algorithmic execution there, you want to make sure that you're taking into account that there is almost double the volume in the morning than there is in the evening because you'll get less price impact if you execute during the morning. Um and then actually one of the weird ones is uh Soore and Soore is basically smart order routing and we are quite familiar with this as DeFi folks but actually in Tradfi it came the other

way. So Tradfi got into T-W, they got into VWAP and then they got into uh soore quite later. It only became kind of popular in the last, you know, a standard feature in the last decade for a lot of conventional brokers. Um, and what that is is kind of what we all know it is. You know, if you have 10 venues that you can get an order in, you may want to execute on the best order for that venue. Um, all right. So, let's talk a little bit kind of background about automated market makers. Um, so automated market makers were invented in 2018. They really came into popularity around 2020 when UniS swap V2 dropped and they have kind of a different structure I think than traditional markets which is worth talking about. So in traditional markets there is one exchange and there's lots of things on

that exchange and so if you want to have a new product or a new type of thing you list it on an exchange and people can trade with it there. In DeFi you do the opposite, right? If you want to do a new thing every AMM is a smart contract frequently they're immutable. they're deployed on chain. And so what you do if you want to make a new protocol is you just deploy more smart contracts. And so DeFi kind of grew up in this world where there were just a wide variety of venues to pick from. And thus Soore is very important to us and has been a fundamental part of good trade execution for a long time. And I think if you know if you're looking at like the best thing you can do to execute bigger trades in DeFi, the first thing you look at is

using something like unis swap or 1 in or zerox in order to get bit better price execution, right? Um and because of that you get like this whole sweeping view over all the pools and then you take liquidity from all the pools and that gives you more liquidity and access. Um, and I think one of the things that's probably underweighted or not talked about enough in DeFi is that pools are arbitrageed fairly quickly. Um, and so what we have here is a uh graph of two unis swap pools. And you can see this is the uh 05 and the.3 uh ETHUSDC pool. And what we're looking at is uh we had a low a couple months ago in ETH, which was very sad. I'm happy

we're we're doing better now these days. Um, but what you can see is I picked this example because there is a lot of volatility in it, right? There's almost a 10% jump in price over time as this is going up. And the ETH 0.5 pool uh or sorry 05 pool has about 10 to 15x the liquidity of the.3 pool. Right? Liquidity has shifted down to lower fees which kind of follows. People want better trade execution. But despite that, the two mirror each other quite closely. And if you look at this bottom chart, that's the price differential between the two at any given time. You can see there's quite tight bands, right? Within most of the time they're within five $5 of each other, which is, you know, in traditional markets would

be horrible and people would scream, but in DeFi is is quite good. Um, and so you can see that like the only real big spikes here are when you see like vast dislocations in the price as things hurry to catch up. And so arbitrage is, I want to just say this, much more effective in DeFi than people like expect or like commonly talk to me about and you should rely on it as kind of a fact of life. And we'll talk about kind of how that can help you in a in a second in a couple slides. Um, this is just another view of some of the same data. So this is a histogram of the price differentials. And I think this is actually one of the most interesting charts I've seen in DeFi in a little bit because you can clearly see when people

who are doing like MEV or arbitrage on a pool find it to be valuable, right? There are these like very steep bands around $5 where all of a sudden people find it very commercially profitable to bring the price back in line. But even still, the standard deviation is quite low, right? most of the time, 66% of the time, um, if you remember, you know, I had to look up a statistics textbook, but you know, 66% of the time, you're within $3 of price. And so I think that that's quite a powerful thing to say about arbitrage and DeFi. Um, so let's talk a little bit about, we talked a little bit briefly about it, but let's talk a little bit more about why you want to time slice and order.

Um, and I think that this is where we start to talk about the differences between AMM and CLABS. clubs, you know, have a lot more granularity in how you can deploy liquidity to them and how you can take liquidity and they also have the benefit that you can send in essentially many different types of orders essentially and see how that's taken. Whereas an AMM is quite different, right? There's really just one way to take liquidity to some extent. You can deploy liquidity with unis swap P3 ticks in a in a nice way. And so you can see the curve being uh for order taking being different, right?

And I think that that's been a big benefit. But the other piece of this is a club the function of how far you go through a club's order book is largely dependent on the orders on the book. Whereas in un you know in AMMs you can actually see that this uh function of order the function of execution is really about how far you move from the center point in the graph. And this is you know the famous chart that describes kind of the constant product function. And so you're mathematically kind of ruled by that relationship to some extent. And the more that you execute, the more the the larger that your trade is, the more you're going to dislocate the price. And so you kind of have to keep in mind when you're when you're executing large trades, you can't get away from kind of the core uh piece of

this. Um, one of the other interesting things that I think is is very different in clubs and AMMs and like exchanges versus DeFi is that uh exchanges frequently have rules about how much you can sweep. And so when you're trying to sweep like 5,000 levels or 500 levels on an exchange, a lot of exchanges will cap you and say like, "Hey, this is the maximum order size that you can take at a given time." Whereas in DeFi, you're fairly free if you want to, you know, chuck an order that's 20% of liquidity on an AMM. It'll do that happily for you. Um, which is interesting. And so this kind of leads to the conclusion of why you may want to time slice an order, right? You can get reduced market impact if you allow people to arbitrage your order back in. If you kind of place a

smaller order, wait for the pool to get arbitrageed back into the center, then you can get better execution quality than you would expect and you can get a better average execution price and that's what we all want. Um, so this is a graph of some trades and I realize I'm committing a little bit of slideware gore and I'm sorry about it, but I also like showing the numbers and so I I wanted to show the numbers for people to take pictures of. Um it shows five trades starting from size one to size 100 and you're selling ETH on the ETHUSDC pool. Um this was actually grabbed from base and you can see different outputs and you can kind of see the final trade price but I think really the meat that I should draw your

attention to is these last three lines and particularly we'll start with this third the third from the bottom. And this is the amount of essentially loss in ETH compared to like a perfect execution, right? If you took this trade and you, you know, you executed it to the price of the pool and you had no slippage versus actually executing the trade. That's the difference that you would see in actual execution. And so on the bottom two uh lines, we see what if we actually split that order up, right? And we obviously can't split up a size one order into one. Um and so, but you can split up a five order. And you can see that you get almost uh 80% reduction in slippage if you're willing to sl to time that out and wait for people to arbitrage you back. Once again, kind of

to the earlier slide, arbitrage is powerful in D5. People are pretty motivated to do it, right? If you dislocate the pool enough, people will arbitrage it back. And that relationship continues, right? Like there's no reason to lose almost four ETH on a trade if you can actually lose 2 ETH or 03. It really kind of depends on how patient you are and how much time you're willing to take um and you know how much you want to trade off between I need to get this order done now versus I need to get this order done at the best possible price. people will kind of talk about and say what if the market moves against you and I think that that's also an important factor to talk about but volatility in crypto has been going down over time um if you look kind of on the

grand curve of things and so I think people should expect more that volatility is going to be low and that there's some benefit to doing time slice execution here um why don't we see more time sliced execution in DeFi and I think that that really is kind of fundamentally an architectural problem unfortunately you You know there is a great deal of benefit to allowing people to run mobile phones on like mobile wallets on their phone right like the idea that anyone can be a participant in the ecosystem is very powerful and I think one should be preserved but it's also fundamentally kind of frustrating when you're trying to place time slice orders because if you want to place an order and you want it to execute over the next two hours because of how externally owned keys

work this is changing with some of the recent uh proposed improvements and some of like the Petra upgrade and stuff like um your phone has to be like awake and online to initiate those orders. Although smart contract wallets now are helping this out as well. And so we're kind of in this world where one of the biggest challenges of executing orders sequentially like over time is you have to figure out where to do that. So what are some solutions to that? Um I think that there are some very compelling solutions both decentralized and centralized depending on kind of how you profile risk. Um, the one that I like think is most interesting is cow swap, which uses intents. And so what you do there is you essentially sign a uh payload for them and then their servers are responsible for executing that

order. So your phone can do it and then you can go off to sleep or whatever and you don't have to worry about that. Um, and that I think is quite good. You do pay a fee for it, but you know that's how markets work, right? If you are unwilling to run the servers yourself, you can pay someone to run them for you. Um then there's Hummeringbot um which is a Python kind of framework that people use to do automated trade execution in DeFi and in centralized exchanges. Um this requires a little bit of manual work but you know they have a strategy built in that'll do this as well. Uh there's unis swap v4 which has the t-wap hooks which are starting to get deployed out there which I think is quite fascinating and this uh references a paradigm paper as far as I can tell from

a couple years ago where instead of you know having it be part of the normal cycle of block execution it actually does it at the top of the block and so you kind of get this effect of the paradigm paper calls it in between blocks and I think that's a that's a fair summary um and then there are some centralized solutions like you know my company um and other companies as well where the wallet lives on a server and You have to take the risk of that into account, right? If you don't have the wallet on your phone, there's compromise risk, there's security risk as well. But the benefit is that the structure of doing orders is quite different because you can just send an order to the server and then the server can time slice that up or it can send it in one chunk as it

will. Um, so here's my conclusion. uh if you're swapping more than uh a quarter of a percent of liquidity on a set of pools, um a lot of the examples we've done are on one pool just because the math's easier and I think it it flows a little bit better. But if you're swapping more than a quarter of a percent, you should really consider time sliced execution. And I think that that's quite beneficial. Um yeah, that's my talk. So thanks for attending. If anyone has any questions, I don't know if we have time. Um but in that table with the with the data for the losses. Were you considering fees,

transaction fees or just the pure um ah that's an that's an excellent question. I did not put fees in there just because fees are so variable by chain. And so I think if you're running this calculation yourself and you're doing it on ETH, you absolutely have to take into account that fees are going to be a significant part of it. And if you're executing a 100 trades, you have to pay fees. But on a lot of L2s, fees are fairly minimal these days. And so I think that it's kind of negligible to the the effects of the c the effects of the trade. Great question though. Thanks. Appreciate it. Thank you.

[Applause]