← Protocols
Aevo
01Description

Decentralized options and perps exchange on its own Aevo L2 (custom OP-Stack rollup). Off-chain orderbook + on-chain settlement, with the most liquid on-chain ETH/BTC options market.

02Best for
  • 01options trading UIs (calls/puts/strategies)
  • 02perps + options on the same margin
  • 03structured-product vaults
  • 04expirable instruments (weeklies / quarterlies)
  • 05pre-launch token futures
03Install
  • pip install aevo-sdk
  • pnpm add ethers ws
04Environment variables
VariableScopeDescription
AEVO_API_URLClientREST base — `https://api.aevo.xyz` (mainnet) or `https://api-testnet.aevo.xyz`.
AEVO_WS_URLClientWebSocket — `wss://ws.aevo.xyz` / `wss://ws-testnet.aevo.xyz`.
AEVO_API_KEYServerAPI key string from `Account -> API` in the Aevo UI.
AEVO_API_SECRETServerAPI secret used to sign EIP-712 orders. Server-only.
AEVO_SIGNING_KEYServerPer-session signing key registered to your account — sign orders with this, NOT your wallet's private key.
05Prompt snippet
Use the Aevo Python SDK or REST/WS directly. Authenticate by registering a signing key against your wallet, then sign each order EIP-712 with that key. `client.create_order(instrument_id, is_buy, limit_price, quantity)` posts to `POST /orders`; cancel with `DELETE /orders/{order_id}`. Stream private fills via `wss://ws.aevo.xyz` channel `orders:{account}` and public book on `orderbook:{instrument_name}`. Instruments follow the format `ETH-31MAY26-3000-C` (asset-expiry-strike-type) for options and `ETH-PERP` for perps.
06Gotchas
  • You must register a signing key to your wallet before trading — orders are signed by that key, not your main wallet, and the key can be revoked. Forgetting this step yields 'invalid signature' errors that are easy to misdiagnose.
  • Options use a Black-76-style mark with a Deribit-style portfolio margin model. Greeks-based margining means a far-OTM short can require less collateral than a near-ATM short — UIs should query `/account` for `available_balance` rather than estimating client-side.
  • Aevo runs on its own L2 (Aevo Chain, an OP-Stack rollup). Deposits bridge from Ethereum/Arbitrum via the canonical bridge or Socket; withdrawals have a 7-day challenge window unless using fast-bridge.
  • Funding for perps is paid hourly. Options have no funding but expire — open contracts auto-settle to USDC at expiry against the oracle TWAP, and post-expiry positions cannot be cancelled.
  • Mainnet vs testnet are completely separate (different chain IDs, USDC, signing keys). The testnet faucet mints mock USDC only on the Aevo testnet bridge.
  • Rate limits are aggressive on REST — use WebSocket subscriptions for book/fill data and reserve REST for one-shot actions like place/cancel.
07Alternatives