# L2BEAT Rollup Risk & TVS API
> Live Ethereum layer-2 / rollup risk and value-secured data from L2BEAT — no key, nothing stored. L2BEAT's signature is its independent risk framework: every rollup is rated by maturity Stage (Stage 0 / 1 / 2) and assessed across the canonical risk dimensions — sequencer failure, state validation, data availability, exit window and proposer failure — each carrying a good / warning / bad sentiment and a plain-language explanation. This is the rollup-risk and total-value-secured (TVS) view, distinct from the L2 economics/fundamentals and the on-chain per-chain APIs in the catalogue. The projects endpoint lists every tracked L2 with its type (Optimistic Rollup, ZK Rollup, Validium, layer3…), category, host chain, maturity Stage, TVS and 7-day change. The project endpoint returns one rollup in full — the TVS breakdown (native / canonical / external, and ether / stablecoin / btc / other), the Stage, providers, purposes and the complete risk assessment. The risks endpoint returns just the risk rosette for a rollup with a sentiment tally. The summary endpoint aggregates the whole ecosystem — total TVS, project count and the distribution by Stage and by type. More than a hundred rollups tracked, updated live. Project lookup is by slug (arbitrum, base, optimism, zksync-era, scroll, linea, starknet).

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/l2beat-api/..."
```

## Pricing
- **Free** (Free) — 13,000 calls/Mo, 3 req/s
- **Builder** ($9/Mo) — 195,000 calls/Mo, 10 req/s
- **Pro** ($27/Mo) — 870,000 calls/Mo, 28 req/s
- **Scale** ($62/Mo) — 3,250,000 calls/Mo, 65 req/s

## Endpoints

### Projects

#### `GET /v1/projects` — All tracked L2s ranked by TVS

**Parameters:**
- `type` (query, optional, string) — Filter by type (layer2, layer3) Example: `layer2`
- `limit` (query, optional, string) — Max rows (default 100, max 400) Example: `100`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/l2beat-api/v1/projects?type=layer2&limit=100"
```

### Project

#### `GET /v1/project` — One rollup in full — TVS, Stage, risks

**Parameters:**
- `project` (query, required, string) — Rollup slug/id Example: `arbitrum`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/l2beat-api/v1/project?project=arbitrum"
```

### Risks

#### `GET /v1/risks` — The risk rosette for a rollup

**Parameters:**
- `project` (query, required, string) — Rollup slug/id Example: `base`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/l2beat-api/v1/risks?project=base"
```

### Summary

#### `GET /v1/summary` — Ecosystem aggregate — TVS, Stage and type distribution

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/l2beat-api/v1/summary"
```

### Meta

#### `GET /v1/meta` — Service metadata

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/l2beat-api/v1/meta"
```


---
Marketplace page: https://www.oanor.com/api/l2beat-api
OpenAPI spec: https://www.oanor.com/api/l2beat-api/openapi.json
