# Kaspa API
> Live on-chain data from Kaspa (KAS), the fastest proof-of-work Layer 1, via the public api.kaspa.org indexer. Kaspa is not a linear blockchain but a blockDAG running the GHOSTDAG protocol, mined with kHeavyHash at one-or-more blocks per second, so its native state is the UTXO and its native measure of progress is the DAA score. Resolve any address's KAS balance and lifetime transaction count. Pull the unspent outputs an address holds, each with its amount, the transaction that created it, its DAA score and whether it is a coinbase. Read the live blockDAG state — block and header counts, the virtual DAA score, the difficulty, the tip count and pruning point — plus the network hashrate and the circulating-versus-max KAS supply with the share already mined. Look up any transaction with its acceptance status, accepting-block blue score, mass and outputs. Live, no key, nothing stored. Distinct from the XRP Ledger, Stellar, TRON, Aptos, Algorand, Tezos, Cardano, Hedera, Solana and EVM on-chain APIs and from price feeds — this is Kaspa's blockDAG state, UTXO holdings, address balances and transactions. Perfect for wallets, explorers, mining and analytics apps.

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

## Pricing
- **Free** (Free) — 6,500 calls/Mo, 2 req/s
- **Starter** ($13/Mo) — 140,000 calls/Mo, 5 req/s
- **Pro** ($38/Mo) — 870,000 calls/Mo, 15 req/s
- **Business** ($88/Mo) — 4,600,000 calls/Mo, 40 req/s

## Endpoints

### Address

#### `GET /v1/address` — Address balance + tx count

**Parameters:**
- `address` (query, required, string) — Kaspa address (kaspa:…) Example: `kaspa:qrk9decfnl4rayeegp6gd3tc6605zavclkpud5jp78axat5namppwt050d57j`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/kaspa-api/v1/address?address=kaspa%3Aqrk9decfnl4rayeegp6gd3tc6605zavclkpud5jp78axat5namppwt050d57j"
```

**Response:**
```json
{
    "data": {
        "source": "Kaspa",
        "address": "kaspa:qrk9decfnl4rayeegp6gd3tc6605zavclkpud5jp78axat5namppwt050d57j",
        "balance_kas": 35355.54683021,
        "balance_sompi": 3535554683021,
        "transaction_count": 225082999
    },
    "meta": {
        "timestamp": "2026-06-09T20:24:26.222Z",
        "request_id": "0a057e94-abf9-4474-9d04-2705f628e650"
    },
    "status": "ok",
    "message": "Address retrieved successfully",
    "success": true
}
```

#### `GET /v1/utxos` — Unspent outputs an address holds

**Parameters:**
- `address` (query, required, string) — Kaspa address (kaspa:…) Example: `kaspa:qrk9decfnl4rayeegp6gd3tc6605zavclkpud5jp78axat5namppwt050d57j`
- `limit` (query, optional, string) — Max 1-100 Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/kaspa-api/v1/utxos?address=kaspa%3Aqrk9decfnl4rayeegp6gd3tc6605zavclkpud5jp78axat5namppwt050d57j&limit=25"
```

**Response:**
```json
{
    "data": {
        "count": 25,
        "utxos": [
            {
                "index": 0,
                "amount_kas": 200,
                "is_coinbase": false,
                "amount_sompi": 20000000000,
                "transaction_id": "ab8488c38f54e597ace4cf637b2e9a8d8a7ab7a89b475825ead1134e3ef51c92",
                "block_daa_score": "456160218"
            },
            {
                "index": 0,
                "amount_kas": 200,
                "is_coinbase": false,
                "amount_sompi": 20000000000,
                "transaction_id": "9b627c99a97648e66aa83d61fa9c8de4409d235e8c8acc0c089581bc2f87c819",
                "block_daa_score": "456167240"
            },
            {
                "index": 0,
                "amount_kas": 200,
                "is_coinbase": false,
                "amount_sompi": 20000000000,
                "transaction_id": "b933c2fc55c9c78eb9f68c26ec3d0861053d8b3378640162f14b857c027f32f7",
                "block_daa_score": "456090635"
            },
            {
                "index": 0,
                "amount_kas": 200,
                "is_coinbase": false,
                "amount_sompi": 20000000000,
                "transaction_id": "5469d9be377b36301eaac091d525f3110e2331b98ef69d9d1f76c6813571fb1c",
                "block_daa_score": "456119364"
            },
            {
                "index": 0,
                "amount_kas": 200,
                "is_coinbase": false,
                "amount_sompi": 2
…(truncated, see openapi.json for full schema)
```

### Transaction

#### `GET /v1/transaction` — Transaction with acceptance + outputs

**Parameters:**
- `id` (query, required, string) — Transaction id (64 hex) Example: `e68bb4b426848d00e45ad6ab5ed32c6621c04ecf23fa4592dcceb9a6beaf7e1d`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/kaspa-api/v1/transaction?id=e68bb4b426848d00e45ad6ab5ed32c6621c04ecf23fa4592dcceb9a6beaf7e1d"
```

**Response:**
```json
{
    "data": {
        "hash": "534c80dc8216cd48155da130071378c282af5694b8b9fd2b2194b9b2e20b3d1c",
        "mass": null,
        "source": "Kaspa",
        "outputs": [
            {
                "address": "kaspa:qrk9decfnl4rayeegp6gd3tc6605zavclkpud5jp78axat5namppwt050d57j",
                "amount_kas": 2.59577652,
                "amount_sompi": 259577652
            },
            {
                "address": "kaspa:qpamkvhgh0kzx50gwvvp5xs8ktmqutcy3dfs9dc3w7lm9rq0zs76vf959mmrp",
                "amount_kas": 2.59565436,
                "amount_sompi": 259565436
            },
            {
                "address": "kaspa:qqje6ps46n6pvjstupfxgrg6v3pegd22q84jachnfrnz2vh5vznqw8redgln6",
                "amount_kas": 2.59565436,
                "amount_sompi": 259565436
            },
            {
                "address": "kaspa:qrvqn64vxkcevdev6k2y49slxw4ls57cjzdqmqkcgh9wu7xmghk57v4ehla0t",
                "amount_kas": 2.59565436,
                "amount_sompi": 259565436
            },
            {
                "address": "kaspa:qzvedczjpmg0eeg32ly2ztqa3kuz0yvq2qu72rqpl7ddujg8jnezq5rp5etye",
                "amount_kas": 2.59565436,
                "amount_sompi": 259565436
            },
            {
                "address": "kaspa:qqje6ps46n6pvjstupfxgrg6v3pegd22q84jachnfrnz2vh5vznqw8redgln6",
                "amount_kas": 2.59565436,
                "amount_sompi": 259565436
            },
            {
                "address": "kaspa:qqzffjn32q670kat
…(truncated, see openapi.json for full schema)
```

### Network

#### `GET /v1/network` — Live blockDAG state, hashrate, supply

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

**Response:**
```json
{
    "data": {
        "source": "Kaspa",
        "network": "kaspa-mainnet",
        "tip_count": 8,
        "difficulty": 20020037488530896,
        "block_count": 1119140,
        "hashrate_th": 400631.73779149126,
        "header_count": 1119140,
        "percent_mined": 95.7978,
        "pruning_point": "efb6ba82988204c64e1399f45b64e30e3f3ee82b27d3c31085eaac659f6f06f2",
        "max_supply_kas": 28704035604.999996,
        "past_median_time": "2026-06-09T20:22:15.182Z",
        "virtual_daa_score": "456170501",
        "circulating_supply_kas": 27497840063.842094
    },
    "meta": {
        "timestamp": "2026-06-09T20:24:27.535Z",
        "request_id": "e4ea679d-60d9-4d50-b806-06588e869992"
    },
    "status": "ok",
    "message": "Network state retrieved successfully",
    "success": true
}
```


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