# TAC API
> Live TAC on-chain data via Blockscout. TAC is the TON Application Chain, an EVM layer that brings Ethereum apps to the TON ecosystem; gas and balances are in TAC. Network stats, gas prices, latest blocks, a block by height or hash, address detail with TAC 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/tac-api/..."
```

## Pricing
- **Free** (Free) — 1,900 calls/Mo, 1 req/s
- **Basic** ($14/Mo) — 82,500 calls/Mo, 10 req/s
- **Pro** ($42/Mo) — 560,000 calls/Mo, 20 req/s
- **Mega** ($131/Mo) — 2,850,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/tac-api/v1/gas"
```

**Response:**
```json
{
    "data": {
        "fast": 436.08,
        "slow": 436.08,
        "unit": "gwei",
        "average": 436.08,
        "gas_used_today": "692057268"
    },
    "meta": {
        "timestamp": "2026-06-08T09:50:19.606Z",
        "request_id": "d895a915-b239-42bb-a0c7-fbb14d573311"
    },
    "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/tac-api/v1/stats"
```

**Response:**
```json
{
    "data": {
        "tvl_usd": null,
        "gas_prices": {
            "fast": 436.08,
            "slow": 436.08,
            "average": 436.08
        },
        "total_blocks": 20564063,
        "coin_price_usd": null,
        "gas_used_today": "692057268",
        "market_cap_usd": 0,
        "total_addresses": "464461",
        "total_transactions": "1964205",
        "transactions_today": "3844",
        "network_utilization_percent": 0.0011392222222222222
    },
    "meta": {
        "timestamp": "2026-06-08T09:50:19.729Z",
        "request_id": "55e2d6fa-d4fb-4fc6-9310-555e514adb70"
    },
    "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: `20553953`
- `hash` (query, optional, string) — Block hash

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

**Response:**
```json
{
    "data": {
        "block": {
            "hash": "0x6248828e6f291d922ff1d8716e30bd2ca39834b32269f43cc783d131154bc62e",
            "size": 3595,
            "miner": "0xdE368e7639711d23Ee245774BE913659dDEdFBCb",
            "height": 20553953,
            "gas_used": 500000,
            "tx_count": 1,
            "gas_limit": 90000000,
            "timestamp": "2026-06-08T03:35:14.000000Z",
            "burnt_fees": "200000000000000000",
            "difficulty": "0",
            "base_fee_per_gas": "400000000000"
        }
    },
    "meta": {
        "timestamp": "2026-06-08T09:50:19.902Z",
        "request_id": "7bd6f192-be80-4df5-a3e7-b6ad76a3e60d"
    },
    "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/tac-api/v1/blocks"
```

**Response:**
```json
{
    "data": {
        "count": 50,
        "blocks": [
            {
                "hash": "0xfe25370e72efb7a1426fda45ae3d573f5f2d5e9dda480bcc68389ab9b9fdc0da",
                "size": 2598,
                "miner": "0x5E24B0b8fCF7359E56F911C4A1279AFc20c59D4C",
                "height": 20568084,
                "gas_used": 0,
                "tx_count": 0,
                "gas_limit": 90000000,
                "timestamp": "2026-06-08T09:50:17.000000Z",
                "burnt_fees": "0",
                "difficulty": "0",
                "base_fee_per_gas": "400000000000"
            },
            {
                "hash": "0xb58fba9f05fe12907252a1c11907084cf9ff9f839f5d3c7bb277eaa35c0fa3c8",
                "size": 2616,
                "miner": "0xA93208fEdD97DBd4224A3dF6039a6829B86F1a88",
                "height": 20568083,
                "gas_used": 0,
                "tx_count": 0,
                "gas_limit": 90000000,
                "timestamp": "2026-06-08T09:50:15.000000Z",
                "burnt_fees": "0",
                "difficulty": "0",
                "base_fee_per_gas": "400000000000"
            },
            {
                "hash": "0xf8a9d502f92364c4184a84036dcc566efa0521bb3084a7957db22615fb2a3d32",
                "size": 2601,
                "miner": "0xCd4c8148eCEc39D785baa2E3298d53c2898c3417",
                "height": 20568082,
                "gas_used": 0,
                "tx_count": 0,
                "gas_limit": 90000000,
             
…(truncated, see openapi.json for full schema)
```

### Accounts

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

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

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

**Response:**
```json
{
    "data": {
        "address": {
            "ens": null,
            "hash": "0xAF988C3f7CB2AceAbB15f96b19388a259b6C438f",
            "name": "CrossChainLayerERC20",
            "token": {
                "name": "Tether USD",
                "type": "ERC-20",
                "symbol": "USD₮"
            },
            "creator": "0x6BE421FEf556c41170Cd3F652ee469837409AAF5",
            "balance_tac": 0,
            "balance_wei": "0",
            "is_contract": true,
            "is_verified": true
        }
    },
    "meta": {
        "timestamp": "2026-06-08T09:50:21.156Z",
        "request_id": "ce6f6b06-53c6-496b-9d59-72a4159561fc"
    },
    "status": "ok",
    "message": "Address retrieved successfully",
    "success": true
}
```

### Transactions

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

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

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

**Response:**
```json
{
    "data": {
        "transaction": {
            "to": "0x368eE51E47a594fe1E9908b48228748a30BC7ca4",
            "from": "0xd11aB3573eEaeFd22765e4272202feeDE2cE334c",
            "hash": "0x7e797293bb8707eabd9ef87d7061dc33d49de088579d86a861528d62029f3734",
            "type": 2,
            "block": 20553953,
            "nonce": 71576,
            "method": "updateDataFeedsValuesPartial",
            "status": "ok",
            "fee_tac": 0.225,
            "fee_wei": "225000000000000000",
            "gas_used": 500000,
            "gas_price": "450000000000",
            "timestamp": "2026-06-08T03:35:14.000000Z",
            "value_tac": 0,
            "value_wei": "0",
            "confirmations": 14132
        }
    },
    "meta": {
        "timestamp": "2026-06-08T09:50:21.737Z",
        "request_id": "6ae50199-bdae-4b8d-b925-5581d98531c8"
    },
    "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: `0xAF988C3f7CB2AceAbB15f96b19388a259b6C438f`

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

**Response:**
```json
{
    "data": {
        "token": {
            "icon": "https://meta.tac.build/ft/image/0xAF988C3f7CB2AceAbB15f96b19388a259b6C438f",
            "name": "Tether USD",
            "type": "ERC-20",
            "symbol": "USD₮",
            "holders": null,
            "decimals": 6,
            "total_supply": "2428428276400",
            "exchange_rate_usd": null,
            "circulating_market_cap": null
        }
    },
    "meta": {
        "timestamp": "2026-06-08T09:50:21.898Z",
        "request_id": "2eeef217-7d32-47d5-8986-60c275496759"
    },
    "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/tac-api/v1/search?q=USD"
```

**Response:**
```json
{
    "data": {
        "count": 46,
        "query": "USD",
        "results": [
            {
                "name": "Tether USD",
                "type": "token",
                "symbol": "USD₮",
                "address": "0xAF988C3f7CB2AceAbB15f96b19388a259b6C438f"
            },
            {
                "name": "Resolv USD",
                "type": "token",
                "symbol": "USR",
                "address": "0xb1b385542B6E80F77B94393Ba8342c3Af699f15c"
            },
            {
                "name": "USD0 Liquid Bond",
                "type": "token",
                "symbol": "USD0++",
                "address": "0x1791BAff6a5e2F2A1340e8B7C1EA2B0c1E2DD1ea"
            },
            {
                "name": "Parallel USDp",
                "type": "token",
                "symbol": "USDP",
                "address": "0x4DeF531c3060686948f00EcC7504f2E0b71EDa14"
            },
            {
                "name": "Re7 USDT",
                "type": "token",
                "symbol": "Re7USDT",
                "address": "0x4183Bd253Dc1918A04Bd8a8dD546BaAD58898109"
            },
            {
                "name": "Edge UltraYield USDT",
                "type": "token",
                "symbol": "edgeUSDT",
                "address": "0x9A057627f023f5C37Ebc6E7959720848968d7a43"
            },
            {
                "name": "Usual Invested USD0++ in TAC",
                "type": "token",
                "symbol": "uTAC++",
                
…(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/tac-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "service": "tac-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 TAC 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. TAC is the TON Application Chain, an EVM layer bringing Ethereum apps to the TON ecosystem; gas and balances are in TAC. Real on-chain data, no key."
    },
    "meta": {
        "timestamp": "2026-06-08T09:50:22.413Z",
        "request_id": "a248a0bd-5cde-4daa-bb0f-3549affd0f1f"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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