> Aptos Options Protocol

Seedling
planted May 4, 2026tended May 4, 2026
#project#web3#defi#options#aptos#move#pyth#black-scholes

Aptos Options Protocol

A decentralized options-trading protocol on Aptos for European-style, cash-settled BTC/USDC and ETH/USDC options. Full collateralization, Pyth Network for spot and volatility, and an on-chain Black-Scholes implementation for pricing.

Cash-settled means there's no underlying asset delivery at expiry β€” payout is in USDC against the oracle price.

Repo

github.com/LucianoLupo/options_protocol

How it works

| Step | What happens | |------|--------------| | Writing | Writer deposits collateral β†’ vault locks the funds β†’ ShortPosition is created. | | Buying | Buyer pays the premium β†’ premium goes to the series pool β†’ LongPosition is created. | | Settlement | After expiry β†’ Pyth provides the spot price β†’ payout is calculated β†’ both positions are consumed. |

Writers must lock 125% of the maximum loss as collateral, so the protocol stays solvent regardless of market moves between writing and expiry. Concretely:

  • Call options: max(spot, strike) Γ— amount Γ— 1.25
  • Put options: strike Γ— amount Γ— 1.25

Contract architecture

The Move codebase is split by concern, not by feature, which makes the settlement engine and the pricing logic independently auditable.

| Module | Responsibility | |--------|----------------| | options.move | Public entry points (buy, write, settle) | | series.move | Option series lifecycle and registry | | collateral.move | USDC vault β€” deposits, withdrawals, locking | | settlement.move | European-style cash-settlement engine | | oracle.move | Pyth integration for prices and volatility | | margin.move | Collateral-requirement calculations | | pricing.move | On-chain Black-Scholes implementation | | types.move | Core data structures |

Tech stack

  • Smart contracts: Move (Aptos)
  • Oracle: Pyth Network for spot prices and volatility
  • Frontend: React + TypeScript + Vite
  • Wallet: Aptos Wallet Adapter

Why Aptos / Move

Two reasons it's interesting to do this on Aptos rather than Solidity:

  • Move's resource model maps cleanly to options positions. A LongPosition or ShortPosition is a resource the user actually holds in their account β€” not a row in a contract-owned mapping. Transfers, settlement, and slashing become resource operations the type system enforces, instead of accounting bugs waiting to happen.
  • On-chain Black-Scholes is more tractable when you're not paying L1 EVM gas for every exp and ln. Aptos's parallel execution and lower per-op cost make it reasonable to keep the pricing model on-chain instead of trusting an off-chain quoter.

Status

Reference implementation. Not audited, not deployed to mainnet. The codebase is the artifact β€” designed to be readable as a study of how to structure a derivative protocol in Move, with the pricing and settlement layers separated cleanly enough that someone could swap in a different pricing model or asset.

Connection points

  • Sits in the same web3-defi thread as Rug Scanner (defensive tooling) and SatsPilot (LATAM defi UX), but takes the opposite angle β€” instead of consumer UX, it's protocol-design machinery.
  • The Pyth + on-chain pricing pattern is the same one I'd reach for in any Aptos-based defi project.