Obsidian Academy
REST API
HTTP/JSON surface for reading protocol state + submitting signed write intents.
Base URL
https://api.obsidian.trading for production, and obsidian-api:8080 on the homelab internal network. All endpoints are documented in docs/AGENTS.md and exposed via OpenAPI at /docs.
Read endpoints
Open, no auth. Rate-limited to 60 req/min/IP.
- ▸
GET /market/summary— spot, IV, spread, option count. - ▸
GET /options/:id— full state of a single option NFT. - ▸
GET /options/:id/greeks— Black-Scholes pricing + greeks. - ▸
GET /portfolio/:address— aggregate positions for a wallet. - ▸
GET /marketplace/listings— active listings. - ▸
GET /lending/markets— Magma markets. - ▸
GET /lending/positions/:user— Magma positions.
Signed-write endpoints
Require X-API-Key header plus an EIP-712-signed intent. The API verifies the signature and relays on-chain.
- ▸
POST /v2/signed/write-call— relay a signed call-write intent. - ▸
POST /v2/signed/write-put— relay a signed put-write intent. - ▸
GET /v2/signed/domain— fetch the EIP-712 domain + types for signing.