HCS-20 API

Public REST API for querying HCS-20 analytics. All endpoints support CORS and include CDN caching for high availability.

Base URL

https://hol.org/points/api/hcs20

No Authentication

All endpoints are publicly accessible without API keys.

CORS Enabled

Call directly from browser applications.

CDN Cached

Responses cached for high availability.

Endpoints

GET/hcs20/account/{accountId}

Returns all HCS-20 tick balances for a specific Hedera account ID.

Cached for 60 seconds

Parameters

NameTypeDescription
accountId*stringHedera account ID (e.g., 0.0.123456)

Response

{
  "success": true,
  "accountId": "0.0.123456",
  "balances": [
    {
      "tick": "hol",
      "topic": "0.0.7159077",
      "balance": 15000,
      "holder": "0.0.123456"
    }
  ],
  "count": 1
}
GET/hcs20/stats

Returns aggregate statistics for the entire HCS-20 ecosystem.

Cached for 5 minutes

Response

{
  "success": true,
  "data": {
    "totalTicks": 245,
    "totalMints": 1500000,
    "totalBurns": 50000,
    "totalTransfers": 750000,
    "totalHolders": 12500
  },
  "timestamp": "2026-01-03T15:30:00.000Z"
}
GET/hcs20

Returns an array of all HCS-20 ticks with their metadata.

Cached for 2 minutes

Response

[
  {
    "tick": "hol",
    "topic": "0.0.7159077",
    "maxSupply": 10000000000,
    "decimals": 8,
    "memo": "HOL Points Token",
    "holders": 5000,
    "mints": 150000,
    "_created_at": "2024-01-15T10:00:00.000Z"
  }
]
GET/hcs20/ecosystem-stats

Returns top ticks ranked by holders and mints.

Cached for 5 minutes

Response

{
  "topTicksByHolders": [
    { "tick": "hol", "holderCount": 5000 },
    { "tick": "hordi", "holderCount": 3500 }
  ],
  "topTicksByMints": [
    { "tick": "hol", "mintCount": 150000 },
    { "tick": "hordi", "mintCount": 85000 }
  ]
}
GET/hcs20/holders

Returns paginated list of token holders for a specific token.

Cached for 60 seconds

Parameters

NameTypeDescription
tick*stringToken ticker symbol
topic*stringHCS topic ID
pagenumberPage number (default: 1)
pageSizenumberResults per page (default: 25)

Response

{
  "holders": [
    {
      "holderId": "0.0.123456",
      "balance": 15000,
      "tick": "hol",
      "topic": "0.0.7159077"
    }
  ]
}
GET/hcs20/transactions

Returns recent transactions (mints, burns, transfers) for the ecosystem or a specific token.

Cached for 30 seconds

Parameters

NameTypeDescription
tickstringFilter by token ticker (optional)
topicstringHCS topic ID (required if tick is provided)
pageSizenumberResults per type (default: 25)

Response

{
  "mints": [...],
  "burns": [...],
  "transfers": [...],
  "totalMints": 150000,
  "totalBurns": 5000,
  "totalTransfers": 75000
}

Rate Limits & Caching

These public APIs are designed for high availability. Responses are cached at the CDN edge to ensure fast response times and protect against traffic spikes.

  • Account balances: 60 second cache
  • Token lists: 2 minute cache
  • Ecosystem stats: 5 minute cache
  • Transactions: 30 second cache