# Mark B Richardson - An Arbitrary Mean-Rate Exchange Protocol

- Channel: [ETHCluj Meetup](https://streameth.org/ethcluj-meetup)
- Date: 2026-06-09
- Duration: 37:04
- Watch: https://streameth.org/watch/yt-QR6BzuTdakk
- YouTube: https://www.youtube.com/watch?v=QR6BzuTdakk

## Description

This talk introduces the Mean-of-Derivatives (MoD) framework, a new DEX design that inverts bonding curve engineering. By defining trade rates as weighted Hölder means, it enables programmable, closed-form liquidity strategies with precise behavior.

## Transcript

Uh yes. Uh so, yeah, my name is Mark Richardson. I'm the project leader at at Bancor. I have been since 2022. Um and today we're going to be discussing a mean rate exchange protocol. Just so you have a a general idea of how this talk is structured, um about 2/3 of it is going of necessary background theory. This is a a very math heavy talk, and so I apologize if this is going to make some of your eyes glaze over, but I promise there is a light at the end of the tunnel where we immediately um will arrive at addressing its specific applications in a DeFi context. Um and so with that out of the way, um the title of the talk has the word mean in it. And I wonder if people have um you know, much experience with with these types of functions. And so uh I am going to introduce some of my own notation for this talk today. I realize that people like uh Polya, Littlewood, and Hardy have their own sort of fractal typeface notation. I'm aware that that exists. Um but I'm going to use one that I think is a little bit more familiar to people around programming languages. So, I think that one of the advantages that this notation has is that if you're familiar with declaring functions in things like C and Python and so on, um then this is going to look a little bit more familiar to you. So, when I declare a new mean, um I'm going to replace this word name with the name that I give to that mean. Um and then within the parentheses um before the semicolon is going to be the arguments for this mean. Um and then afterwards is going to be the um the parameters. Uh excuse me, I think that there's um there's a a slight issue with how this presentation is going to go. I have a lot of animations in it and so if this is running off of like a Google or maybe this is in PDF version or something. I'm not sure exactly how this is going to go. Okay, so a mean is a function that maps let's say two strictly positive real numbers back onto the strictly positive real numbers. And if you haven't thought about it before, this is a very easy way to define an average, right? So if it takes any two positive numbers, it's going to spit out necessarily a number between those two. And yeah, okay, all of the animations are broken for some reason. Okay, so we say that a mean is symmetric if it doesn't matter which order you provide those arguments in. It is homogeneous if when you scale both of those arguments by the same number, it's the same as if you scale the entire output by that number. And so if you're familiar with using things like the arithmetic mean or the geometric mean, you may have always taken that for granted, but just know there are many thousands of different means and not all of them are homogeneous. And similarly, a monotonic mean is one where if one or both of the arguments is increased, then the output to that mean is also strictly increasing. And these are the three sort of magic like happy properties that most means have that are used in financial applications, but it's not a property that is necessarily shared by all means across the discipline of of inequalities. So all of the means that I'm going to be discussing in this presentation strictly follow these three characteristics. And just as a sort of a footnote here, I consider weighted means to also be symmetric, although I I realize if you want to dig into the details, it depends on how you define a weighted mean. And so for those who have a math background, let's just say that the weights are given as a vector um, alongside the the arguments to this function, and that maintains symmetry. Okay. So, um, here are some, uh, common means that you may have seen before. Um, the first two there, the arithmetic mean and the geometric mean, especially around DeFi, um, I imagine, uh, you've seen many of these, uh, previously. The logarithmic mean is perhaps a little bit more, um, exotic, um, but certainly in financial applications, you may have seen this come up again and again. And in specifically, if you're looking at things like prediction markets and polymarket and things like that, the automatic market maker that runs those systems is built on something called the logarithmic mean scoring rule. Um, and this is what what that mean sort of looks like. And then underneath that, we've got two of the sort of Greek means, the Heron mean and the centroidal mean. The Heron mean comes from something like 300 BC, it was discovered by the Heron of Alexandria, who was a a mathematician and engineer. And the centroidal mean is something that, uh, has to do with the, um, analysis of polygons and things like that. Now, there's one that I've left off of that list called the harmonic mean, um, which is comes up a lot in sort of frequency analysis and things like that. And the reason why I left it off is that I don't consider it a super special mean. Um, if you have a look at, uh, its definition, it's actually the reciprocal of the arithmetic mean evaluated on the reciprocal of its arguments. And so, you can actually define the arithmetic mean and the harmonic mean in terms of each other using this reciprocal, um, notation. And, um, the reason why I prefer to do that is that it means that we can just define what I call the harmonization operator, which is something you can apply to any mean and define the same reciprocal construction. So, this isn't something that is just now limited to the arithmetic mean and the harmonic mean, but we can actually construct the harmonic mean of any mean that we choose. So, um, when I use this, uh, math calligraphy H, This is the operator being applied to whatever mean I have just named. So, the harmonic mean is just the harmonized version of the arithmetic mean. We can do the same thing with the logarithmic mean here and generate the harmonic logarithmic mean. Um, but you can also do it with the geometric mean, or at least you might think that you would be able to do that. Except that the harmonic mean actually doesn't change at all, um, when you apply this operation to it. So, the harmonic mean is, uh, I'm sorry, that the geometric mean is the unique, uh, symmetric homogeneous and monotonic mean which does not change at all under this operation. Let's talk about weighted means now, and I promise we're getting to, um, we're getting somewhere with this. If you have a look at how the arithmetic mean is described, um, A plus B over two, um, I think that there's a better intuition for how this thing can be decomposed. So, instead of saying that it is the sum of these two things divided by two, I prefer to say it's one half of the first argument plus one half of the second argument. And the reason that I think that is a better intuition is that you realize that these two halves add to a whole, and so it sort of, uh, comes more naturally that actually these don't have to be a half. It could be like 1/3 and 2/3, or, you know, 1/4 and 3/4. And so, whatever that first weight is, I'm going to call R, um, and then the second weight is going to be the complement of that. So, the weighted arithmetic mean, um, can be defined this way, and then it's harmonic counterpart will be defined essentially the same way. Now, for the geometric mean, again, that same intuition applies. Instead of taking the square root of the product of A and B, instead think of it as taking the square root of A times the square root of B. And that means that this power naturally falls out as a half, and you can use that same, um, complementary relationship between those two weights, um, and the, uh, the weighted generalization then falls out pretty naturally the same way. And again, the um the uh the weighted version of this just becomes the um Oh, excuse me, the harmonic version of the weighted version is also invariant under the harmonic operator. So, there's still only one way to geometric mean. Again, just to clean up some of the notation, this um alpha parameter is always going to be applied to the first argument. So, just know that. Now, there are much more powerful uh generalized parameterized means beyond the weighted mean. So, for example, this is called the Holder mean um and Polya, Littlewood, and Hardy used this fractal M notation for it. And you can see here that it's added this alpha parameter, and that alpha parameter is then used as something that is um used as a a power term in both of the arguments, and then the reciprocal of that power through the overall result. And so, if we put, for example, alpha equals two into this, you'll get a mean called the quadratic mean or the root mean square, um which if you've done a lot of things like electrical engineering or statistical analysis, you'd have seen this mean um quite quite regularly. If we take alpha to zero and evaluate the limit there, we end up with a very peculiar definition of the geometric mean, um which is the um you know, the the log of both arguments, and then you take the exponential at the end of this. Now, um that specific way of writing the geometric mean might seem uncommon, but in certain um like mean analysis disciplines, this is the preferred way to to do it because it um it resembles something called the Kolmogorov mean or the generalized F mean, which just makes it a little bit easier to to understand how it plugs into sort of a more a more general more general mean theory. Um okay. So, if you just quickly look at the pattern here for the Holder mean and how this parameter um is is used to augment the arguments in here, you realize that this is really just the arithmetic mean with a a little bit of extra detail added to it. So, we can change our harmonization operator and make it the Holder operator by saying that for any mean that we have defined, if we apply this operator to it, then it's the same as taking whatever that mean function is, but raising the parameters to that power and then taking the reciprocal power at the end. And this composes really nicely. So, if you apply the Holder operator twice, it's the same as applying it once with just the product of those two those two parameters. And so, this means that the the Holder mean is really just defined as the Holder operator applied to the arithmetic mean. We can also apply the Holder operator to, for example, the logarithmic mean and get this generalized logarithmic mean out of it. But if you try to apply it to the geometric mean, again, it's completely invariant. And so, the geometric mean really does seem to be this very stubborn stubborn mean that every operation that we've tried to apply to it doesn't really move it at all. And so, just the last note of notation here, for the harmonic operator, when I'm declaring it with this math script H with no with no subscript, it's the same as me declaring it with a minus one. And that's just a convenient shorthand that I'll use throughout this presentation. And then the weighted version of the Holder mean follows analogously from exactly the examples that we've looked at before. Okay. So, this is kind of the first checkpoint. This is the first mean formula that I'm going to be using to define effectively a new bonding curve relationship that we can use in in AMMs in DeFi. And so, I realize that that was a bit of a long introduction, and unfortunately, we're not done yet cuz this is only checkpoint one of two. There are parameterized means that are much more general than the Holder mean. So, this is called the Stolarsky mean and it's been discovered and rediscovered throughout history a bunch of times. It's named for Kenneth Stolarsky who wrote it in Mathematics Magazine in 1975 and 1980. And it's interesting for a couple of different reasons. One is that it still obeys those three properties that I introduced at the beginning of this talk. So, it is symmetric, it is homogeneous, and it is monotonic, but its symmetry isn't just symmetric in its arguments. It's also symmetric in its parameters. So, you can invert A for B and get the same result, but you can also invert alpha for beta and get the same result. Which is pretty unique and I think also pretty surprising giving given the the complexity of this mean. Now, you have to evaluate it in all its degenerate cases. Obviously, because it's a mean, if if A and B are equal to each other, then it just returns that value. If alpha and beta are equal to each other, but they're not equal to zero, you get something called the identric mean which is this one that with the power tower in it which is I think a rather exotic mean that probably not many people have seen. But you see that this third case is one that we have already seen today because it's the Holder operator applied to the logarithmic mean which isn't itself one of the Holder means. So, what does this mean? This means that the Stolarsky mean is so general that it encapsulates all of the generalized logarithmic means as one of its degenerate cases. But it also encapsulates all of the Holder means as one of its degenerate cases. So, this is like the generalization of an already generalized mean which I think makes it pretty special. Okay, now if you have a look at just the the way that this mean presents itself, one of the instincts that you might have as like a mathematician or an analyst or even as a programmer who's thinking about ways that this can be simplified for implementation in a smart contract is you might want to remove that um that exponent at the end. And if you do that by forcing the relationship between alpha and beta to be that their difference is one, then this thing collapses down to something called the power difference mean. So, a strict strict progeny of the Stolarsky mean. And so, this was first investigated by Holsapple in 1987 and 1988. It also shows up later in 1987 and again in 1989 from Yang and Cao. And this is a really really special mean, and is the second checkpoint for the protocol definition that I'm going to be delivering to you today. Okay, so just quick note on the Stolarsky family here. This is from an article in Metron in 1938, and I consider the author of this article, who's a Renzo Cesari, to actually be the original discoverer of the Stolarsky mean family. Now, he wrote his equation down very similar very differently to how Stolarsky wrote it, but they are actually the same thing, and there was a PhD student from I think Iowa State, who also discovered the same thing by an integral method, and then Stolarsky, like I said, was like the last person in history to be able to do this. Now, I have recreated this this table as faithfully as I can from from the main literature. But then I've also reproduced it in the Stolarsky native coordinates. Now, unfortunately, I'm not sure how this is going to be animated. Okay, great. So, this is actually going to work. And again, I apologize for the broken animations through this. I promise this was a a much more appealing presentation once. Okay, so the entire anti-diagonal across this chart is the geometric mean, right? No matter how you select alpha and beta, as long as you're on that anti-diagonal, you always collapse the Stolarsky mean into the geometric mean. This entire main diagonal is the generalized identric mean everywhere, and is also the main mirror plane through which I said that the this parameter selection is is symmetric. So, you notice that for all of the named instances that I have here, they generally appear twice, and it's across the excuse me, it's across that identric mean plane that they appear. So, for example, if you look into the top right of this chart, you'll see that little orange dot or yellow you know mustard color dot, and it appears again in its reflection on the other side there. And so, the boundary at this mirror is the the generalized identric mean across that whole plane. Now, this cross here with the red lines, that's the whole domain family everywhere. So, this includes things like the quadratic mean and the cubic mean, and includes you know, what I call the the square mean root, which was a name that came from Math Stack Exchange. Thanks for your suggestion. Um, it also includes the arithmetic mean itself and so on. Um, and then you'll notice that there's this kind of parallel channel that runs through all of this, which covers something like 85% of all of the named instances of means here. And that parallel channel is the power difference mean. So, it's just worth noting that you know, throughout history and we're talking about you know, millennia of of mathematicians and engineers approaching mean theory in different ways, kind of have arrived um, at various expressions that when you parameterize them using the Stolarsky mean, it all falls on this straight line, which is a very strange kind of coincidence, but also suggests that there's something sort of naturally emergent about what those means do and how they behave. Um, and that you know, we we might want to explore as protocol designers as to whether or not that sort of extends naturally to to finance and trading as well. Okay. So, now we can talk about how we use these to construct an arbitrary mean rate bonding curve. So, uh quick um introduction here. I'm sure that many of you recognize this curve as being sort of the XY equals K, you know, hyperbola. Let's just say we don't know what this curve is for a minute, right? And technically, you don't know what this curve is because I, you know, I could have freehanded this or I could have changed the scaling or or something like that. Now, if we have uh two points on this curve, um we can very easily measure the um the derivatives here. And we're going to call these the marginal rates of exchange, okay? So, this is the terminology that I use for it. You might see terms like spot rate, you know, applied to AMMs, which I don't think is a really good uh I think that that is a a technical misnomer. Um marginal rate, I think is fine or first derivative, I think is fine. And um here, you'll see that um I'm denoting those um those starting marginal rates with P start and P end. And then I have um given a uh a depiction of what a trade might look like across this curve. And so, uh if you imagine if you are the trader who's actually dead uh you know, committing to this traversal, you don't really care what the starting rate and the ending rate is. What you care about is the effective rate across um those two parts. And so, let's call that slope the effective rate. And notice that P start is very steep and P end is quite shallow, right? Just in the way that I've drawn this. But, P F is not as steep as P start not as shallow as P end, which means no matter which bonding curve you draw, the effective rate between those two marginal price points has to be some mean of those two marginal price points, right? That's what a mean is. It's the thing that returns a value that's somewhere between, you know, two two thresholds. And by this construction, um you can see that no matter what bonding curve we draw, so long as it is symmetric and monotonic, the effective rate is always going to be the sum average, and we can declare what that average is. And that's kind of the point. Is that that relationship is a pure edge bijection between the entire family of means and all possible bonding curves. And so, whatever mean you determine here, and obviously some of them are going to be better behaved than others, but it will identify one and exactly one bonding curve from the infinite set of possible bonding curves. So, if you understand mean theory very well, and you understand how to use this, then there's there is a method where you can implement a system that doesn't just produce a single bonding curve, but produces an infinite number of them. Now, this is useful if and only if the mean that you're choosing has some sort of user facing user facing parameterization that they are easily that that can be easily understood, easily digested. Right? It has to be intuitive. It has to be something that maybe you can draw an image for the user and help them understand what choice they're making. And generally, you want to get it down to one number, right? Obviously, in you know, in the literature, you can have means that are parameterized by three and four and five variables and so on. But that's going to be very difficult to for a user to to intuit through. And so, getting it down to a single number, I think, is is a reasonable goal to have. But obviously, the you know, the the generality of the statement that I'm making here isn't privy to that. That's more of a a protocol design heuristic. So, let's talk about using the effective and marginal rate templates. Okay, so coming back to this image. For any bonding curve that you want to draw, right? There's always necessarily going to be, let's say, an intercept on both the Y and the X axis, assuming this is a two token exchange and we're using the, you know, air quotes concentrated liquidity paradigm. And then your token balances or one of the token balances will refer to a coordinate somewhere on this curve. So we're going to assume that for this protocol design exercise that actually we only need one of either of these intercepts. Um because um the relationship for the mean that we choose um is going to determine the other intercept as a function of the one that we store. So this means that it massively limits the the memory footprint that we need um by only requiring that one of these intercepts is actually stored in memory and the other one is um can be produced at runtime. Now this is actually the same um for X star and Y star. So in in general when people think about bonding curves they think about every dimension referring to a specific token balance. But actually that's a design choice. Um since 2023 um the protocol that that I've been running called Carbon DeFi actually um uses one dimensional bonding curves where each um bonding curve only has one token balance on it and an exchange rate that is um dependent on only its token balance. So it's actually a choice. You can think of one of these um one of these dimensions as just being the shadow of integration or like the artifact of integration having uh performed an integration on um a price curve. So uh for this demonstration assume that we need only X star or Y star right? That we only need one of these dimensions and not the other. And the advantage to doing it that way means that we can define the uh bonding curve in one direction differently from the bonding curve in the other direction. So that your bids and asks if you like um can be independently parameterized and be given different mean profiles and that kind of thing. Now by convention if you are reading through the the Bancor smart contracts just know that we store the Y coordinate. This is the one that we prefer to use um as the the the dimension that refers to the active token balance, which means that bonding curves are implicitly um denominated using the token that they have as the numeraire, which I think is is um you know, uh an intuitive way to do it. But obviously, if you're designing a different protocol, you might have chosen um a different convention, but it's just a convention. Okay. So, um now let's talk about the um the the range from um one of these marginal prices to the other marginal price. In the example I was using before, I said that, you know, we've got these two spot prices um that we're we're traveling between, and that includes um the traversal between both intercepts. So, what we can do is say, "Okay, when we're at the Y intercept, that's going to be when the marginal rate is its steepest, and let's call this P high. And when we're at the X intercept, this is when the um marginal rate is going to be its most shallower, so let's call that P low, which means that P start is going to be somewhere in between these two things, and it's the mod it's going to be the um the marginal rate template, or the, you know, the the specific mean that we choose to define that marginal rate template, that's going to determine how um how this thing um how this thing responds. Okay. So, this is where we use the holder template, and I'm going to show you how to do this. And I'm curious to see how this is going to play out given that the animation's not working. Okay. So, here um let me explain what was going to happen in that animation. So, you can see that I'm transporting the X intercept and the Y intercept, and Y start next start off of the graph, and then assembling it, right, into um these weights, right? And so, this is the important thing to realize is that the um the token balances, if you like, these are actually being used as weights, right, in a marginal rate template. Then, after we've got those weights assembled, we transport the P high and P and P low rates, which we assume is a variables that are stored in the smart contract, and they become the arguments of this mean function. And after we've got the general weighted mean there, or the arithmetic weighted mean, we only then have to regulate it with the Holder operator, in order to in order to sort of define exactly how many bonding curves we want to use here, which specific kind of bonding curve we want to use from the the continuum. And we assume that both alpha and beta, or one or the other, is stored in the smart contract. And like before, because this is going to relate to the the power difference mean, you'll see that in a minute, we assume that the difference between alpha and beta is exactly equal to one. So, we only need one of these parameters stored in memory. So, there it is. There's the weighted the the weighted arithmetic mean with the Holder mean applied to it, which I said was checkpoint one for how this protocol is designed. And it doesn't matter which one of these equations you choose to implement, because they give you exactly the same result. And again, it's only true or both of these things are equal to each other if and only if alpha minus beta is equal to one. Okay, so this gives us P start. Then, imagine that we are being you know, being asked to evaluate what the marginal rate is at the end of a proposed exchange, then we just augment Y start by delta Y and X start by delta X, and that will give us a new coordinate. Then we can just repeat that process to get P end. And this is kind of the point is that once you have P start and P end, you know that the effective rate is just some mean of those two things, and the mean that we're going to use is the power difference mean. And so, this is the the important relationship between the weighted hold mean and the power difference mean is that if in some sense the integral of the the weighted hold mean is the power difference mean. And this kind of recasts an exchange instead of thinking about trajectories over certain token balances, this is now painting a bonding curve as being explicitly an exchange from one marginal price to another. And note that once you have this mean this mean worked out, then it doesn't matter if the user is providing with the delta X value or the delta Y value cuz it's very easy to to rearrange this to compute either delta X from delta Y or delta Y from delta X. And this is similar to you know computer amount that the the user sends to the protocol or calculate the amount that the protocol sends to user. Okay, so we've gone through all of the mean theory to to kind you know to establish this. Let's have a look at what these bonding curves actually are. Cuz what they turn out to be are um essentially affine transformed power functions. And so what you're looking at on this slide is the entire envelope of the absolute power of a power function and then we're looking at specifically which which quadrant we are selecting that power function from. So in the case where alpha is less than less than zero, you can see that we're selecting the the specific branch in quadrant four and then transporting it in order to get our concentrated liquidity bonding curve here. Now if you were to define it this way and try to use the affine parametrization, you'll find that there are like seven different variables that you need to store in the smart contract. Whereas in the one that we're using today using the integration method, you only need to store three variables which fits very very easily into three slots in memory um, the token balances and everything else, which is about, you know, uh, 65% reduction in the overall complexity of of what's being proposed here. And you can see that I've also named this as the harmonic centroidal mean, um, in the top right. What I'm going to do is just tick through, um, some of these other examples. So, this is the harmonic anti-hero mean. This is the harmonic arithmetic, which you can see has the form of, uh, x = y squared, so a parabola tipped on its side. This is one of the bonding curves that you get out of this parametrization. Um, this is the harmonic heronian mean. And at the singularity, which is when alpha equals zero, um, it produces the harmonic logarithmic mean, which has the form of negative log, right? And so, this is, um, you know, there's only one branch of this function, and this is the one of the special cases. But, as you pass over that singularity, um, you then end up back in sort of the Bancor V1 balancer sort of space. Um, so now we're looking at the, um, the envelope of all of these, um, weighted, um, you know, weighted power, uh, parabolas. And so, this I call the harmonic trisected mean. This is akin to a 25/75 weighted, um, balancer pool. And you can see that we've now moved from quadrant four up to, um, quadrant one. And as we move through here, you can see that we arrive at the very, very familiar x * y = k curve. Um, and if we move over here, um, this becomes the, um, you know, the the most commonly recognized, I would say, um, concentrated liquidity implementation today. And what you'll realize is that this version of the formula is really just a very special subset of the methodology that I'm showing you today. Where, in this case, you're limited, like, I've got a version of this formula that works anywhere in the interval between zero and one for alpha and beta. Um but outside of that interval, um this equation starts to produce complex values. Um and so, what you realize from that insight is that if all bonding curves anywhere in DeFi today are parameterized between zero and one, then the methodology that I've presented here gives you access to the entire real number line. Um and so, let me maybe state that again. All bonding curves that have ever been used in DeFi, apart from some of the weird ones like the curve stable swap and things like that, um are strictly parameterized between zero and one, and this methodology gives you access to minus infinity to positive infinity. And then we start to come back the other way, right? So, here's the the trisexter geometric mean, and you can see that things are sloping the other way. Then on the other singularity, we've got the logarithmic mean, which is the exponential of negative token balances. Um and then you start to see we, you know, come back through here, including the arithmetic mean, which is a a normal parabola, this time selecting from quadrant three. Um and so on and so forth. Now, I think um looking at bonding curves is a totally reasonable and respectable way to to think about things, but I prefer to think about bonding curves in terms of their liquidity depths. And so, what I would like to show you now is what these things look like in terms of where most of the liquidity is concentrated given a certain price interval. So, for example, um here you can see I've enumerated the axis in the top right of this chart from P0 to P11, and just assume that this is a strictly increasing price sequence. Um and then we're selecting a certain mean, in this case the harmonic centroidal mean, and what it's showing you is that if you had selected that interval, where are like most of your tokens available for purchase within that interval. So, if this was say $1, $2, $3 and so on up to $10 and you selected the harmonic centroidal mean, then what it's showing you is like the overwhelming majority of your liquidity is sort of in this front range. So, between 1 and 2 you're um you're depositing most of your liquidity between those two price points. And then the amount of liquidity is diminishing after that. But look what happens when we tick through the means. So, we're now moving to the harmonic anti-hero, the harmonic heronian, this is the log, harmonic trisected and so on. And this is coming up to the geometric. So, this is the specific liquidity profile that you'd be using on any concentrated liquidity protocol today, right? Including Carbon DeFi, the um the flagship project from Bancor, including Uniswap V3 and Uniswap V4 and Trader Joe and so on. This is the liquidity profile that you're using. So, if you're setting up a liquidity band, let's say to sell Ethereum between 4,000 and 5,000, um most of your liquidity is actually going to be priced at the the lower part of that range. Um whereas if you can select any mean that you want, you can start pushing, you know, um the available liquidity up towards higher and higher price points and get a better rate of exchange if that's how you want your liquidity to be enumerated. Note that when we move to the arithmetic the arithmetic mean, this is when you get a a straight line um profile, so even distribution across across the range, which I wonder if some users think that that's what they're getting with traditional concentrated liquidity protocols today. Um but then we can keep going, right? So, um this is the I think the most aggressive one that I've that I've uh got on the sites for you today, but of course we're only at two now. And I said that we can take this all the way to infinity. Um note that there are going to be um uh like obvious um limiting cases here. So, if we take this back to um the uh harmonic centroidal mean at -3, you can see if we took this to negative infinity, it would be the same as having um a limit order exactly at the bottom of the interval. Whereas if we um took that um parameter to positive infinity, it would be the same as um having all of our liquidity um concentrated exactly at the at the topmost part of that interval. So, um I think that this is, you know, uh a good way that users can ensure through what choosing this number means. If you choose a negative number, you're saying that I want most of my liquidity um towards the bottom of the range. And if I choose a positive number, I want most of my liquidity towards the top of the range. And how aggressive I am with the magnitude of that number determines exactly what the profile is going to be. So, the um the formulation that I've presented here is is analytically complete for this particular family of bonding curves. So, this includes, you know, essentially the entire um alpha and transported um power function family, um including all of the hyperbolas, parabolas, cubic curves, quadratic curves, and so on. Um and because our implementation only requires three 256-bit memory slots, um this includes both the uh the quote and base sides of the pair, which can be independently parameterized. Um what's it's kind of ironic that um given that we have an infinite number of bonding curves that we can do now, the memory footprint and run time efficiency is actually better um than even something like V1 or Uniswap V2 or something like that. So, it's actually it's a very, very small, very efficient protocol to run. Um if you're interested in anything that I've done here, and obviously I've had to taper this down um in complexity for um the um you know, for the time allotment that I have to present it to you. Um but I have been working on a much larger document here. It's currently about 200 pages. Um if you would like to um Um, you know, if you would like to see this, I'm very happy to share it with you. We'll go through all of the formal proofs and help back up some of the claims that I've made today. Um, if you would like to um, talk to me at all, um, probably the best way to reach me is going to be um, Telegram or my email. Uh, LinkedIn's also fine. Probably don't try Twitter anymore. And thank you so much for your attention. I hope that you found this informative and interesting and I'm happy to take any questions.
