# Plume API
> Live Plume on-chain data via Blockscout. Plume is a real-world-asset (RWA) focused Ethereum L2; gas and balances are in PLUME. Network stats, gas prices, latest blocks, a block by height or hash, address detail with PLUME balance, a transaction by hash, ERC-20 token metadata and a universal search across addresses, tokens, blocks and transactions. Real data, no key.

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

## Pricing
- **Free** (Free) — 1,900 calls/Mo, 1 req/s
- **Basic** ($14/Mo) — 85,000 calls/Mo, 10 req/s
- **Pro** ($43/Mo) — 560,000 calls/Mo, 20 req/s
- **Mega** ($136/Mo) — 2,700,000 calls/Mo, 50 req/s

## Endpoints

### Network

#### `GET /v1/gas` — Current gas prices

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

**Response:**
```json
{
    "data": {
        "fast": 879.23,
        "slow": 879.23,
        "unit": "gwei",
        "average": 879.23,
        "gas_used_today": "5920600758"
    },
    "meta": {
        "timestamp": "2026-06-08T09:51:30.481Z",
        "request_id": "5b586b45-6565-45cf-b62e-446afc8d3871"
    },
    "status": "ok",
    "message": "Gas retrieved successfully",
    "success": true
}
```

#### `GET /v1/stats` — Network statistics

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

**Response:**
```json
{
    "data": {
        "tvl_usd": null,
        "gas_prices": {
            "fast": 879.23,
            "slow": 879.23,
            "average": 879.23
        },
        "total_blocks": 73454599,
        "coin_price_usd": null,
        "gas_used_today": "5920600758",
        "market_cap_usd": 0,
        "total_addresses": "1529736",
        "total_transactions": "190051376",
        "transactions_today": "444617",
        "network_utilization_percent": 3.3502285390341058e-9
    },
    "meta": {
        "timestamp": "2026-06-08T09:51:30.774Z",
        "request_id": "8b6efdca-6cef-41e2-8266-f42d99a2f4f1"
    },
    "status": "ok",
    "message": "Stats retrieved successfully",
    "success": true
}
```

### Blocks

#### `GET /v1/block` — A block by height or hash

**Parameters:**
- `height` (query, optional, string) — Block height Example: `73381425`
- `hash` (query, optional, string) — Block hash

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/plume-api/v1/block?height=73381425"
```

**Response:**
```json
{
    "data": {
        "block": {
            "hash": "0x80f8cd8a1562d75b53007e02509fb16b5b651426fb63f23c6c0db57002318c66",
            "size": 821,
            "miner": "0xA4b000000000000000000073657175656e636572",
            "height": 73381425,
            "gas_used": 21161,
            "tx_count": 2,
            "gas_limit": 1125899906842624,
            "timestamp": "2026-06-08T01:49:00.000000Z",
            "burnt_fees": "21161000000000000",
            "difficulty": "1",
            "base_fee_per_gas": "1000000000000"
        }
    },
    "meta": {
        "timestamp": "2026-06-08T09:51:31.063Z",
        "request_id": "97a063a3-ca5e-491d-95a7-3f5a4bc09fb8"
    },
    "status": "ok",
    "message": "Block retrieved successfully",
    "success": true
}
```

#### `GET /v1/blocks` — Latest blocks

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

**Response:**
```json
{
    "data": {
        "count": 50,
        "blocks": [
            {
                "hash": "0xf61c6083a54d5fc181d8015273871d9ba908553a9dba115f9b443ce559b61186",
                "size": 821,
                "miner": "0xA4b000000000000000000073657175656e636572",
                "height": 73455585,
                "gas_used": 21161,
                "tx_count": 2,
                "gas_limit": 1125899906842624,
                "timestamp": "2026-06-08T09:51:30.000000Z",
                "burnt_fees": "21161000000000000",
                "difficulty": "1",
                "base_fee_per_gas": "1000000000000"
            },
            {
                "hash": "0x623e7a0fc2edf7c38c278f6c2fe155e6a03c5bebee1699b186de3fd2f3874047",
                "size": 821,
                "miner": "0xA4b000000000000000000073657175656e636572",
                "height": 73455584,
                "gas_used": 21161,
                "tx_count": 2,
                "gas_limit": 1125899906842624,
                "timestamp": "2026-06-08T09:51:29.000000Z",
                "burnt_fees": "21161000000000000",
                "difficulty": "1",
                "base_fee_per_gas": "1000000000000"
            },
            {
                "hash": "0x4489408c783933e6f749acd08cb3f482f0a24549c6131f1b95b30cda0405cdac",
                "size": 2783,
                "miner": "0xA4b000000000000000000073657175656e636572",
                "height": 73455583,
                "gas_used": 849122,
                "tx_co
…(truncated, see openapi.json for full schema)
```

### Accounts

#### `GET /v1/address` — Address detail with PLUME balance

**Parameters:**
- `address` (query, required, string) — Address hash Example: `0x222365EF19F7947e5484218551B56bb3965Aa7aF`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/plume-api/v1/address?address=0x222365EF19F7947e5484218551B56bb3965Aa7aF"
```

**Response:**
```json
{
    "data": {
        "address": {
            "ens": null,
            "hash": "0x222365EF19F7947e5484218551B56bb3965Aa7aF",
            "name": "FiatTokenProxy",
            "token": {
                "name": "USDC",
                "type": "ERC-20",
                "symbol": "USDC"
            },
            "creator": "0xe7b84D8846c96Bb83155Da5537625c75e42d6E42",
            "balance_wei": "0",
            "is_contract": true,
            "is_verified": true,
            "balance_plume": 0
        }
    },
    "meta": {
        "timestamp": "2026-06-08T09:51:31.982Z",
        "request_id": "472b7bba-e99a-4e2f-96b5-131e3d109154"
    },
    "status": "ok",
    "message": "Address retrieved successfully",
    "success": true
}
```

### Transactions

#### `GET /v1/transaction` — A transaction by hash

**Parameters:**
- `hash` (query, required, string) — Transaction hash Example: `0x489b4553b321bdf52cb6d5e27d3ffc5aebfcfbac287256dcffc961f1e0dd5fda`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/plume-api/v1/transaction?hash=0x489b4553b321bdf52cb6d5e27d3ffc5aebfcfbac287256dcffc961f1e0dd5fda"
```

**Response:**
```json
{
    "data": {
        "transaction": {
            "to": "0x00000000000000000000000000000000000A4B05",
            "from": "0x00000000000000000000000000000000000A4B05",
            "hash": "0x489b4553b321bdf52cb6d5e27d3ffc5aebfcfbac287256dcffc961f1e0dd5fda",
            "type": 106,
            "block": 73381425,
            "nonce": 0,
            "method": "startBlock",
            "status": "ok",
            "fee_wei": "0",
            "gas_used": 0,
            "fee_plume": 0,
            "gas_price": "1000000000000",
            "timestamp": "2026-06-08T01:49:00.000000Z",
            "value_wei": "0",
            "value_plume": 0,
            "confirmations": 74164
        }
    },
    "meta": {
        "timestamp": "2026-06-08T09:51:32.323Z",
        "request_id": "339737ce-a1a7-495b-ac27-e4c58698d777"
    },
    "status": "ok",
    "message": "Transaction retrieved successfully",
    "success": true
}
```

### Tokens

#### `GET /v1/token` — ERC-20 token metadata

**Parameters:**
- `address` (query, required, string) — Token contract address Example: `0x222365EF19F7947e5484218551B56bb3965Aa7aF`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/plume-api/v1/token?address=0x222365EF19F7947e5484218551B56bb3965Aa7aF"
```

**Response:**
```json
{
    "data": {
        "token": {
            "icon": null,
            "name": "USDC",
            "type": "ERC-20",
            "symbol": "USDC",
            "holders": null,
            "decimals": 6,
            "total_supply": "8377450212231",
            "exchange_rate_usd": null,
            "circulating_market_cap": null
        }
    },
    "meta": {
        "timestamp": "2026-06-08T09:51:32.589Z",
        "request_id": "8f800325-e246-4543-8f20-18bf7c479e92"
    },
    "status": "ok",
    "message": "Token retrieved successfully",
    "success": true
}
```

### Search

#### `GET /v1/search` — Universal on-chain search

**Parameters:**
- `q` (query, required, string) — Address, token, block or tx Example: `USD`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/plume-api/v1/search?q=USD"
```

**Response:**
```json
{
    "data": {
        "count": 50,
        "query": "USD",
        "results": [
            {
                "name": "USDC",
                "type": "token",
                "symbol": "USDC",
                "address": "0x222365EF19F7947e5484218551B56bb3965Aa7aF"
            },
            {
                "name": "World Liberty Financial USD",
                "type": "token",
                "symbol": "USD1",
                "address": "0x111111d2bf19e43C34263401e0CAd979eD1cdb61"
            },
            {
                "name": "Ondo U.S. Dollar Yield",
                "type": "token",
                "symbol": "USDY",
                "address": "0xD2B65e851Be3d80D3c2ce795eB2E78f16cB088b2"
            },
            {
                "name": "Frax USD",
                "type": "token",
                "symbol": "frxUSD",
                "address": "0x80Eede496655FB9047dd39d9f418d5483ED600df"
            },
            {
                "name": "Bridged USDC (Stargate)",
                "type": "token",
                "symbol": "USDC.e",
                "address": "0x78adD880A697070c1e765Ac44D65323a0DcCE913"
            },
            {
                "name": "Plume USD",
                "type": "token",
                "symbol": "pUSD",
                "address": "0xdddD73F5Df1F0DC31373357beAC77545dC5A6f3F"
            },
            {
                "name": "Bridged stgUSDT",
                "type": "token",
                "symbol": "USDT",
                "addr
…(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/plume-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "service": "plume-api",
        "endpoints": {
            "GET /v1/gas": "Gas oracle (slow/average/fast in gwei).",
            "GET /v1/meta": "This document.",
            "GET /v1/block": "Block detail by height= or hash=.",
            "GET /v1/stats": "Network stats (blocks, txns, coin price, market cap, gas).",
            "GET /v1/token": "ERC-20 token detail by contract (address=).",
            "GET /v1/blocks": "The most recent blocks.",
            "GET /v1/search": "Search addresses, tokens, blocks & txns (q=).",
            "GET /v1/address": "Address balance, ENS & contract info (address=).",
            "GET /v1/transaction": "Transaction detail (hash=)."
        },
        "description": "Live Plume on-chain data via Blockscout: network stats, a gas oracle (gwei), recent blocks and block detail, address balances with ENS, transaction detail, ERC-20 token detail and a universal search across addresses, tokens, blocks and transactions. Plume is a real-world-asset (RWA) focused Ethereum L2; gas and balances are in PLUME. Real on-chain data, no key."
    },
    "meta": {
        "timestamp": "2026-06-08T09:51:32.996Z",
        "request_id": "f288bf8f-e06b-4ee8-9b90-1a8ca55dbe19"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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