Aruna
Aruna is a parametric protection market for Uniswap v3 LPs. It measures realized price variance directly from the pool’s TWAP and pays LPs when variance exceeds their strike. LP losses are capped at the upfront premium, while underwriters earn premiums for providing pooled capital.
视频




技术栈
描述
### Description
Aruna is an on-chain parametric protection protocol for Uniswap v3 liquidity providers (LPs) against the cost of providing liquidity, commonly known as impermanent loss. Unlike strike-based protection instruments that only measure price direction, Aruna captures the cost LPs actually bear: realized variance - how wildly prices move along the path, not where they end up.
#### The problem
LPs who supply liquidity to Uniswap v3 incur a loss relative to simply holding their assets. But end-point impermanent loss only looks at the difference between start and end prices, while the real cost is substantially larger. Every time the price moves, an LP position is forced to "sell the winner and buy the loser" - an implicit rebalancing cost known as loss-versus-rebalancing (LVR), which accumulates along the path and scales with realized variance.
To illustrate: a token drifting slowly from $1.00 to $1.03 over a week ends at nearly the same point as a token that swings sharply (up to $1.10, down to $0.97, up to $1.08, down to $0.95) before settling at ~$1.03. End-point IL for both scenarios is almost identical, yet the real cost of being an LP across that week is vastly different. Strike-based instruments miss this entirely because they only pay when price touches a specific level. Aruna captures it because it accumulates every movement along the way.
#### How it works
1. Underwriters deposit capital into a vault for a specific (pool, tenor) pair, becoming collective risk bearers.
2. LPs request a quote for their specific Uniswap position, then pay an upfront premium that simultaneously serves as their maximum loss cap - locked from the moment of payment and incapable of growing regardless of what follows.
3. The contract accumulates realized variance from Uniswap v3 TWAP data (not spot prices, for resilience against short-term manipulation) throughout the active tenor.
4. Simultaneous settlement at the end of each cohort cycle: if realized variance exceeds the strike, the LP receives a payout bounded by the vault's available capital; if not, the LP loses only the premium. If data is insufficient to measure the policy, the premium is refunded in full.
5. Underwriters receive their capital plus collected premiums minus claims, distributed proportionally to their capital share, then choose to withdraw or roll into the next cohort.
#### Architecture
Five core contracts separated along one firm line: contracts that hold money do not compute anything complex, and contracts that compute do not hold money.
| Contract | Role | Holds funds |
|---|---|---|
| ArunaFactory | Permissionless market creation, pool validation, address registry | No |
| VarianceAccumulator | TWAP snapshots and realized variance accumulation, one per pool | No |
| CoverVault | Underwriter capital, cohort calendar, policy sales, NFT escrow, settlement | Yes |
| FlatVegaPricer | Premium computation from strike, notional, and remaining time | No |
| PositionValuer | Derives variance notional from position liquidity and range width | No |
#### Key highlights
- Precision: protection priced on realized variance, not an indirect price-direction proxy
- Accountability: LP loss is capped the moment the premium is paid, and payouts are always bounded by capital genuinely available in the vault, so the protocol never promises a payment it cannot honor
- Manipulation resistance: every calculation derives from Uniswap v3 observe() TWAP data; there is not a single spot-price read anywhere in the code base
- Tied to a real position: buying protection validates position ownership on-chain, and the NFT is escrowed in the vault for the policy's duration, so protection cannot become a naked variance bet. LPs retain 100% of their trading fees and can collect them at any time
- Diversification on the underwriting side: pooled underwriters back many LP positions proportionally rather than concentrating on a single outcome
- Runs without admins: no upgradeability, no admin roles, no pause. Sampling and settlement are permissionless, with built-in keeper incentives funded from premium deductions
#### Honest positioning
Aruna is parametric protection on realized variance, not an indemnity against end-point impermanent loss. Payouts are not promised to equal an LP's actual IL (*basis risk*), and coverage applies only during the cohort tenor, not during the settlement gap between cohorts. Both limitations are disclosed to users before purchase.
本次黑客松进展
Smart Contract (Solidity 0.8.26 · Foundry · Arbitrum Sepolia)
- Full implementation of five core contracts: ArunaFactory, CoverVault, VarianceAccumulator, FlatVegaPricer, PositionValuer
- Tenor-based cohort model (7/14/28 days) with explicit settlement gap and purely time-driven calendar
- Uniswap position NFT escrowed in vault during active coverage; LP can still collect trading fees at any time
- Permissionless keeper budget with automatic bounties funded from premium deductions
- O(1) per-underwriter settlement without iterating over policies
- 66 invariants and scenarios documented in conformance ledger - 46 verified green via Foundry
Frontend (Next.js · wagmi · Arbitrum Sepolia)
- 16 product pages built end-to-end, covering both LP and underwriter flows
- Hook architecture useVaults, usePosition, useQuote, useCohort, useWallet) designed for seamless on-chain integration
- Active integration with v2 sandbox via regenerated ABIs and environment-based manifest loader
- New transaction flows: ERC-20 approve -> NFT approve -> buyCover, collect fees button, cancel policy, and REFUNDED outcome badge
Indexer (Ponder)
- Contract ABIs integrated for three core contracts
- Active event handlers: CoverBought, Deposited, Withdrawn, Rolled, Finalized, PolicySettled
- v2 events fully integrated: escrow, cancel, refund, and keeper
融资状态
No external funding has been received at this stage.