Skip to main content

Execution Price Impact as the Token Universe Grows

· 10 min read
Eric Forgy
Founder of CavalRe

Multiswap places a universe of nn Reserve Assets in one pool. This article compares its marginal execution-price impact with an equivalent Uniswap v2 star containing the same assets, initial relative prices, and aggregate initial reserves token for token.

The universe contains n1n-1 assets AiA_i and one generic stablecoin called USD\mathrm{USD}. The first comparison studies a trade AUSDA\to\mathrm{USD}. The second studies an ABA\to B trade, which Multiswap executes as one interaction while a Uniswap v2 star routes through USD.

For equal starting universes, the Multiswap execution-depth advantage is

n1n(1es).\boxed{ \frac{n-1}{n(1-e_s)}. }

The advantage increases with the number of assets nn and the scale elasticity ese_s. Multiswap reaches parity with Uniswap v2 at

es=1n.\boxed{ e_s=\frac1n. }

For the ABA\to B comparison, the Multiswap advantage in the receive-side B/USDB/\mathrm{USD} execution-price response is

11es.\boxed{ \frac{1}{1-e_s}. }

Scope. Both comparisons use initial execution-price slopes and equal starting universes with the same assets, token quantities, and relative prices. The ABA\to B comparison follows one Multiswap interaction and the corresponding two-pool Uniswap v2 route.

1. Prices and execution prices

Every Multiswap Reserve Asset ii has reserve

ai>0,a_i>0,

scale

si>0,s_i>0,

and price in the internal Scale numeraire

Pi=siai.\boxed{ P_i=\frac{s_i}{a_i}. }

The price of AA in terms of USD is

PA,USD=PAPUSD=sA/aAsUSD/aUSD.\boxed{ P_{A,\mathrm{USD}} = \frac{P_A}{P_{\mathrm{USD}}} = \frac{s_A/a_A}{s_{\mathrm{USD}}/a_{\mathrm{USD}}}. }

For any Reserve Asset,

PA,A=1.\boxed{ P_{A,A}=1. }

The execution price of an AUSDA\to\mathrm{USD} swap is the quantity of USD received per unit of AA paid:

PA,USDexec=daUSDdaA.\boxed{ P_{A,\mathrm{USD}}^{\mathrm{exec}} = -\frac{da_{\mathrm{USD}}}{da_A}. }

At the initial state,

PA,USDexec=PA,USD.P_{A,\mathrm{USD}}^{\mathrm{exec}} = P_{A,\mathrm{USD}}.

The comparison uses the initial slope

dPA,USDexecdrArA=0,\boxed{ \left. \frac{dP_{A,\mathrm{USD}}^{\mathrm{exec}}}{dr_A} \right|_{r_A=0}, }

where

rA=daAaA.r_A=\frac{da_A}{a_A}.

2. Equal starting universes

The Uniswap v2 star contains n1n-1 pools:

AiUSD.A_i\longleftrightarrow\mathrm{USD}.

Each spoke begins with equal USD value on its two sides. Equal spokes contain the same initial quantity of USD and the same initial USD value of their other asset.

The equivalent Multiswap pool contains the same nn assets, the same aggregate quantity of every asset, and the same initial relative prices.

For each non-USD Reserve Asset,

aiPi,USD=aUSD,i.a_iP_{i,\mathrm{USD}} = a_{\mathrm{USD},i}.

Since

Pi,USD=PiPUSD,P_{i,\mathrm{USD}} = \frac{P_i}{P_{\mathrm{USD}}},

we have

si=aiPi=aUSD,iPUSD.s_i = a_iP_i = a_{\mathrm{USD},i}P_{\mathrm{USD}}.

The aggregate USD reserve is

aUSD=i=1n1aUSD,i.a_{\mathrm{USD}} = \sum_{i=1}^{n-1}a_{\mathrm{USD},i}.

Its Multiswap scale is

sUSD=aUSDPUSD=i=1n1aUSD,iPUSD=i=1n1si.\begin{aligned} s_{\mathrm{USD}} &= a_{\mathrm{USD}}P_{\mathrm{USD}} \\[4pt] &= \sum_{i=1}^{n-1} a_{\mathrm{USD},i}P_{\mathrm{USD}} \\[4pt] &= \sum_{i=1}^{n-1}s_i. \end{aligned}

For equal spokes, si=sAs_i=s_A for every non-USD Reserve Asset. Therefore

sUSD=(n1)sA.\boxed{ s_{\mathrm{USD}}=(n-1)s_A. }

The initial reserve of AA is equal in both systems. The same

rA=daAaAr_A=\frac{da_A}{a_A}

therefore represents the same quantity daAda_A.

3. Multiswap execution-price impact

Post-Trade Elasticity uses scale elasticity ese_s and price elasticity ePe_P:

eP=1es,0es<1.\boxed{ e_P=1-e_s, \qquad 0\le e_s<1. }

For each participating Reserve Asset,

PiPi=(1+ri)eP.\boxed{ \frac{P_i'}{P_i} = (1+r_i)^{-e_P}. }

Multiswap settles the swap at the post-trade relative price:

PA,USDexec=PA,USD.\boxed{ P_{A,\mathrm{USD}}^{\mathrm{exec}} = P_{A,\mathrm{USD}}'. }

For AUSDA\to\mathrm{USD},

PA,USDPA,USD=PA/PAPUSD/PUSD=(1+rUSD1+rA)eP.\begin{aligned} \frac{P_{A,\mathrm{USD}}'}{P_{A,\mathrm{USD}}} &= \frac{P_A'/P_A} {P_{\mathrm{USD}}'/P_{\mathrm{USD}}} \\[4pt] &= \left( \frac{1+r_{\mathrm{USD}}} {1+r_A} \right)^{e_P}. \end{aligned}

The two reserve changes satisfy

sArA(1+rA)eP+sUSDrUSD(1+rUSD)eP=0.\boxed{ s_A\frac{r_A}{(1+r_A)^{e_P}} + s_{\mathrm{USD}} \frac{r_{\mathrm{USD}}} {(1+r_{\mathrm{USD}})^{e_P}} = 0. }

Differentiating at the initial state gives

drUSDdrArA=0=sAsUSD.\boxed{ \left. \frac{dr_{\mathrm{USD}}}{dr_A} \right|_{r_A=0} = -\frac{s_A}{s_{\mathrm{USD}}}. }

Therefore,

dPA,USDexecdrArA=0,MS=ePPA,USD(1+sAsUSD).\boxed{ \left. \frac{dP_{A,\mathrm{USD}}^{\mathrm{exec}}}{dr_A} \right|_{r_A=0,\mathrm{MS}} = -e_PP_{A,\mathrm{USD}} \left( 1+\frac{s_A}{s_{\mathrm{USD}}} \right). }

For the equal starting universe,

sUSD=(n1)sA,s_{\mathrm{USD}}=(n-1)s_A,

so

dPA,USDexecdrArA=0,MS=n(1es)n1PA,USD.\boxed{ \left. \frac{dP_{A,\mathrm{USD}}^{\mathrm{exec}}}{dr_A} \right|_{r_A=0,\mathrm{MS}} = -\frac{n(1-e_s)}{n-1} P_{A,\mathrm{USD}}. }

4. Uniswap v2 execution-price impact

Consider the A/USDA/\mathrm{USD} spoke in the equivalent Uniswap v2 star.

Its initial relative marginal price follows from

PA,USD=PAPUSD=sA/aAsUSD/aUSD.\begin{aligned} P_{A,\mathrm{USD}} &= \frac{P_A}{P_{\mathrm{USD}}} \\[4pt] &= \frac{s_A/a_A} {s_{\mathrm{USD}}/a_{\mathrm{USD}}}. \end{aligned}

The two sides of the pool have equal scale at this price, giving

PA,USD=aUSDaA.\boxed{ P_{A,\mathrm{USD}} = \frac{a_{\mathrm{USD}}}{a_A}. }

After the user pays

daA=aArA,da_A=a_Ar_A,

the constant-product relation gives the USD amount received:

daUSD=aUSDrA1+rA.-da_{\mathrm{USD}} = a_{\mathrm{USD}} \frac{r_A}{1+r_A}.

The execution price is therefore

PA,USDexec=daUSDdaA=aUSDrA/(1+rA)aArA=PA,USD1+rA.\begin{aligned} P_{A,\mathrm{USD}}^{\mathrm{exec}} &= -\frac{da_{\mathrm{USD}}}{da_A} \\[4pt] &= \frac{ a_{\mathrm{USD}}r_A/(1+r_A) }{ a_Ar_A } \\[4pt] &= \frac{P_{A,\mathrm{USD}}}{1+r_A}. \end{aligned}

Differentiating at the initial state gives

dPA,USDexecdrArA=0,V2=PA,USD.\boxed{ \left. \frac{dP_{A,\mathrm{USD}}^{\mathrm{exec}}}{dr_A} \right|_{r_A=0,\mathrm{V2}} = -P_{A,\mathrm{USD}}. }

5. Multiswap advantage

Place the Uniswap v2 execution-price slope in the numerator so that a larger ratio represents a larger Multiswap advantage:

dPA,USDexec/drAV2dPA,USDexec/drAMS=1eP(1+sA/sUSD).\boxed{ \frac{ \left| dP_{A,\mathrm{USD}}^{\mathrm{exec}}/dr_A \right|_{\mathrm{V2}} }{ \left| dP_{A,\mathrm{USD}}^{\mathrm{exec}}/dr_A \right|_{\mathrm{MS}} } = \frac{1} {e_P\left(1+s_A/s_{\mathrm{USD}}\right)}. }

For equal starting universes,

sUSD=(n1)sA,s_{\mathrm{USD}}=(n-1)s_A,

and therefore

Multiswap advantage=n1neP=n1n(1es).\boxed{ \text{Multiswap advantage} = \frac{n-1}{ne_P} = \frac{n-1}{n(1-e_s)}. }

Parity occurs when this ratio equals one:

es=1n.\boxed{ e_s=\frac1n. }

For

es>1n,e_s>\frac1n,

Multiswap has less marginal execution-price impact than the equivalent Uniswap v2 star.

6. Advantage matrix

Each entry is the Uniswap v2 execution-price-impact slope divided by the Multiswap execution-price-impact slope.

Assets nnes=0e_s=0es=1/512e_s=1/512es=1/128e_s=1/128es=1/32e_s=1/32es=1/8e_s=1/8es=1/2e_s=1/2
220.5×0.5\times0.501×0.501\times0.504×0.504\times0.516×0.516\times0.571×0.571\times1×1\times
880.875×0.875\times0.877×0.877\times0.882×0.882\times0.903×0.903\times1×1\times1.75×1.75\times
32320.969×0.969\times0.971×0.971\times0.976×0.976\times1×1\times1.107×1.107\times1.938×1.938\times
1281280.992×0.992\times0.994×0.994\times1×1\times1.024×1.024\times1.134×1.134\times1.984×1.984\times
5125120.998×0.998\times1×1\times1.006×1.006\times1.030×1.030\times1.141×1.141\times1.996×1.996\times
nn\to\infty1×1\times1.002×1.002\times1.008×1.008\times1.032×1.032\times1.143×1.143\times2×2\times
Assets nnes=0.6e_s=0.6es=0.7e_s=0.7es=0.8e_s=0.8es=0.9e_s=0.9es=0.95e_s=0.95es=0.975e_s=0.975
221.25×1.25\times1.667×1.667\times2.5×2.5\times5×5\times10×10\times20×20\times
882.188×2.188\times2.917×2.917\times4.375×4.375\times8.75×8.75\times17.5×17.5\times35×35\times
32322.422×2.422\times3.229×3.229\times4.844×4.844\times9.688×9.688\times19.375×19.375\times38.75×38.75\times
1281282.480×2.480\times3.307×3.307\times4.961×4.961\times9.922×9.922\times19.844×19.844\times39.688×39.688\times
5125122.495×2.495\times3.327×3.327\times4.990×4.990\times9.980×9.980\times19.961×19.961\times39.922×39.922\times
nn\to\infty2.5×2.5\times3.333×3.333\times5×5\times10×10\times20×20\times40×40\times

An entry above 1×1\times means Multiswap has less marginal execution-price impact. An entry of 1×1\times means parity. An entry below 1×1\times means Uniswap v2 has less.

7. Direct Multiswap interaction and routed Uniswap v2 trade

Now consider a trade between two non-USD assets:

AB.A\longrightarrow B.

Multiswap executes this as one interaction. The participating Reserve Assets satisfy

rA>0,rB<0,rUSD=0.r_A>0, \qquad r_B<0, \qquad r_{\mathrm{USD}}=0.

Since the USD reserve remains fixed,

PUSD=PUSD.P_{\mathrm{USD}}'=P_{\mathrm{USD}}.

The value-flow equation is

sArA(1+rA)eP+sBrB(1+rB)eP=0.s_A\frac{r_A}{(1+r_A)^{e_P}} + s_B\frac{r_B}{(1+r_B)^{e_P}} =0.

Differentiating at the initial state gives

drBdrArA=0=sAsB.\boxed{ \left. \frac{dr_B}{dr_A} \right|_{r_A=0} = -\frac{s_A}{s_B}. }

Multiswap settles at the post-trade relative price. Its receive-side B/USDB/\mathrm{USD} execution price therefore satisfies

PB,USDexecPB,USD=PB,USDPB,USD=(1+rB)eP.\frac{P_{B,\mathrm{USD}}^{\mathrm{exec}}}{P_{B,\mathrm{USD}}} = \frac{P_{B,\mathrm{USD}}'}{P_{B,\mathrm{USD}}} = (1+r_B)^{-e_P}.

Therefore,

dPB,USDexecdrArA=0,MS=ePsAsBPB,USD.\boxed{ \left. \frac{dP_{B,\mathrm{USD}}^{\mathrm{exec}}}{dr_A} \right|_{r_A=0,\mathrm{MS}} = e_P\frac{s_A}{s_B}P_{B,\mathrm{USD}}. }

For the equal starting universe, sA=sBs_A=s_B, giving

dPB,USDexecdrArA=0,MS=(1es)PB,USD.\boxed{ \left. \frac{dP_{B,\mathrm{USD}}^{\mathrm{exec}}}{dr_A} \right|_{r_A=0,\mathrm{MS}} = (1-e_s)P_{B,\mathrm{USD}}. }

The Uniswap v2 star executes the same economic trade as two interactions:

AUSD,USDB.A\longrightarrow\mathrm{USD}, \qquad \mathrm{USD}\longrightarrow B.

The USD received from the A/USDA/\mathrm{USD} spoke is

daUSD,A=aUSD,ArA1+rA.-da_{\mathrm{USD},A} = a_{\mathrm{USD},A} \frac{r_A}{1+r_A}.

That quantity becomes the USD paid into the B/USDB/\mathrm{USD} spoke:

rUSD,B=daUSD,AaUSD,B.r_{\mathrm{USD},B} = \frac{-da_{\mathrm{USD},A}}{a_{\mathrm{USD},B}}.

Equal spokes satisfy

aUSD,A=aUSD,B,a_{\mathrm{USD},A}=a_{\mathrm{USD},B},

so

rUSD,B=rA1+rA.r_{\mathrm{USD},B} = \frac{r_A}{1+r_A}.

Therefore,

drUSD,BdrArA=0=1.\left. \frac{dr_{\mathrm{USD},B}}{dr_A} \right|_{r_A=0} =1.

In the constant-product B/USDB/\mathrm{USD} spoke, the amount of BB received is

daB=aBrUSD,B1+rUSD,B.-da_B = a_B \frac{r_{\mathrm{USD},B}}{1+r_{\mathrm{USD},B}}.

The execution price is the USD paid per unit of BB received:

PB,USDexec=daUSD,BdaB=PB,USD(1+rUSD,B).\begin{aligned} P_{B,\mathrm{USD}}^{\mathrm{exec}} &= \frac{da_{\mathrm{USD},B}}{-da_B} \\[4pt] &= P_{B,\mathrm{USD}} (1+r_{\mathrm{USD},B}). \end{aligned}

Differentiating at the initial state gives

dPB,USDexecdrArA=0,V2=PB,USD.\boxed{ \left. \frac{dP_{B,\mathrm{USD}}^{\mathrm{exec}}}{dr_A} \right|_{r_A=0,\mathrm{V2}} = P_{B,\mathrm{USD}}. }

Place the Uniswap v2 slope in the numerator:

dPB,USDexec/drAV2dPB,USDexec/drAMS=1eP=11es.\boxed{ \frac{ \left.dP_{B,\mathrm{USD}}^{\mathrm{exec}}/dr_A\right|_{\mathrm{V2}} }{ \left.dP_{B,\mathrm{USD}}^{\mathrm{exec}}/dr_A\right|_{\mathrm{MS}} } = \frac{1}{e_P} = \frac{1}{1-e_s}. }

This advantage depends on ese_s and is independent of nn.

Tradees=0e_s=0es=1/512e_s=1/512es=1/128e_s=1/128es=1/32e_s=1/32es=1/8e_s=1/8es=1/2e_s=1/2
ABA\to B1×1\times1.002×1.002\times1.008×1.008\times1.032×1.032\times1.143×1.143\times2×2\times
Tradees=0.6e_s=0.6es=0.7e_s=0.7es=0.8e_s=0.8es=0.9e_s=0.9es=0.95e_s=0.95es=0.975e_s=0.975
ABA\to B2.5×2.5\times3.333×3.333\times5×5\times10×10\times20×20\times40×40\times

8. The result

The Multiswap execution-depth advantage is

n1n(1es).\boxed{ \frac{n-1}{n(1-e_s)}. }

For fixed ese_s, this advantage increases with nn and approaches

11es.\boxed{ \frac{1}{1-e_s}. }

For fixed nn, the advantage increases with ese_s.

At n=2n=2, parity occurs at

es=0.5.\boxed{ e_s=0.5. }

For the 512-asset universe and

es=0.95,e_s=0.95,

the advantage is approximately

19.961×.\boxed{ 19.961\times. }

Multiswap combines Post-Trade Elasticity with the unified USD state of the complete nn-asset pool. The resulting execution-depth advantage increases with both the size of the universe and scale elasticity.

For a trade ABA\to B, Multiswap uses one interaction between the participating Reserve Assets. The equivalent Uniswap v2 star route composes two pool interactions through USD. The resulting advantage in the receive-side B/USDB/\mathrm{USD} execution-price response is

11es,\boxed{ \frac{1}{1-e_s}, }

which increases with scale elasticity and applies across universe sizes.