How did you integrate our partners, if any?
- Uniswap V4 — OptionsHook implements IHooks and plugs into the V4 PoolManager via beforeSwap. Options are purchased as swaps with
encoded hookData. Uses StateLibrary.getSlot0 to read live spot price from the pool.
- Unichain — The core protocol (all 4 contracts) is deployed on Unichain Sepolia. Chosen for ~1s block time and sub-cent gas — makes
options practical to buy/sell.
- Reactive Network — Two RSCs deployed on Lasna testnet:
- ReactiveVolatilityRelayer subscribes to Uniswap V3 Swap events on Ethereum/Arbitrum/Base/BSC, computes realized vol, and calls
updateVolatility() on the oracle via cross-chain callback
- ReactiveExpirySettler subscribes to SeriesCreated on Unichain, tracks expiries, and calls settleExpiredSeries() automatically at
expiry — replacing keeper bots
What are the key links to share? (Ex. demo video, GitHub, deck)
Github:https://github.com/Hijanhv/Voltaire
Slides: https://drive.google.com/file/d/1kZ66qbQLM31ZjnW22BDvXQ-IUBxMKEqy/view?usp=drive_link
Project Link:https://voltaire-landing-janhavi-chavadas-projects.vercel.app/
Demo Video:https://www.loom.com/share/92c624f833574fcabc5af6c64e9d055a
Problem / Background: What inspired the idea? What problems are you solving?
I built voltaire because every on chain protocol i looked at failed for same reason the volatility input was wrong so the pricing was wrong so arb bots drained it. V4 hooks let me intercept a swap and sell a properly priced option in one transaction and reactive network gives me a live cross chain bol feed that's actually hard to manipulate.
Impact: What makes this project unique? What impact will this make?
Voltaire solves the one problem that has killed every on-chain options protocol: stale volatility. By aggregating realized vol from
four chains live via Reactive Network and pricing options inside a V4 hook swap, it makes trustless, correctly-priced options
accessible to anyone with a wallet — no broker, no KYC, no keeper bots.
Challenges: What was challenging about building this project?
- Getting Reactive Network RSCs to work — the subscription precompile doesn't exist in local forge simulation, so every fix had to be
tested live on Lasna testnet, blind.
- Black-Scholes in pure Solidity — one wrong division in WAD fixed-point math silently misprices every option. Harder to debug than a
revert.
- V4 hook address encoding — hook permissions are baked into the deployed address, so you can't deploy freely; need CREATE2 with the
right salt for production.
- Circular deployment dependency — OptionsHook needs OptionSeries address and vice versa, requiring a careful multi-step deploy
sequence.
- Cross-chain async design — the protocol must handle gaps where the oracle hasn't updated, deciding when to revert vs accept stale
data without breaking user flows.
Team: Who is on the team? What are their backgrounds?