# Provenance Blockchain RWA Markers API
> Live on-chain data from Provenance (pio-mainnet-1), the Cosmos-SDK layer-1 built by Figure for real-world-asset finance. Read the marker module — Provenance's tokenized-asset primitive: the registry of on-chain markers (tokenized assets and restricted security tokens) with each marker's denom, status, type (COIN vs RESTRICTED), on-chain supply and transfer/governance flags; the full detail of any marker including its access-control grants and required holder attributes; the address-level holders of a marker; plus the staking pool with bonded ratio and validator set, the total HASH supply and the latest block. The Provenance / RWA / tokenized-securities layer for explorers, asset dashboards and compliance tooling.

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

## Pricing
- **Free** (Free) — 2,200 calls/Mo, 2 req/s
- **Basic** ($13/Mo) — 58,000 calls/Mo, 5 req/s
- **Pro** ($41/Mo) — 225,000 calls/Mo, 15 req/s
- **Business** ($88/Mo) — 870,000 calls/Mo, 40 req/s

## Endpoints

### Markers

#### `GET /v1/holders` — Address-level holders of a marker

**Parameters:**
- `denom` (query, required, string) — Marker denom Example: `nhash`
- `limit` (query, optional, string) — Number of holders (1-200) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/provenance-api/v1/holders?denom=nhash&limit=20"
```

**Response:**
```json
{
    "data": {
        "chain": "pio-mainnet-1",
        "count": 20,
        "denom": "nhash",
        "holders": [
            {
                "denom": "nhash",
                "amount": 10000000000,
                "address": "pb1qq9874gu8p9t9h63p9rjqlmanurlk63pw536xn"
            },
            {
                "denom": "nhash",
                "amount": 1411453553,
                "address": "pb1qq88j3wfm37z7g73l9p9pk8n28kvxygx5cuy3g"
            },
            {
                "denom": "nhash",
                "amount": 394474325,
                "address": "pb1qqgznhde0mwu03lyjwex8p6vpdh9jhy0h84pmk"
            },
            {
                "denom": "nhash",
                "amount": 3341904756584,
                "address": "pb1qqf4vrfydh9ry3fwa8uclv4dew7ywytp3fgsxx"
            },
            {
                "denom": "nhash",
                "amount": 50336289000000,
                "address": "pb1qq2j8fej8zq0zgerhrgaqas39z6zxvr6tpakzl"
            },
            {
                "denom": "nhash",
                "amount": 30617717205,
                "address": "pb1qqtsppzyv30d837dhnzkzm2up9m9nypz524e7l"
            },
            {
                "denom": "nhash",
                "amount": 61000000000000,
                "address": "pb1qqn2a2wgyrwhykx5ntlq9xyryzyn8xmy3e6hru"
            },
            {
                "denom": "nhash",
                "amount": 10000000000,
                "address": "pb1qqkqmdhgxamxfr2mrf9wye4hv04nqdjev9gh9e"
        
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/marker` — Full marker detail with access-control

**Parameters:**
- `denom` (query, required, string) — Marker denom Example: `nhash`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/provenance-api/v1/marker?denom=nhash"
```

**Response:**
```json
{
    "data": {
        "chain": "pio-mainnet-1",
        "marker": {
            "type": "COIN",
            "denom": "nhash",
            "status": "ACTIVE",
            "supply": 9.5e+19,
            "address": "pb1pr93cqdh4kfnmrknhwa87a5qrwxw9k3dya4wr9",
            "manager": null,
            "supply_fixed": true,
            "access_control": [],
            "required_attributes": [],
            "allow_forced_transfer": false,
            "allow_governance_control": true
        }
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:16.339Z",
        "request_id": "4dc3a697-4a23-41a5-8312-4863d27adbf2"
    },
    "status": "ok",
    "message": "Marker retrieved successfully",
    "success": true
}
```

#### `GET /v1/markers` — Registry of on-chain markers (tokenized assets)

**Parameters:**
- `limit` (query, optional, string) — Number of markers (1-200) Example: `20`

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

**Response:**
```json
{
    "data": {
        "chain": "pio-mainnet-1",
        "count": 20,
        "markers": [
            {
                "type": "RESTRICTED",
                "denom": "pm.securitization.contribution.6wi2sn3h1tusfhzsco70sy",
                "status": "ACTIVE",
                "supply": 1,
                "address": "pb1qqqymljjzmvqllqhu3yut5wug64pa4lsyncg6c",
                "manager": null,
                "supply_fixed": false,
                "required_attributes": [],
                "allow_forced_transfer": false,
                "allow_governance_control": true
            },
            {
                "type": "RESTRICTED",
                "denom": "pm.pool.asset.71v20ylsgiqgov0rwtgdtd",
                "status": "ACTIVE",
                "supply": 1,
                "address": "pb1qqqm9w7nc4sattkfwmsjpgtc4rrukg00m0p4xt",
                "manager": null,
                "supply_fixed": false,
                "required_attributes": [],
                "allow_forced_transfer": false,
                "allow_governance_control": true
            },
            {
                "type": "RESTRICTED",
                "denom": "pm.securitization.contribution.359upvwllo0kochlvxjkcv",
                "status": "ACTIVE",
                "supply": 1,
                "address": "pb1qqpdcxw0rtcrrylu89krj8jmmmvcegcz57aa7e",
                "manager": null,
                "supply_fixed": false,
                "required_attributes": [],
                "allow_forced_transfer": fa
…(truncated, see openapi.json for full schema)
```

### Staking

#### `GET /v1/staking` — Staking pool, bonded ratio & params

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

**Response:**
```json
{
    "data": {
        "chain": "pio-mainnet-1",
        "denom": "HASH",
        "params": {
            "bond_denom": "nhash",
            "max_validators": 100,
            "unbonding_time": "1814400s",
            "min_commission_rate": "0.600000000000000000"
        },
        "bonded_ratio": 0.999695,
        "bonded_tokens": 17463471229.82679,
        "not_bonded_tokens": 5330119.802860684
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:16.810Z",
        "request_id": "da152f3c-5973-45dc-b822-bc5b57d35e14"
    },
    "status": "ok",
    "message": "Staking retrieved successfully",
    "success": true
}
```

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

**Parameters:**
- `limit` (query, optional, string) — Number of validators (1-200) Example: `20`

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

**Response:**
```json
{
    "data": {
        "chain": "pio-mainnet-1",
        "count": 20,
        "validators": [
            {
                "jailed": false,
                "status": "BOND_STATUS_BONDED",
                "moniker": "Blockdaemon",
                "website": "https://blockdaemon.com",
                "voting_power": 905728201.012441,
                "commission_rate": 0.6,
                "operator_address": "pbvaloper193mx3wsed089rnmuf0t9080qlefgyf60cehfz9"
            },
            {
                "jailed": false,
                "status": "BOND_STATUS_BONDED",
                "moniker": "NUVA Labs",
                "website": "nuvalabs.com",
                "voting_power": 769370970.3318871,
                "commission_rate": 0.6,
                "operator_address": "pbvaloper19las05t2lhx88ku07qesxdnlpmzcj3c6dne6wz"
            },
            {
                "jailed": false,
                "status": "BOND_STATUS_BONDED",
                "moniker": "Little Resonance",
                "website": null,
                "voting_power": 708235697.1030612,
                "commission_rate": 0.6,
                "operator_address": "pbvaloper1zkqvgkxuhwmlxlgyde2s42ge9kdy0d7d520ukk"
            },
            {
                "jailed": false,
                "status": "BOND_STATUS_BONDED",
                "moniker": "Provenance East",
                "website": "https://provenance.io",
                "voting_power": 473143601.73590183,
                "commission_rate": 0.6
…(truncated, see openapi.json for full schema)
```

### Chain

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

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

**Response:**
```json
{
    "data": {
        "time": "2026-06-15T02:10:10.092890608Z",
        "chain": "pio-mainnet-1",
        "height": 31657199,
        "num_txs": 0,
        "proposer_address": "hsLX7CG1UuNn7WSyvHriNqOf4wQ="
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:17.074Z",
        "request_id": "79e2476c-0483-4b23-992c-02aa76420da5"
    },
    "status": "ok",
    "message": "Block retrieved successfully",
    "success": true
}
```

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

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

**Response:**
```json
{
    "data": {
        "chain": "pio-mainnet-1",
        "denom": "HASH",
        "micro_denom": "nhash",
        "total_supply": 95000000000,
        "total_supply_nano": "95000000000000000000"
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:17.194Z",
        "request_id": "c1ded962-7a0f-44f4-8e4c-4fb148f87e55"
    },
    "status": "ok",
    "message": "Supply retrieved successfully",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Chain metadata & endpoint guide

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

**Response:**
```json
{
    "data": {
        "chain": "pio-mainnet-1",
        "token": "HASH",
        "source": "Provenance public Cosmos REST/LCD, keyless (3-mirror)",
        "network": "Provenance Blockchain",
        "decimals": 9,
        "examples": {
            "marker": "/v1/marker?denom=nhash",
            "holders": "/v1/holders?denom=nhash&limit=20",
            "markers": "/v1/markers?limit=20"
        },
        "endpoints": {
            "/v1/block": "latest block (height, time, chain_id)",
            "/v1/marker": "full marker detail incl. access-control & required attributes (denom)",
            "/v1/supply": "total HASH supply",
            "/v1/holders": "address-level holders of a marker (denom, limit)",
            "/v1/markers": "registry of on-chain markers (tokenized assets / restricted security tokens; limit)",
            "/v1/staking": "staking pool, bonded ratio and params",
            "/v1/validators": "bonded validator set ranked by voting power (limit)"
        },
        "micro_denom": "nhash",
        "cache_ttl_ms": 20000
    },
    "meta": {
        "timestamp": "2026-06-15T02:10:17.270Z",
        "request_id": "6acbe2bf-a8fd-4d09-82b3-59cf89e5ee3e"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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