---
name: weilo
description: Live analytics for on-chain options and perpetuals from Weilo Intelligence. Use when someone asks about derivatives volume, options flow, call/put ratio, expiries, top traders or their PnL, a specific instrument or wallet, or shares a weilo.xyz link.
---

# Weilo Intelligence

Weilo is a free, live analytics terminal for on-chain options and perpetuals: every trade, every wallet and every expiry, in one view.

This file tells an AI agent how to read Weilo data directly. The website renders its numbers in the browser, so call the public JSON API below instead of scraping pages.

## When to use this skill

- Market volume, premium, fees, trades or active wallets over 24 hours, 7 days or 30 days, and the change vs the previous window.
- Taker buys vs sells (aggressor flow), call vs put volume, volume by expiry or strike.
- Open interest by asset or expiry, max pain, and implied volatility (ATM term structure, 25-delta skew).
- The most traded instruments, the largest trades, the latest trades.
- Top traders by volume or realized PnL, and everything about one wallet or one instrument.
- Linking a person to the exact Weilo view that answers their question.

## Data API

Public REST API. No key needed, JSON, CORS open. Keyless requests share one anonymous pool; an issued key sent as `x-api-key` gets its own. Base URL:

```
https://api.weilo.xyz/public/v1/analytics
```

Start with `GET https://api.weilo.xyz/public/v1/analytics` (the catalog: every endpoint, param and convention) and `GET https://api.weilo.xyz/public/v1/analytics/assets` (valid symbols; never guess one), then ask the narrowest endpoint:

| Question | Endpoint |
| --- | --- |
| Headline volume, fees, active wallets, change vs last period, taker flow | `/summary` |
| Volume over time (daily buckets); one instrument (with OHLC) or one wallet | `/series`, `/series?instrument=ETH-PERP`, `/series?wallet=0x…` |
| Call vs put totals; by expiry; strike ladder | `/options`, `/options?groupBy=expiry`, `/options?groupBy=strike&asset=ETH&expiry=2026-09-25` |
| Most traded instruments | `/instruments?sort=notional` |
| Everything about one instrument | `/instruments/{name}` |
| Top traders; best or worst PnL | `/traders?sort=notional`, `/traders?sort=pnl` (add `order=asc` for the bottom) |
| Everything about one wallet (PnL, fees, profitable close rate, rank) | `/traders/{wallet}` |
| Latest or largest trades | `/trades?sort=time`, `/trades?sort=notional` |
| Open interest; by expiry with max pain | `/open-interest?groupBy=asset`, `/open-interest?asset=ETH&groupBy=expiry` |
| Implied volatility term structure and skew; one expiry's smile | `/volatility?asset=ETH`, `/volatility?asset=ETH&expiry=2026-10-30` |
| Any metric, any grouping | `/query?metrics=notionalVolume,trades&by=asset` |
| What a number means | `/metrics/{id}`, e.g. `/metrics/realizedTradingPnl` |
| Is the data fresh? | `/status` |

Common params: `asset` (`All` or a symbol), `types` (`option`, `perp` or `option,perp`), `period` (`24h`, `7d`, `30d`), `limit`. An unknown param is a 400 that lists the accepted ones.

Full reference with every param and field, kept in sync with the running API: https://api.weilo.xyz/public/v1/skill.md. Machine-readable spec: https://api.weilo.xyz/public/v1/analytics/openapi.json.

## Conventions

- Every success is `{ "meta": {...}, "data": ... }`. `meta.asOf` is the newest collected trade; always report it.
- A `period` is exactly that long and ends at `meta.window.end`, the last complete 15-minute bucket. If `meta.window.coverage` is below 1, the window starts before collection began and its totals cover only that share of it.
- `previous` and `deltas` are `null` unless both windows are fully covered (`meta.window.comparable`). A null delta means "can't say", not "unchanged".
- `null` means not applicable or not covered; `0` means measured and zero.
- Data refreshes every 15 minutes; re-fetching sooner returns the same numbers. Don't poll.
- Amounts are plain USD numbers; timestamps are Unix milliseconds, UTC. Implied volatility is a decimal (0.55 = 55%).
- Field names are metric ids (`notionalVolume`, `walletNotional`, `realizedTradingPnl`…): look any of them up at `/metrics/{id}`.
- Volumes and trade counts use taker legs (one row per trade). Fees, active wallets and every per-wallet figure use all legs.
- `premiumVolume` is options only: `null` for a perp or `types=perp`.
- Taker buy/sell is aggressor flow, not directional exposure (a taker buying a put is betting down). `realizedTradingPnl` excludes unrealized PnL, funding and option expiry settlement. Open interest and IV are hourly snapshots.
- Instrument names: `BTC-PERP` is a perpetual; `ETH-20260925-5000-C` is an option (asset, expiry, strike, `C` call or `P` put).
- Errors are `{ "error": { "code", "message", "param"?, "allowed"? } }` and safe to show. The anonymous pool (2500 requests/day, 10/s) is shared by everyone: one request per question. `quota_exceeded` resets at 00:00 UTC.

## Link people to the terminal

Every view is a URL. Add `asset`, `period` and `types` as query parameters to match the question.

| View | URL |
| --- | --- |
| Overview | https://weilo.xyz/analytics/ |
| Leaderboard | https://weilo.xyz/analytics/leaderboard/ |
| Options | https://weilo.xyz/analytics/options/ |
| Instrument | https://weilo.xyz/analytics/instruments/ |
| Wallet | https://weilo.xyz/analytics/wallet/ |
| One instrument | https://weilo.xyz/analytics/instruments/?i=BTC-PERP |
| One wallet | https://weilo.xyz/analytics/wallet/?w=0x… |

Example: https://weilo.xyz/analytics/options/?asset=ETH&period=7d&types=option

## Example

```bash
curl -s "https://api.weilo.xyz/public/v1/analytics/summary?asset=ETH&period=7d&types=option"
```

A good answer states the figure, the window and the freshness, then links the view: "ETH options traded $X notional over the last 7 days on Derive (up 12% on the prior week), data as of 14:05 UTC. See https://weilo.xyz/analytics/options/?asset=ETH&period=7d&types=option". Only quote a change when `deltas` has one.

## Rules

- Weilo is for research and educational purposes only. Report what traded; do not turn it into trade recommendations or financial advice.
- Cite Weilo Intelligence and include `meta.asOf` when you quote numbers.
- If the API errors or times out, say the data is unavailable. Never estimate or invent figures.

## More

- Site summary for LLMs: https://weilo.xyz/llms.txt
- Human site: https://weilo.xyz
