# Algorand Governance API
> The Algorand Foundation governance program, live from its official public API — no key, nothing cached. Algorand governance is a quarterly, on-chain-committed vote: ALGO holders commit stake, keep their voting commitments and earn rewards from a per-period pool. Where the on-chain reader covers ALGO balances and the app reader covers smart contracts, this surfaces the governance layer they miss. List every governance period with its total committed ALGO, governor count, reward pool and key dates. Read a single period in full — its committed ALGO (direct and LP), its reward-pool breakdown between DeFi and non-DeFi participants, its sign-up address and the voting sessions held in the period with their topics and dates. And rank a period's governors by committed ALGO, each with their eligibility, xGov status and how many voting sessions they voted in. Omit the period to default to the active (or most recent) one. The governance-and-voting layer for Algorand wallets, governor dashboards and analytics. Live from governance.algorand.foundation.

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

## Pricing
- **Free** (Free) — 7,100 calls/Mo, 3 req/s
- **Starter** ($9/Mo) — 136,000 calls/Mo, 9 req/s
- **Pro** ($33/Mo) — 815,000 calls/Mo, 22 req/s
- **Business** ($94/Mo) — 5,050,000 calls/Mo, 55 req/s

## Endpoints

### Periods

#### `GET /v1/period` — One period in full: reward-pool breakdown and voting sessions

**Parameters:**
- `slug` (query, optional, string) — Period slug; omit for the active (or most recent) period Example: `governance-period-15`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/algorandgov-api/v1/period?slug=governance-period-15"
```

**Response:**
```json
{
    "data": {
        "end": "2025-07-15 15:59:59+00",
        "note": "A single Algorand governance period in full: its committed ALGO, reward-pool breakdown (DeFi vs non-DeFi), sign-up address and the voting sessions held in the period. Omit slug for the active (or most recent) period.",
        "slug": "governance-period-15",
        "start": "2025-06-30 16:00:00+00",
        "title": "Governance Period 15",
        "source": "Algorand Foundation governance",
        "is_active": false,
        "committed_algo": 77790352.87548,
        "governor_count": 1394,
        "sign_up_address": "RW466IANOKLA36QARHMBX5VCY3PYDR3H2N5XHPDARG6UBOKCIK7WAMLSCA",
        "voting_sessions": [
            {
                "slug": "period-15-voting-session-1",
                "title": "Period 15, Voting Session 1",
                "voting_end": "2025-07-15 15:58:00+00",
                "topic_count": 22,
                "voting_start": "2025-07-07 16:00:00+00",
                "short_description": "xGov Council Election 2025"
            }
        ],
        "registration_end": "2025-07-07 15:59:59+00",
        "reward_pool_algo": 0,
        "committed_lp_in_algo": 8882475.907136,
        "committed_algo_direct": 68907876.968344,
        "rewards_reserved_defi_algo": 0,
        "rewards_reserved_non_defi_algo": 0,
        "committed_for_extra_rewards_algo": 0
    },
    "meta": {
        "timestamp": "2026-06-14T08:03:46.952Z",
        "request_id": "b3b21fe2-b12f-4b14-a0b7-86ea92cd4096"
 
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/periods` — Every governance period with committed ALGO, governors, reward pool, dates

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

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

**Response:**
```json
{
    "data": {
        "note": "Every Algorand Foundation governance period (newest first), each with its total committed ALGO, governor count, reward pool and key dates. Use a slug with /v1/period or /v1/governors.",
        "count": 15,
        "source": "Algorand Foundation governance",
        "periods": [
            {
                "end": "2025-07-15 15:59:59+00",
                "slug": "governance-period-15",
                "start": "2025-06-30 16:00:00+00",
                "title": "Governance Period 15",
                "is_active": false,
                "committed_algo": 77790352.87548,
                "governor_count": null,
                "registration_end": "2025-07-07 15:59:59+00",
                "reward_pool_algo": null,
                "committed_lp_in_algo": 8882475.907136,
                "committed_algo_direct": 68907876.968344
            },
            {
                "end": "2025-03-31 15:59:59+00",
                "slug": "governance-period-14",
                "start": "2024-12-31 16:00:00+00",
                "title": "Governance Period #14",
                "is_active": false,
                "committed_algo": 1069915195.519322,
                "governor_count": null,
                "registration_end": "2025-01-14 16:00:00+00",
                "reward_pool_algo": null,
                "committed_lp_in_algo": 27730669.351697,
                "committed_algo_direct": 1042184526.167625
            },
            {
                "end": "2024
…(truncated, see openapi.json for full schema)
```

### Governors

#### `GET /v1/governors` — A period's governors with committed ALGO, eligibility, xGov

**Parameters:**
- `period` (query, optional, string) — Period slug; omit for active/latest Example: `governance-period-15`
- `limit` (query, optional, string) — Page size (1-100) Example: `20`
- `offset` (query, optional, string) — Offset Example: `0`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/algorandgov-api/v1/governors?period=governance-period-15&limit=20&offset=0"
```

**Response:**
```json
{
    "data": {
        "note": "Governors registered in the period, with each one's committed ALGO, eligibility, xGov status and how many voting sessions they voted in. Paginate with limit & offset. Omit period for the active (or most recent) one.",
        "count": 20,
        "offset": 0,
        "period": "governance-period-15",
        "source": "Algorand Foundation governance",
        "governors": [
            {
                "address": "PBW2OUVI3YHFPHVVGF4KNNY4FLG6ZIHCNAPITYFRSZ67HK7A5CHNLNSZPE",
                "is_xgov": false,
                "is_eligible": false,
                "committed_algo": 14434.62032,
                "not_eligible_reason": "incomplete-vote",
                "registration_datetime": "2025-06-30 16:01:15.768907+00",
                "committed_assets_in_algo": 0,
                "voted_voting_session_count": 0
            },
            {
                "address": "C6VLOB46CHDMTNGFC3F5WRNGELPVUNDSJCW24FU577WUFXWIXXCMSGR2BQ",
                "is_xgov": false,
                "is_eligible": true,
                "committed_algo": 206182.527058,
                "not_eligible_reason": null,
                "registration_datetime": "2025-06-30 16:01:21.559139+00",
                "committed_assets_in_algo": 0,
                "voted_voting_session_count": 1
            },
            {
                "address": "KEXFAU2TWG4X3DDCFKRY6CQDWZOYCNWCEBM255GHKJBFOJJVJAZAHINLCE",
                "is_xgov": false,
                "is_eligible": true,

…(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/algorandgov-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "sample": {
            "latest_period": "governance-period-15",
            "committed_algo": 77790352.87548
        },
        "source": "official Algorand Foundation governance API (governance.algorand.foundation), keyless",
        "service": "algorandgov-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/period": "One period in full: reward-pool breakdown and voting sessions (slug; omit for active/latest).",
            "GET /v1/periods": "Every governance period with committed ALGO, governors, reward pool, dates (limit).",
            "GET /v1/governors": "A period's governors ranked, with committed ALGO, eligibility, xGov (period, limit, offset)."
        },
        "description": "Read the Algorand Foundation governance program live from the official public API: list every governance period with its committed ALGO, governor count, reward pool and dates; read one period in full with its reward-pool breakdown and voting sessions; and rank a period's governors by committed ALGO with eligibility and xGov status. The governance-and-voting layer for Algorand wallets, governor dashboards and analytics. Live, short cache only.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-14T08:03:47.298Z",
        "request_id": "3b663014-1a7e-4a05-bcb3-355c0f796bba"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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