Welcome
Orbital
Orbital is a multi-stablecoin AMM from the Paradigm Orbital paper. One pool holds any number of stables; every pair trades against the pool's full shared depth.Built solo in three layers - Solidity on Foundry, a Python reference for math validation, and a Next.js + Wagmi frontend. Live on Base Sepolia.
One poolOrbital pools hold any number of stablecoins on one curve. USDC, USDT, DAI, FRAX, crvUSD - or any subset, or more. The next stable adds a dimension to the existing pool, not a separate venue.Every pair trades against the same reserves. One hop, one quote, full pool depth in either direction.
One pool
CurveReserves live on a high-dimensional sphere, \lVert r - x \rVert^2 = r^2. Balanced prices sit at the equal-price point; off-peg drift slides the state across the surface. The sphere is the price curve.LPs carve planes across it - ticks, each at a chosen depeg distance k from the equal-price point. Ticks nest as overlapping orbits around the peg: the peg point lies inside every active tick, so a swap touches them all at once.When an asset drifts past a tick's k, the tick pins to a boundary slice - it stops covering the failing asset and trades the survivors at fair prices. Interior ticks consolidate into one sphere, boundary ticks into a smaller one, and the two stack into a torus, (\alpha_i - r_i\sqrt{n})^2 + (w_n - s_b)^2 = r_i^2, checked per swap. One equation, no loops, $O(1)$.
Curve
Highlights
Concentrated for N assets~150× capital efficiency at a 0.99 depeg limit, ~15× at 0.90. Concentrated liquidity beyond pairs.
Per-position tickEach LP picks their own k. Tight ticks max yield near peg; wide ticks act as backstop. Both coexist in one pool.
Survives a depegA failing asset pins out of bounded ticks automatically. The survivors keep trading at fair prices. No vote, no halt, no drain.
Virtual reservesLPs deposit only the increment above the guaranteed minimum reserve. The AMM constraint keeps the rest virtual - more effective capital, less locked.
Standard LP surfacePositions mint as ERC-721 NFTs with the V3-style API: mint, increase, decrease, collect, burn.
$O(1)$ on every swapHot state in five aggregates, one slot. Newton solver, 2-3 iterations typical, 15 worst case. No loop over ticks or assets.
SwapPick token-in, pick token-out. The quote, fee, slippage, and minimum-received update live before you sign.The route is always Direct - the pool is the entire market for that pair. No hop through USDC, no wrapper, no synthetic path.
Swap
RangeEvery position starts with a tick - the depeg threshold below which it pauses earning. A live multiplier shows the capital efficiency that range buys versus a full-range position.Tighter ticks earn more near peg but pause sooner during a wobble. Wider ticks stay always-on at lower yield. Both coexist in the same pool.
Range
DepositTokens deposit at the current pool ratio. Type a dollar amount; the deposit splits across every asset automatically.The position mints as an ERC-721 NFT. Increase, withdraw, or close anytime; fees accrue per position.
Deposit
ComparedStable-pool AMMs side by side.
Uniswap V3
Curve
Balancer
Orbital
Assets per pool
2
2 to 8
2 to 8
N, any size
Concentrated liquidity
Yes, pair
No
No
Yes, N assets
LP depeg tolerance
n/a
Global
Global
Per position
Capital efficiency at peg
High, per pair
Low
Low
~150×
Token failure
Pool drains
Pool drains
Pool drains
Auto-quarantine
Swap cost
Per tick crossed
Scales with N
Scales with N
O(1), any N
Stack
Solidity
Foundry
Python
Next.js
React 19
Tailwind 4
Wagmi
Base Sepolia
NotesImplementation of the Paradigm Orbital paper (Jun 2025), built solo. Three layers - Solidity contracts on Foundry, a Python reference for math validation, and a Next.js + Wagmi frontend.134 tests, 8 suites, fuzz + invariant. Live on Base Sepolia with a 4-asset pool. Research prototype, not audited.
Notes