# Decred Politeia Governance API
> Decred Politeia — Decred's on-chain treasury governance — live from the public Politeia API, no key, nothing cached. Politeia is Decred's proposal system: contributors submit funding and policy proposals, and DCR stakeholders vote on them with their tickets, with on-chain quorum and approval thresholds. The base Decred reader covers the chain and staking, but not Politeia; this opens it. List treasury proposals by vote status — approved, rejected, started, authorized — each with its title, author and yes / no ticket-vote tally and approval percentage. Read a single proposal in full with its complete vote result, the quorum and pass thresholds and the eligible-ticket count. And get a live governance overview: how many vetted proposals currently sit in each vote status. The treasury-governance layer for Decred wallets, stakeholder dashboards, voters and analytics. Live from proposals.decred.org.

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

## Pricing
- **Free** (Free) — 6,900 calls/Mo, 3 req/s
- **Starter** ($9/Mo) — 131,000 calls/Mo, 9 req/s
- **Pro** ($34/Mo) — 805,000 calls/Mo, 22 req/s
- **Business** ($95/Mo) — 5,050,000 calls/Mo, 55 req/s

## Endpoints

### Proposals

#### `GET /v1/proposal` — One proposal in full: vote result, quorum, pass thresholds

**Parameters:**
- `token` (query, optional, string) — Proposal token (omit for the latest approved) Example: `c72e7451e4909a20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/politeia-api/v1/proposal?token=c72e7451e4909a20"
```

**Response:**
```json
{
    "data": {
        "note": "A single Decred Politeia proposal: its title, author and full ticket-vote result with quorum and pass thresholds. Omit token for the most recent approved proposal.",
        "title": "1 year extension for DCR/USDT Hummingbot Miner campaign on Binance",
        "token": "c72e7451e4909a20",
        "author": "coinalpha",
        "source": "Decred Politeia",
        "no_votes": 3134,
        "pass_pct": 60,
        "yes_votes": 11696,
        "quorum_pct": 20,
        "total_votes": 14830,
        "vote_status": "approved",
        "approval_pct": 78.87,
        "eligible_tickets": 40938,
        "end_block_height": 1052764,
        "submitted_timestamp": 1768082886
    },
    "meta": {
        "timestamp": "2026-06-14T17:04:38.636Z",
        "request_id": "c667b2d0-ceec-438f-9226-5819a58fb2a1"
    },
    "status": "ok",
    "message": "Proposal retrieved successfully",
    "success": true
}
```

#### `GET /v1/proposals` — Proposals in a vote status with title, author and tally

**Parameters:**
- `status` (query, optional, string) — approved / rejected / started / authorized / unauthorized / ineligible Example: `approved`
- `limit` (query, optional, string) — Max proposals (1-25) Example: `10`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/politeia-api/v1/proposals?status=approved&limit=10"
```

**Response:**
```json
{
    "data": {
        "note": "Decred Politeia treasury proposals in the requested vote status, each with its title, author and yes/no ticket-vote tally. status can be approved / rejected / started / authorized / unauthorized / ineligible.",
        "count": 10,
        "source": "Decred Politeia",
        "status": "approved",
        "proposals": [
            {
                "title": "1 year extension for DCR/USDT Hummingbot Miner campaign on Binance",
                "token": "c72e7451e4909a20",
                "author": "coinalpha",
                "no_votes": 3134,
                "pass_pct": 60,
                "yes_votes": 11696,
                "quorum_pct": 20,
                "total_votes": 14830,
                "vote_status": "approved",
                "approval_pct": 78.87,
                "eligible_tickets": 40938,
                "end_block_height": 1052764,
                "submitted_timestamp": 1768082886
            },
            {
                "title": "Decred Vanguard 2026",
                "token": "cc5ea83ed9f6fe58",
                "author": "exitus",
                "no_votes": 1469,
                "pass_pct": 60,
                "yes_votes": 14585,
                "quorum_pct": 20,
                "total_votes": 16054,
                "vote_status": "approved",
                "approval_pct": 90.85,
                "eligible_tickets": 40938,
                "end_block_height": 1052764,
                "submitted_timestamp": 1769447008
     
…(truncated, see openapi.json for full schema)
```

### Stats

#### `GET /v1/stats` — Live overview: proposal counts by vote status

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

**Response:**
```json
{
    "data": {
        "note": "Live Decred Politeia governance overview: how many vetted treasury proposals currently sit in each vote status (approved, rejected, started, authorized, unauthorized, ineligible).",
        "source": "Decred Politeia",
        "by_status": {
            "started": 0,
            "approved": 20,
            "rejected": 20,
            "authorized": 0,
            "ineligible": 20,
            "unauthorized": 0
        },
        "total_vetted_proposals": 60
    },
    "meta": {
        "timestamp": "2026-06-14T17:04:44.691Z",
        "request_id": "b84af6cb-a3a6-4e6f-82a5-7500bc532855"
    },
    "status": "ok",
    "message": "Stats retrieved successfully",
    "success": true
}
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "sample": {
            "approved": 20,
            "total_proposals": 60
        },
        "source": "public Decred Politeia API (proposals.decred.org/api), keyless",
        "service": "politeia-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/stats": "Live overview: proposal counts by vote status.",
            "GET /v1/proposal": "One proposal in full: vote result, quorum, pass (token; omit for latest approved).",
            "GET /v1/proposals": "Proposals in a vote status with title, author, tally (status, limit)."
        },
        "description": "Read Decred Politeia treasury governance live from the public Politeia API: list proposals by vote status with title, author and yes/no ticket-vote tally; read a single proposal in full with its vote result and quorum/pass thresholds; and get a live overview of how many proposals sit in each vote status. The treasury-governance layer for Decred wallets, stakeholder dashboards and voters. Live, short cache only.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-14T17:04:44.782Z",
        "request_id": "ea3d8114-3b5d-4bb3-8c5a-bb1b52d47ab9"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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