# Tezos Governance API
> Tezos's famous self-amending on-chain governance, live from the public TzKT indexer — no key, nothing cached. Tezos upgrades itself through an on-chain vote: bakers propose protocol amendments, then move them through a five-period cycle — proposal, exploration, cooldown, promotion and adoption — each with its own quorum and supermajority thresholds. Where the on-chain reader covers accounts and the bakers reader covers staking, this surfaces the governance layer they miss. Read the current voting period in full: its kind, status, period and epoch index, the yay / nay / pass ballot tally with each side's voting power and share, the ballots quorum and supermajority thresholds, and the number of participating bakers. List every protocol-amendment proposal ever made on-chain with its initiator, upvotes, voting power, status and Tezos Agora discussion link (the human aliases like "Athens A" included). And browse the history of voting periods, newest first. The protocol-governance layer for Tezos wallets, governance dashboards, bakers 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/tezosgov-api/..."
```

## Pricing
- **Free** (Free) — 7,600 calls/Mo, 3 req/s
- **Starter** ($9/Mo) — 128,000 calls/Mo, 9 req/s
- **Pro** ($34/Mo) — 802,000 calls/Mo, 22 req/s
- **Business** ($91/Mo) — 4,750,000 calls/Mo, 55 req/s

## Endpoints

### Voting

#### `GET /v1/current` — The current voting period: kind, status, ballot tally, quorum, supermajority

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

**Response:**
```json
{
    "data": {
        "kind": "promotion",
        "note": "The current Tezos voting period. kind is one of proposal / exploration / cooldown / promotion / adoption. In ballot periods, yay/nay/pass voting power and the quorum & supermajority thresholds decide whether the amendment passes.",
        "epoch": 90,
        "index": 175,
        "source": "TzKT",
        "status": "active",
        "nay_pct": 0,
        "yay_pct": 27.97,
        "end_time": "2026-06-15T21:17:25Z",
        "pass_pct": 33.18,
        "last_level": 13656288,
        "start_time": "2026-06-01T13:34:49Z",
        "first_level": 13454689,
        "nay_ballots": 0,
        "yay_ballots": 61,
        "pass_ballots": 19,
        "total_bakers": 218,
        "supermajority_pct": 80,
        "ballots_quorum_pct": 49.18,
        "nay_voting_power_xtz": 0,
        "yay_voting_power_xtz": 183636528.51415,
        "pass_voting_power_xtz": 217850754.265983,
        "total_voting_power_xtz": 656635662.773932
    },
    "meta": {
        "timestamp": "2026-06-14T08:03:46.467Z",
        "request_id": "bf39fc87-d405-4bd8-8a1a-02f7b9f083a2"
    },
    "status": "ok",
    "message": "Current period retrieved successfully",
    "success": true
}
```

#### `GET /v1/periods` — Recent voting periods, newest first

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

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

**Response:**
```json
{
    "data": {
        "note": "Recent Tezos voting periods (newest first). Tezos amendments move through proposal → exploration → cooldown → promotion → adoption; each period's kind, status and ballot tally are shown.",
        "count": 20,
        "source": "TzKT",
        "periods": [
            {
                "kind": "promotion",
                "epoch": 90,
                "index": 175,
                "status": "active",
                "nay_pct": 0,
                "yay_pct": 27.97,
                "end_time": "2026-06-15T21:17:25Z",
                "pass_pct": 33.18,
                "last_level": 13656288,
                "start_time": "2026-06-01T13:34:49Z",
                "first_level": 13454689,
                "nay_ballots": 0,
                "yay_ballots": 61,
                "pass_ballots": 19,
                "total_bakers": 218,
                "supermajority_pct": 80,
                "ballots_quorum_pct": 49.18,
                "nay_voting_power_xtz": 0,
                "yay_voting_power_xtz": 183636528.51415,
                "pass_voting_power_xtz": 217850754.265983,
                "total_voting_power_xtz": 656635662.773932
            },
            {
                "kind": "testing",
                "epoch": 90,
                "index": 174,
                "status": "success",
                "end_time": "2026-06-01T13:34:43Z",
                "last_level": 13454688,
                "start_time": "2026-05-18T10:13:52Z",
                "f
…(truncated, see openapi.json for full schema)
```

### Proposals

#### `GET /v1/proposals` — Protocol-amendment proposals with initiator, upvotes, status, Agora link

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

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

**Response:**
```json
{
    "data": {
        "note": "Tezos protocol-amendment proposals: each upgrade ever proposed on-chain, with its initiator, upvotes, voting power, status (accepted / rejected / …) and Agora discussion link. alias is the human name (e.g. 'Athens A').",
        "count": 20,
        "source": "TzKT",
        "proposals": [
            {
                "hash": "Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd",
                "agora": "https://www.tezosagora.org/proposal/Pt24m4xiPbLDhVgVfABUjirbmda3yohdN82Sp9FeuAXJ4eV9otd",
                "alias": "Athens A",
                "epoch": 10,
                "status": "accepted",
                "upvotes": 102,
                "initiator": "tz1fNdh4YftsUasbB1BWBpqDmr4sFZaPNZVL",
                "last_period": 13,
                "first_period": 10,
                "voting_power_xtz": 181810000
            },
            {
                "hash": "Psd1ynUBhMZAeajwcZJAeq5NrxorM6UCU4GJqxZ7Bx2e9vUWB6z",
                "agora": "https://www.tezosagora.org/proposal/2",
                "alias": "Athens B",
                "epoch": 10,
                "status": "skipped",
                "upvotes": 68,
                "initiator": "tz1fNdh4YftsUasbB1BWBpqDmr4sFZaPNZVL",
                "last_period": 10,
                "first_period": 10,
                "voting_power_xtz": 76740000
            },
            {
                "hash": "PtdRxBHvc91c2ea2evV6wkoqnzW7TadTg9aqS9jAn2GbcPGtumD",
                "agora": "https://www.tezo
…(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/tezosgov-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "sample": {
            "kind": "promotion",
            "period": 175,
            "status": "active"
        },
        "source": "public TzKT API (api.tzkt.io /voting), keyless",
        "service": "tezosgov-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/current": "The current voting period in full: kind, status, ballot tally, quorum, supermajority.",
            "GET /v1/periods": "Recent voting periods, newest first (limit).",
            "GET /v1/proposals": "Protocol-amendment proposals with initiator, upvotes, status, Agora link (limit)."
        },
        "description": "Read Tezos's self-amending on-chain governance live from the public TzKT indexer: the current voting period in full (kind, status, ballot tally, quorum & supermajority), the protocol-amendment proposals with initiators, upvotes and Agora links, and the history of voting periods. The protocol-governance layer for Tezos wallets, governance dashboards and bakers. Live, short cache only.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-14T08:03:46.753Z",
        "request_id": "9dc4d6ed-5a01-442e-a3ef-635630ca22a4"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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