# Tezos Smart Rollups (L2) API
> The Tezos Layer-2 smart-rollup layer, live from the public TzKT indexer — no key, nothing cached. Smart rollups are Tezos's enshrined Layer-2: optimistic rollups — including Etherlink, the EVM-compatible L2 — that post state commitments back to Tezos and are secured by on-chain refutation games. The existing Tezos readers cover the base chain, the bakers and governance, but not the rollup layer; this opens it. List the smart rollups ranked by inbox level, each with its address, name, PVM kind (wasm), staker counts and commitment tallies. Look up a single rollup by address in full, with its cemented, pending and refuted commitments and refutation-game activity. And read the recent rollup commitments — the periodic state attestations — with their committed state hash, inbox level, tick count and how many stakers backed each. The Layer-2 layer for Tezos wallets, rollup operators, Etherlink users and analytics. Live from api.tzkt.io.

## 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/tezosrollups-api/..."
```

## Pricing
- **Free** (Free) — 7,450 calls/Mo, 3 req/s
- **Starter** ($9/Mo) — 132,500 calls/Mo, 9 req/s
- **Pro** ($35/Mo) — 807,000 calls/Mo, 22 req/s
- **Business** ($94/Mo) — 4,870,000 calls/Mo, 55 req/s

## Endpoints

### Rollups

#### `GET /v1/rollup` — One rollup in full: PVM kind, commitments, refutation games

**Parameters:**
- `address` (query, optional, string) — Smart-rollup address (omit for the most active rollup)

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

**Response:**
```json
{
    "data": {
        "note": "A single Tezos smart rollup in full: its address, name, PVM kind, inbox level, staker counts, commitment tallies (cemented/pending/refuted/executed) and refutation-game activity. Omit address for the most active rollup.",
        "alias": "Etherlink",
        "source": "TzKT",
        "address": "sr1Ghq66tYK9y3r8CC1Tf8i8m5nxh8nTvZEf",
        "creator": "tz1etHLky7fuVumvBDi92ogXQZZPESiFimWR",
        "pvm_kind": "wasm",
        "inbox_level": 13437667,
        "last_activity": "2026-06-14T17:02:16Z",
        "total_stakers": 6,
        "active_stakers": 3,
        "first_activity": "2026-06-14T17:02:16Z",
        "last_commitment": "src13JmycMewT8aPdNRan6uCsNMASbQmDKCQGjExbXUzzkmJaqqEW1",
        "num_transactions": 61922,
        "genesis_commitment": "src138xucrn88ZvKyCz5cUAheMgC7fbRhgf94PyE9rg3zu7obkMeQi",
        "pending_commitments": 1344,
        "refuted_commitments": 0,
        "cemented_commitments": 72539,
        "executed_commitments": 17579,
        "refutation_games_total": 0,
        "active_refutation_games": 0
    },
    "meta": {
        "timestamp": "2026-06-14T17:04:28.110Z",
        "request_id": "10cfe904-4070-41d8-9a50-03ab41861340"
    },
    "status": "ok",
    "message": "Rollup retrieved successfully",
    "success": true
}
```

#### `GET /v1/rollups` — Smart rollups ranked by inbox level, with stakers and commitment tallies

**Parameters:**
- `limit` (query, optional, string) — Max rollups (1-100) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/tezosrollups-api/v1/rollups?limit=20"
```

**Response:**
```json
{
    "data": {
        "note": "Tezos smart rollups (Layer-2) ranked by inbox level. pvm_kind is the rollup VM (wasm). Stakers post commitments and play refutation games to secure the rollup. Etherlink is Tezos's EVM-compatible smart rollup.",
        "count": 14,
        "source": "TzKT",
        "rollups": [
            {
                "alias": "Etherlink",
                "address": "sr1Ghq66tYK9y3r8CC1Tf8i8m5nxh8nTvZEf",
                "creator": "tz1etHLky7fuVumvBDi92ogXQZZPESiFimWR",
                "pvm_kind": "wasm",
                "inbox_level": 13437667,
                "last_activity": "2026-06-14T17:02:16Z",
                "total_stakers": 6,
                "active_stakers": 3,
                "first_activity": "2026-06-14T17:02:16Z",
                "num_transactions": 61922,
                "pending_commitments": 1344,
                "refuted_commitments": 0,
                "cemented_commitments": 72539,
                "active_refutation_games": 0
            },
            {
                "alias": null,
                "address": "sr19LCYLxPx91U7dPuWBMdLyYKdFzGwebPPP",
                "creator": "tz1etHLky7fuVumvBDi92ogXQZZPESiFimWR",
                "pvm_kind": "wasm",
                "inbox_level": 0,
                "last_activity": "2026-05-28T14:49:01Z",
                "total_stakers": 0,
                "active_stakers": 0,
                "first_activity": "2026-05-28T14:49:01Z",
                "num_transactions": 2,
                "pendin
…(truncated, see openapi.json for full schema)
```

### Commitments

#### `GET /v1/commitments` — Recent rollup commitments with state hash, inbox level, ticks, stakers

**Parameters:**
- `rollup` (query, optional, string) — Filter to one rollup address (sr1...)
- `limit` (query, optional, string) — Max commitments (1-100) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/tezosrollups-api/v1/commitments?limit=20"
```

**Response:**
```json
{
    "data": {
        "note": "Recent smart-rollup commitments (newest first) — the periodic state attestations a rollup posts to Tezos. Each carries the committed state hash, inbox level, tick count and how many stakers backed it. Pass rollup=sr1... to filter to one rollup.",
        "count": 20,
        "scope": "all rollups",
        "source": "TzKT",
        "commitments": [
            {
                "id": 73883,
                "hash": "src12pY1pkMz4qncG4vNApojgAhg8UYn8a7EZrqBR8sY2tFpvDcKUC",
                "state": "srs12ST4f8MNgNSRAD9ANm1pYjEJwW7yfVauHQY4nnMNQ1M3RcZtwg",
                "ticks": 77050000000000000,
                "rollup": "sr1Ghq66tYK9y3r8CC1Tf8i8m5nxh8nTvZEf",
                "stakers": 3,
                "initiator": "tz1PJou7wewaP6PE1uWfZoQbh3ha7FJxvLJJ",
                "last_time": "2026-06-14T16:57:22Z",
                "first_time": "2026-06-14T16:57:22Z",
                "inbox_level": 13639267
            },
            {
                "id": 73882,
                "hash": "src12wHuVEMV3KeXEutSRDDSgpSbSFAwaMdeMnHiscbM258h3n9yfh",
                "state": "srs134iDEbBadCH2ZaULVzFC9ncv33kKReh3DEx8UnaFu7Q3nW2dM7",
                "ticks": 71650000000000000,
                "rollup": "sr1Ghq66tYK9y3r8CC1Tf8i8m5nxh8nTvZEf",
                "stakers": 3,
                "initiator": "tz1PJou7wewaP6PE1uWfZoQbh3ha7FJxvLJJ",
                "last_time": "2026-06-14T16:57:22Z",
                "first_time": "2026-06-14T16:42:22Z",
           
…(truncated, see openapi.json for full schema)
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "sample": {
            "top": "Etherlink",
            "rollups": 1
        },
        "source": "public TzKT API (api.tzkt.io /smart_rollups), keyless",
        "service": "tezosrollups-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/rollup": "One rollup in full: PVM kind, commitments, refutation games (address; omit for most active).",
            "GET /v1/rollups": "Smart rollups ranked by inbox level, with stakers and commitment tallies (limit).",
            "GET /v1/commitments": "Recent rollup commitments with state hash, inbox level, ticks, stakers (rollup, limit)."
        },
        "description": "Read the Tezos Layer-2 smart-rollup layer live from the public TzKT indexer: list smart rollups with their address, name, PVM kind, inbox level, staker counts and commitment tallies; look up a single rollup by address; and read recent rollup commitments (the state attestations) with their state hash, inbox level, ticks and stakers. The Layer-2 layer for Tezos wallets, rollup operators and Etherlink users. Live, short cache only.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-14T17:04:28.431Z",
        "request_id": "be89f7c7-1e80-4290-aece-5964cb398e62"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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