# EIP Registry API
> A live, queryable index of every Ethereum Improvement Proposal (EIP) and ERC token standard, read keyless straight from the canonical ethereum/EIPs and ethereum/ERCs repositories. Look up any proposal by number for its title, status (Draft, Review, Last Call, Final, Living, Stagnant or Withdrawn), type and category, authors, creation date, what it requires and its abstract; pull several proposals at once; or list the whole catalog of 1,500+ EIPs and ERCs. The reference layer for wallets, block explorers, documentation sites and developer tooling that need to resolve "what is EIP-1559" or "is ERC-4626 final yet" programmatically instead of scraping a website. Always current — read live from the source repos, lightly cached.

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

## Pricing
- **Free** (Free) — 7,000 calls/Mo, 3 req/s
- **Starter** ($8/Mo) — 135,000 calls/Mo, 8 req/s
- **Pro** ($30/Mo) — 820,000 calls/Mo, 20 req/s
- **Business** ($88/Mo) — 5,100,000 calls/Mo, 50 req/s

## Endpoints

### EIPs

#### `GET /v1/batch` — Metadata for several proposals at once (max 12)

**Parameters:**
- `numbers` (query, required, string) — Comma-separated EIP/ERC numbers Example: `20,721,1155`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/eipregistry-api/v1/batch?numbers=20%2C721%2C1155"
```

**Response:**
```json
{
    "data": {
        "eips": [
            {
                "url": "https://eips.ethereum.org/EIPS/erc-20",
                "kind": "erc",
                "type": "Standards Track",
                "title": "Token Standard",
                "author": "Fabian Vogelsteller <fabian@ethereum.org>, Vitalik Buterin <vitalik.buterin@ethereum.org>",
                "number": 20,
                "status": "Final",
                "created": "2015-11-19",
                "abstract": "The following standard allows for the implementation of a standard API for tokens within smart contracts. This standard provides basic functionality to transfer tokens, as well as allow tokens to be approved so they can be spent by another on-chain third party.",
                "category": "ERC",
                "requires": [],
                "source_url": "https://github.com/ethereum/ERCs/blob/master/ERCS/erc-20.md",
                "discussions_to": null
            },
            {
                "url": "https://eips.ethereum.org/EIPS/erc-721",
                "kind": "erc",
                "type": "Standards Track",
                "title": "Non-Fungible Token Standard",
                "author": "William Entriken (@fulldecent), Dieter Shirley <dete@axiomzen.co>, Jacob Evans <jacob@dekz.net>, Nastassia Sachs <nastassia.sachs@protonmail.com>",
                "number": 721,
                "status": "Final",
                "created": "2018-01-24",
                "abstract": "The following stand
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/eip` — Full metadata + abstract for one proposal

**Parameters:**
- `number` (query, required, string) — EIP or ERC number Example: `1559`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/eipregistry-api/v1/eip?number=1559"
```

**Response:**
```json
{
    "data": {
        "url": "https://eips.ethereum.org/EIPS/eip-1559",
        "kind": "eip",
        "note": "Canonical metadata and abstract for the proposal, read live from the ethereum/EIPs or ethereum/ERCs repository.",
        "type": "Standards Track",
        "title": "Fee market change for ETH 1.0 chain",
        "author": "Vitalik Buterin (@vbuterin), Eric Conner (@econoar), Rick Dudley (@AFDudley), Matthew Slipper (@mslipper), Ian Norden (@i-norden), Abdelhamid Bakhta (@abdelhamidbakhta)",
        "number": 1559,
        "source": "ethereum/EIPs + ethereum/ERCs",
        "status": "Final",
        "created": "2019-04-13",
        "abstract": "We introduce a new [EIP-2718](./eip-2718.md) transaction type, with the format `0x02 || rlp([chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, destination, amount, data, access_list, signature_y_parity, signature_r, signature_s])`. There is a base fee per gas in protocol, which can move up or down each block according to a formula which is a function of gas used in parent block and gas target (block gas limit divided by elasticity multiplier) of parent block. The algorithm results in the base fee per gas increasing when blocks are above the gas target, and decreasing when…",
        "category": "Core",
        "requires": [
            2718,
            2930
        ],
        "source_url": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md",
        "discussions_to": "https://ethereum-mag
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/list` — Catalog of all EIP/ERC numbers

**Parameters:**
- `kind` (query, optional, string) — Filter: all, eip or erc Example: `eip`
- `limit` (query, optional, string) — Page size (1-2000) Example: `50`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/eipregistry-api/v1/list?kind=eip&limit=50"
```

**Response:**
```json
{
    "data": {
        "kind": "eip",
        "note": "Catalog of every EIP and ERC number. Use /v1/eip?number=N for full metadata, or /v1/batch for several.",
        "count": 50,
        "items": [
            {
                "kind": "eip",
                "number": 1
            },
            {
                "kind": "eip",
                "number": 2
            },
            {
                "kind": "eip",
                "number": 3
            },
            {
                "kind": "eip",
                "number": 4
            },
            {
                "kind": "eip",
                "number": 5
            },
            {
                "kind": "eip",
                "number": 6
            },
            {
                "kind": "eip",
                "number": 7
            },
            {
                "kind": "eip",
                "number": 8
            },
            {
                "kind": "eip",
                "number": 20
            },
            {
                "kind": "eip",
                "number": 55
            },
            {
                "kind": "eip",
                "number": 67
            },
            {
                "kind": "eip",
                "number": 86
            },
            {
                "kind": "eip",
                "number": 100
            },
            {
                "kind": "eip",
                "number": 101
            },
            {
                "kind": "eip",
              
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Service metadata & live sample

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

**Response:**
```json
{
    "data": {
        "sample": {
            "title": "Fee market change for ETH 1.0 chain",
            "number": 1559,
            "status": "Final"
        },
        "source": "ethereum/EIPs + ethereum/ERCs (raw frontmatter + git tree), live",
        "service": "eipregistry-api",
        "endpoints": {
            "GET /v1/eip": "Full metadata + abstract for one proposal (number=1559).",
            "GET /v1/list": "Catalog of all EIP/ERC numbers (kind=all|eip|erc, limit, offset).",
            "GET /v1/meta": "This document.",
            "GET /v1/batch": "Metadata for several proposals at once (numbers=20,721,1559; max 12)."
        },
        "description": "A live, queryable index of every Ethereum Improvement Proposal (EIP) and ERC token standard, read keyless from the canonical ethereum/EIPs and ethereum/ERCs repos. Look up a proposal by number (title/status/type/category/author/created/requires/abstract), pull several at once, or list the whole catalog. The reference layer for wallets, explorers and docs tooling. Live, lightly cached.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-14T08:04:10.067Z",
        "request_id": "bb2031bb-bcb7-4743-969c-d8a0ebf66605"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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