Basket Execution
Basket execution lets a trade receive value across multiple assets.
A pairwise trade has one pay asset and one receive asset:
USDC -> USDT
A basket trade has one pay asset and multiple receive assets:
USDC -> 60% USDT + 40% ETH
The receive-side value flow is split according to allocation.
Why it matters
For a one-to-one swap, low-impact capacity is often constrained by the receive asset scale.
low-impact capacity ≈ 50% × receive asset scale
For a one-to-many swap, capacity can draw from multiple receive assets.
basket low-impact capacity ≈ 50% × sum(receive asset scales)
The pay side also contributes a constraint:
capacity ≈ 50% × min(pay-side scale, sum(receive-side scales))
Example
Assume a pool has:
USDC scale = $4,000
USDT scale = $2,000
ETH scale = $2,000
A one-to-one trade:
USDC -> USDT
has roughly:
50% × $2,000 = $1,000
of low-impact receive capacity.
A basket trade:
USDC -> 50% USDT + 50% ETH
can use:
50% × ($2,000 + $2,000) = $2,000
of receive-side capacity.
The pay side has $4,000 of scale, so a $2,000 pay amount also sits near the same low-impact region.
Execution primitive
Multiswap routes value across assets. This creates portfolio-level execution for treasuries, index construction, RWA baskets, liquidations, stablecoin baskets, and aggregators.