# Cardano DRep Governance API
> Cardano's on-chain governance body — the DReps (Delegated Representatives) of the Voltaire era / CIP-1694 — live from the public Koios indexer, no key. In the Conway era ADA holders delegate their voting power to DReps, who vote on governance actions; the Cardano account reader resolves a single stake account's DRep choice, but there is no registry of the DReps themselves. This opens it. List every DRep with its registration and native-script status; look up one DRep in full — its live delegated voting power (the ADA whose vote it casts), its 500 ADA registration deposit, whether the mandate is still active and the epoch it expires; read the governance actions a DRep has voted on with each Yes / No / Abstain decision; and track the network-wide DRep population and total active voting power per epoch. The governance layer for Cardano wallets, voting tools, DRep explorers and analytics. Distinct from the Cardano account reader (per-account vote), the chain-economics reader and the native-token registry. Live from the indexer; short cache only.

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

## Pricing
- **Free** (Free) — 6,800 calls/Mo, 3 req/s
- **Starter** ($9/Mo) — 131,000 calls/Mo, 10 req/s
- **Pro** ($30/Mo) — 690,000 calls/Mo, 25 req/s
- **Scale** ($87/Mo) — 4,400,000 calls/Mo, 60 req/s

## Endpoints

### DReps

#### `GET /v1/dreps` — List the DRep set

**Parameters:**
- `limit` (query, optional, string) — Page size (1-100) Example: `25`
- `offset` (query, optional, string) — Offset Example: `0`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cardanodreps-api/v1/dreps?limit=25&offset=0"
```

**Response:**
```json
{
    "data": {
        "note": "The Cardano DRep set (Voltaire / CIP-1694) — every Delegated Representative known to the chain, each with its DRep id, registration status and whether it is governed by a native script. ADA holders delegate voting power to these DReps. Paginate with limit & offset; look up one in /v1/drep.",
        "count": 25,
        "dreps": [
            {
                "hex": "0024472df0da0ca231ac64e7a42b00b11f817688d939ed00d54723d2",
                "drep_id": "drep1ygqzg3ed7rdqeg3343jw0fptqzc3lqtk3rvnnmgq64rj85sxd4sr4",
                "has_script": false,
                "registered": false
            },
            {
                "hex": "002e87e32c1735bef2af2825943a9c06714857d1fc19385b86e429a3",
                "drep_id": "drep1ygqzaplr9stnt0hj4u5zt9p6nsr8zjzh687pjwzmsmjzngcdwm2a2",
                "has_script": false,
                "registered": true
            },
            {
                "hex": "00663f00c4c1ca6bb6405c68b5c30023a8d8c7f6acbeb06b7d0a4d2c",
                "drep_id": "drep1ygqxv0cqcnqu56akgpwx3dwrqq363kx876ktavrt059y6tq44crgz",
                "has_script": false,
                "registered": true
            },
            {
                "hex": "008e918639050ec8b708e5d8ff5224595098a28f0fc6671c66e292ab",
                "drep_id": "drep1ygqgayvx8yzsaj9hprja3l6jy3v4px9z3u8uvecuvm3f92ce7mckx",
                "has_script": false,
                "registered": true
            },
            {
                "hex": "0
…(truncated, see openapi.json for full schema)
```

### DRep

#### `GET /v1/drep` — One DRep in full: voting power, deposit, expiry

**Parameters:**
- `drep_id` (query, optional, string) — DRep id (drep1...); omit for the first registered DRep Example: `drep1ygqzaplr9stnt0hj4u5zt9p6nsr8zjzh687pjwzmsmjzngcdwm2a2`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cardanodreps-api/v1/drep?drep_id=drep1ygqzaplr9stnt0hj4u5zt9p6nsr8zjzh687pjwzmsmjzngcdwm2a2"
```

**Response:**
```json
{
    "data": {
        "hex": "002e87e32c1735bef2af2825943a9c06714857d1fc19385b86e429a3",
        "note": "One DRep in full: its live delegated voting power (the ADA whose vote it casts), the 500 ADA registration deposit, whether the registration is still active, the epoch the mandate expires, and any off-chain metadata anchor. Omit drep_id to use the first registered DRep.",
        "active": false,
        "source": "Koios",
        "status": "registered",
        "drep_id": "drep1ygqzaplr9stnt0hj4u5zt9p6nsr8zjzh687pjwzmsmjzngcdwm2a2",
        "meta_url": null,
        "meta_hash": null,
        "has_script": false,
        "deposit_ada": 500,
        "deposit_lovelace": "500000000",
        "expires_epoch_no": 585,
        "voting_power_ada": 12175.863018,
        "voting_power_lovelace": "12175863018"
    },
    "meta": {
        "timestamp": "2026-06-14T17:04:23.596Z",
        "request_id": "ab27845e-1c80-48a2-8ee8-c5ad97bcd1fa"
    },
    "status": "ok",
    "message": "DRep retrieved successfully",
    "success": true
}
```

### Votes

#### `GET /v1/votes` — A DRep's governance-action votes (Yes/No/Abstain)

**Parameters:**
- `drep_id` (query, optional, string) — DRep id (drep1...); omit for the first registered DRep Example: `drep1ygqzaplr9stnt0hj4u5zt9p6nsr8zjzh687pjwzmsmjzngcdwm2a2`
- `limit` (query, optional, string) — Page size (1-100) Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cardanodreps-api/v1/votes?drep_id=drep1ygqzaplr9stnt0hj4u5zt9p6nsr8zjzh687pjwzmsmjzngcdwm2a2&limit=25"
```

**Response:**
```json
{
    "data": {
        "note": "Every governance action this DRep has cast a vote on, newest first — the proposal id, the vote (Yes / No / Abstain) and when it was cast. A DRep with no votes yet returns an empty list. Omit drep_id to use the first registered DRep.",
        "count": 3,
        "votes": [
            {
                "vote": "Yes",
                "block_time": 1749086723,
                "proposal_id": "gov_action1u9x73kwufaxa70lfy59g4ynwyrcsaxdcd0gxzzmh67s9fxq4j8hqqk2phgh",
                "vote_tx_hash": "60cf99acb883cedad91ea9c51cfc79e44c03ce19daeec2e6fadafffb10680245",
                "proposal_index": 0,
                "proposal_tx_hash": "e14de8d9dc4f4ddf3fe9250a8a926e20f10e99b86bd0610b77d7a054981591ee"
            },
            {
                "vote": "No",
                "block_time": 1749083391,
                "proposal_id": "gov_action1fpqwxp2kxvnntr8hpkh9q9djm78ccdww7qlhg5safugh4stmcwzqql5lauu",
                "vote_tx_hash": "3f5e45f7ff6e6e9f6ac2e77c477848392be6991b01a014319b858ab8b16d608b",
                "proposal_index": 0,
                "proposal_tx_hash": "4840e305563327358cf70dae5015b2df8f8c35cef03f74521d4f117ac17bc384"
            },
            {
                "vote": "Yes",
                "block_time": 1749083258,
                "proposal_id": "gov_action1h4ygjv0hjfj3lmafcm76rpdzcm8vsvj9k5wejn3npyxwxm3fesnqqw9kxxz",
                "vote_tx_hash": "84ae3582634941ac38675e4e09a791543e7ca570a03c240232f73020f438076f",
      
…(truncated, see openapi.json for full schema)
```

### Summary

#### `GET /v1/summary` — DRep count and total active voting power per epoch

**Parameters:**
- `epoch_no` (query, optional, string) — Single epoch number; omit for the recent trend Example: `637`
- `limit` (query, optional, string) — Epochs to return (1-100) Example: `12`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cardanodreps-api/v1/summary?epoch_no=637&limit=12"
```

**Response:**
```json
{
    "data": {
        "note": "The network-wide DRep governance trend per epoch: how many DReps held delegated voting power and the total active voting power (in ADA) behind them. Newest epoch first. Pass epoch_no for a single epoch, or omit for the recent trend.",
        "count": 1,
        "epochs": [
            {
                "epoch_no": 637,
                "drep_count": 890,
                "active_power_ada": 15101731104.472385,
                "active_power_lovelace": "15101731104472386"
            }
        ],
        "source": "Koios"
    },
    "meta": {
        "timestamp": "2026-06-14T17:04:24.049Z",
        "request_id": "ec031f72-488e-44e4-845e-ba98cedf6164"
    },
    "status": "ok",
    "message": "DRep epoch summary retrieved successfully",
    "success": true
}
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "sample": {
            "dreps": 890,
            "latest_epoch": 637
        },
        "source": "public Koios API (api.koios.rest), keyless",
        "service": "cardanodreps-api",
        "endpoints": {
            "GET /v1/drep": "One DRep in full: voting power, deposit, active flag, expiry (drep_id; omit for the first registered).",
            "GET /v1/meta": "This document.",
            "GET /v1/dreps": "The DRep set: id, registration and script status (limit, offset).",
            "GET /v1/votes": "A DRep's governance-action votes, Yes/No/Abstain (drep_id; omit for the first registered).",
            "GET /v1/summary": "DRep count and total active voting power per epoch (epoch_no optional; omit for the recent trend)."
        },
        "description": "Read Cardano's DRep governance (Voltaire / CIP-1694) live from the public Koios API: list every Delegated Representative, look up one DRep's live delegated voting power, deposit and expiry, read the governance actions it has voted on (Yes/No/Abstain), and track network-wide DRep power and population per epoch. The governance layer for Cardano wallets, voting tools and DRep explorers. Live, short cache only.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-14T17:04:24.212Z",
        "request_id": "80ecaddd-4b8e-4623-a237-7eb773dcc9a5"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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