# Juno Network On-Chain API
> Live on-chain data for Juno Network (the CosmWasm smart-contract hub L1, chain juno-1) with no key: staking economics (bonded vs unbonded JUNO, bonded ratio, staking parameters), the active validator set (moniker, voting power, commission, status), the total JUNO supply, monetary inflation (annual rate, annual provisions, mint parameters), the latest governance proposals, and the latest block.

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

## Pricing
- **Free** (Free) — 9,300 calls/Mo, 2 req/s
- **Basic** ($29/Mo) — 221,000 calls/Mo, 10 req/s
- **Pro** ($79/Mo) — 1,240,000 calls/Mo, 20 req/s
- **Scale** ($151/Mo) — 6,680,000 calls/Mo, 50 req/s

## Endpoints

### Staking

#### `GET /v1/staking` — Staking economics & parameters

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

**Response:**
```json
{
    "data": {
        "note": "The Juno staking economics — bonded vs unbonded JUNO, the bonded ratio, and the chain's staking parameters (unbonding period, max validators, minimum commission). No parameters.",
        "params": {
            "bond_denom": "ujuno",
            "max_validators": 25,
            "min_commission_rate": 0.05,
            "unbonding_time_seconds": 2419200
        },
        "source": "Juno Network (juno-1) LCD",
        "bonded_juno": 35295974.9,
        "not_bonded_juno": 18489161.71,
        "bonded_ratio_percent": 65.62
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:35.966Z",
        "request_id": "4eee90a3-205d-4750-ac5c-42fc6bc793c9"
    },
    "status": "ok",
    "message": "Staking retrieved successfully",
    "success": true
}
```

#### `GET /v1/validators` — Active validator set ranked by voting power

**Parameters:**
- `limit` (query, optional, string) — Results 1-100 Example: `25`

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

**Response:**
```json
{
    "data": {
        "note": "The active Juno validator set, ranked by voting power — each validator's moniker, website, voting power (in JUNO), commission rate and status. Pass limit (1-100, default 25).",
        "count": 25,
        "source": "Juno Network (juno-1) LCD",
        "validators": [
            {
                "jailed": false,
                "status": "BOND_STATUS_BONDED",
                "moniker": "The_Cybernetics",
                "website": "https://thecybernetics.org",
                "commission_rate": 0.05,
                "operator_address": "junovaloper1yfx5x9cs3nvncprlw0kuw2cgs9qq38uqnwfhd8",
                "voting_power_juno": 5099457.94,
                "max_commission_rate": 0.5
            },
            {
                "jailed": false,
                "status": "BOND_STATUS_BONDED",
                "moniker": "DAO DAO",
                "website": "https://daodao.zone",
                "commission_rate": 0.05,
                "operator_address": "junovaloper185hgkqs8q8ysnc8cvkgd8j2knnq2m0ah6ae73gntv9ampgwpmrxqlfzywn",
                "voting_power_juno": 4679662.57,
                "max_commission_rate": 0.2
            },
            {
                "jailed": false,
                "status": "BOND_STATUS_BONDED",
                "moniker": "SG-1",
                "website": "https://sg-1.online",
                "commission_rate": 0.05,
                "operator_address": "junovaloper196ax4vc0lwpxndu9dyhvca7jhxp70rmcqcnylw",
        
…(truncated, see openapi.json for full schema)
```

### Governance

#### `GET /v1/governance` — Latest governance proposals

**Parameters:**
- `limit` (query, optional, string) — Results 1-50 Example: `10`

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

**Response:**
```json
{
    "data": {
        "note": "The latest Juno on-chain governance proposals (most recent first) — each proposal's id, title, status and voting window. Pass limit (1-50, default 10).",
        "count": 10,
        "source": "Juno Network (juno-1) LCD",
        "proposals": [
            {
                "title": "BN254 Precompile for CosmWasm — Cheap On-chain Groth16 Verification (post-#373)",
                "status": "PROPOSAL_STATUS_PASSED",
                "proposal_id": "374",
                "submit_time": "2026-04-30T18:18:58.363902154Z",
                "voting_end_time": "2026-05-05T18:18:58.363902154Z"
            },
            {
                "title": "JunoClaw — Verifiable AI Agents with TEE-Attested Junoswap Revival on Juno",
                "status": "PROPOSAL_STATUS_PASSED",
                "proposal_id": "373",
                "submit_time": "2026-03-18T23:50:29.583756156Z",
                "voting_end_time": "2026-03-24T00:08:59.494057187Z"
            },
            {
                "title": "Proposal: Reduce Maximum Validator Set to 25",
                "status": "PROPOSAL_STATUS_PASSED",
                "proposal_id": "372",
                "submit_time": "2026-02-24T09:49:14.683204104Z",
                "voting_end_time": "2026-03-01T13:21:14.756004742Z"
            },
            {
                "title": "Proposal: Delegate stJUNO LP Recovery to Dimi",
                "status": "PROPOSAL_STATUS_PASSED",
                "proposal_id": "371"
…(truncated, see openapi.json for full schema)
```

### Supply

#### `GET /v1/supply` — Total JUNO supply

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

**Response:**
```json
{
    "data": {
        "note": "The total supply of JUNO (the native token of Juno Network), in both JUNO and the ujuno micro-denomination. No parameters.",
        "denom": "JUNO",
        "source": "Juno Network (juno-1) LCD",
        "micro_denom": "ujuno",
        "total_supply_juno": 138901449.39,
        "total_supply_ujuno": "138901449393334"
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:36.358Z",
        "request_id": "6a2e9b90-555b-403e-9668-9db6b9bc0b37"
    },
    "status": "ok",
    "message": "Supply retrieved successfully",
    "success": true
}
```

### Economics

#### `GET /v1/inflation` — Monetary inflation & mint parameters

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

**Response:**
```json
{
    "data": {
        "note": "The Juno monetary inflation — the current annual inflation rate, the JUNO minted per year (annual provisions), and the mint parameters (blocks per year, target bonded ratio, inflation band). No parameters.",
        "params": {
            "mint_denom": "ujuno",
            "blocks_per_year": 10096186,
            "goal_bonded_percent": null,
            "inflation_max_percent": null,
            "inflation_min_percent": null
        },
        "source": "Juno Network (juno-1) LCD",
        "annual_provisions_juno": 10458866.11,
        "annual_inflation_percent": 8
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:36.532Z",
        "request_id": "e0e132f2-b925-4132-80d0-6c0d17edab1b"
    },
    "status": "ok",
    "message": "Inflation retrieved successfully",
    "success": true
}
```

### Chain

#### `GET /v1/block` — Latest block

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

**Response:**
```json
{
    "data": {
        "note": "The latest finalized Juno block — height, timestamp, chain id, proposer and transaction count. No parameters.",
        "time": "2026-06-15T02:10:32.381045329Z",
        "round": 0,
        "height": 38880292,
        "source": "Juno Network (juno-1) LCD",
        "num_txs": 0,
        "chain_id": "juno-1",
        "proposer_address": "ARyjKhINX4AHvp0qpgwceujwJjQ="
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:36.666Z",
        "request_id": "fbfd45e0-1f47-4cae-b023-6a80a45485a0"
    },
    "status": "ok",
    "message": "Block retrieved successfully",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Service metadata & endpoint catalog

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

**Response:**
```json
{
    "data": {
        "sample": {
            "latest_height": 38880292
        },
        "source": "Juno public Cosmos REST / LCD nodes (juno-api.polkachu.com and mirrors), keyless",
        "service": "juno-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/block": "Latest block.",
            "GET /v1/supply": "Total JUNO supply.",
            "GET /v1/staking": "Staking economics & parameters.",
            "GET /v1/inflation": "Monetary inflation & mint parameters.",
            "GET /v1/governance": "Latest governance proposals (limit).",
            "GET /v1/validators": "Active validator set (limit)."
        },
        "description": "Live on-chain data for Juno Network (the CosmWasm smart-contract hub L1, chain juno-1) with no key: staking economics (bonded vs unbonded JUNO, bonded ratio, staking parameters), the active validator set (moniker, voting power, commission, status), the total JUNO supply, monetary inflation (annual rate, annual provisions, mint parameters), the latest governance proposals, and the latest block. The Juno-on-chain / staking / inflation / governance layer for explorers, staking dashboards and research. Distinct from other chain readers — the Juno (juno-1) network. Live, short cache only.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:36.807Z",
        "request_id": "170e9020-a3d8-4e2d-ba33-c71471ead389"
    },
    "status": "ok",
    "message": 
…(truncated, see openapi.json for full schema)
```


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