# Tezos (XTZ) On-Chain API
> Live on-chain data from the Tezos blockchain (XTZ), a self-amending liquid-proof-of-stake Layer 1, served from the public TzKT indexer API — no key, nothing cached. The account endpoint returns any address's state: its XTZ balance, account type, the baker it delegates to, its staked balance, transaction count and first-activity date. The tokens endpoint returns the FA1.2 and FA2 token balances an address holds, with the token contract, symbol and decoded amount. The operations endpoint returns the account's most recent transactions with the counterparty, amount, status and time. The network endpoint returns the live chain state: the head block level, the current cycle, the active protocol and the total XTZ supply. Everything is read live from TzKT, nothing stored. This is the Tezos on-chain layer for any wallet, explorer, baking, NFT or analytics app. Distinct from the XRP Ledger, Stellar, TRON, Aptos, Algorand, EVM and Solana on-chain APIs and from price feeds — this is Tezos account state, delegation, token balances, operations and ledger health. 4 endpoints, no key on our side.

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

## Pricing
- **Free** (Free) — 3,800 calls/Mo, 5 req/s
- **Starter** ($13/Mo) — 98,000 calls/Mo, 12 req/s
- **Pro** ($30/Mo) — 590,000 calls/Mo, 30 req/s
- **Mega** ($71/Mo) — 3,100,000 calls/Mo, 80 req/s

## Endpoints

### Tezos

#### `GET /v1/account` — An address state + delegation

**Parameters:**
- `address` (query, required, string) — Tezos address (tz1/tz2/tz3/KT1) Example: `tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU`

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

**Response:**
```json
{
    "data": {
        "type": "user",
        "source": "Tezos (TzKT)",
        "address": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
        "delegate": null,
        "xtz_balance": 534853.889891,
        "last_activity": "2026-06-09T20:21:40Z",
        "first_activity": "2018-06-30T17:39:57Z",
        "staked_balance": 0,
        "num_activations": 0,
        "num_transactions": 220837
    },
    "meta": {
        "timestamp": "2026-06-09T20:24:40.010Z",
        "request_id": "56e3f5e5-89b5-4c46-ae84-8dd9ae59044a"
    },
    "status": "ok",
    "message": "Account retrieved successfully",
    "success": true
}
```

#### `GET /v1/network` — Live Tezos chain state

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

**Response:**
```json
{
    "data": {
        "chain": "mainnet",
        "cycle": 1258,
        "level": 13570281,
        "source": "Tezos (TzKT)",
        "protocol": "PtTALLiNtPec7mE7yY4m3k26J8Qukef3E3ehzhfXgFZKGtDdAXu",
        "timestamp": "2026-06-09T20:24:34Z",
        "total_frozen_xtz": 329050344.089066,
        "total_supply_xtz": 1107384845.842752,
        "circulating_supply_xtz": 1087399190.82335
    },
    "meta": {
        "timestamp": "2026-06-09T20:24:40.259Z",
        "request_id": "fab53393-ef05-43a5-b6b4-4ceef9ff330d"
    },
    "status": "ok",
    "message": "Network state retrieved successfully",
    "success": true
}
```

#### `GET /v1/operations` — Recent transactions

**Parameters:**
- `address` (query, required, string) — Tezos address Example: `tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU`
- `limit` (query, optional, string) — Max operations (1-100, default 20) Example: `10`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/tezos-api/v1/operations?address=tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU&limit=10"
```

**Response:**
```json
{
    "data": {
        "count": 10,
        "source": "Tezos (TzKT)",
        "address": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
        "operations": [
            {
                "hash": "onee1V3TBTViQFoa6jPfTHT8TAB7jyCt6z4ewQnbFF1uPuRpJcf",
                "time": "2026-06-09T20:21:40Z",
                "type": "transaction",
                "level": 13570252,
                "sender": "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5",
                "status": "applied",
                "target": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
                "amount_xtz": 3.841967
            },
            {
                "hash": "op2khzKAY6ywXpFN5U4sSQi1P2eLqmtKGL1uQgFbZ5Lpxj4kkQk",
                "time": "2026-06-09T20:14:55Z",
                "type": "transaction",
                "level": 13570186,
                "sender": "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5",
                "status": "applied",
                "target": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
                "amount_xtz": 0.021528
            },
            {
                "hash": "opBXK7p6L5YPrY7npwDGDD7dxhuQjytJCJLTAfvX7SJ4RZWJm44",
                "time": "2026-06-09T20:00:52Z",
                "type": "transaction",
                "level": 13570047,
                "sender": "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5",
                "status": "applied",
                "target": "tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU",
                "amount_xtz": 0.05131
            },
            {
                "ha
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/tokens` — FA1.2/FA2 token balances

**Parameters:**
- `address` (query, required, string) — Tezos address Example: `tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU`
- `limit` (query, optional, string) — Max tokens (1-100, default 30) Example: `10`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/tezos-api/v1/tokens?address=tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU&limit=10"
```

**Response:**
```json
{
    "data": {
        "source": "Tezos (TzKT)",
        "tokens": [
            {
                "name": "Tezos staking reward campaign",
                "symbol": "You won 1000 Tezos!",
                "balance": 1000,
                "contract": "KT18j785rB3G4wXxEpqwwG2hJ2iZrjLAbeo7",
                "decimals": 18,
                "standard": "fa2",
                "token_id": "0"
            },
            {
                "name": "Anger",
                "symbol": "ANG",
                "balance": 54.82992009,
                "contract": "KT1KdV9rehYa7qM5wuNKm6verqYhSi17kRch",
                "decimals": 9,
                "standard": "fa2",
                "token_id": "0"
            },
            {
                "name": "Kolibri DAO",
                "symbol": "kdao.app",
                "balance": 48000,
                "contract": "KT1LrmBr6fgM2eFSNLRJm4H17gAxVXJH2FCB",
                "decimals": 6,
                "standard": "fa1.2",
                "token_id": "0"
            },
            {
                "name": "Kolibri DAO",
                "symbol": "kdao.app",
                "balance": 24000,
                "contract": "KT1WKtfmeZUXUDT2wzsx4DYNF9LSbMijnxNn",
                "decimals": 6,
                "standard": "fa1.2",
                "token_id": "0"
            },
            {
                "name": "Everstake.app",
                "symbol": "STKR",
                "balance": 24000,
                "contract": "KT1DDgiZ5bS6pfnNL8wwXdszXZ
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Spec

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

**Response:**
```json
{
    "data": {
        "source": "TzKT public indexer API (live)",
        "service": "tezos-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/tokens": "An address's FA1.2/FA2 token balances (address=, limit).",
            "GET /v1/account": "An address's state + delegation (address=tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU).",
            "GET /v1/network": "Live Tezos chain state: head level, cycle, protocol, total supply.",
            "GET /v1/operations": "An address's recent transactions (address=, limit)."
        },
        "head_level": 13570281,
        "description": "Live on-chain data from the Tezos blockchain (XTZ) via the public TzKT indexer: any address's state (XTZ balance, type, the baker it delegates to, staked balance, transaction count, first/last activity); its FA1.2 and FA2 token balances with contract, symbol and decoded amount; its recent transactions (counterparty, amount, status, time); and the live chain state (head level, cycle, protocol, total XTZ supply). Live, no key, nothing stored. Distinct from the XRP Ledger, Stellar, TRON, Aptos, Algorand, EVM and Solana on-chain APIs and from price feeds — this is Tezos account state, delegation, token balances, operations and ledger health.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-09T20:24:40.867Z",
        "request_id": "7b90dabe-a416-4d8f-8969-68dd0dc78556"
    },
    "status": "ok",
    "message": "Meta",
    "suc
…(truncated, see openapi.json for full schema)
```


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