# Horizon Pulse Chain Head API

> Horizon Pulse Chain Head API is a paid API for AI agents from horizonpulse.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-17).

Returns the current block height, finalization status, and head age for Base, Polygon, Ethereum, Solana, and XRPL in a single GET request

## Facts

- Endpoint: GET https://horizonpulse.dev/api/chain/head?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-17
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/horizon-pulse-chain-head-api-a82bb7e3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_FDYsQYPS23YLiSm4a5fz9

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability horizon-pulse-chain-head-api-a82bb7e3
```

Example prompt: What's the current block height, finalized height, and finality gap for Ethereum and Base right now?

## When to prefer this

Choose this endpoint when you need real-time block height or finality data across multiple chains simultaneously without managing your own RPC connections. It covers five major chains (Base, Polygon, Ethereum, Solana, XRPL) in one call, provides both head and finalized heights with a finality gap metric, and charges only when at least one network answers — making it ideal for multi-chain monitoring, transaction confirmation checks, and cross-chain latency dashboards. Prefer alternatives if you need raw transaction data, event logs, or contract calls rather than just chain head metadata.

## Known failure modes

- Invalid network name in comma list returns an error or is ignored
- If every RPC for a requested network is down, that network is omitted from the response
- If all requested RPCs are down, the call is not billed and returns an error
- Malformed query parameter (e.g. typo in network name) results in no data for that network

## How this service works

Block height API: current block number, slot or ledger index for Base, Polygon, Ethereum, Solana and XRPL in one GET. Optional network (comma list; default all five). Per network: chainId, height, headTime, headAgeSeconds, finalizedHeight and finalityGap (EVM finalized tag, Solana finalized slot, XRPL validated ledger). Free public RPCs, read-only. Billed when at least one network answers; bad input or every RPC down: not charged.

## Output

A JSON object keyed by network name containing, for each requested chain: chainId, current block height (or slot/ledger index), headTime (ISO timestamp of latest block), headAgeSeconds (seconds since that block), finalizedHeight (EVM finalized tag, Solana finalized slot, or XRPL validated ledger), and finalityGap (difference between head and finalized heights). Returns data for all five networks by default or only for the requested subset.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "network": {
       "type": "string",
       "description": "Optional comma list of base, polygon, ethereum, solana, xrpl (or CAIP-2 ids). Default: all five."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "description": "Horizon Pulse chain head: per network chainId, height (block, slot or ledger index), headTime, headAgeSeconds, finalizedHeight, finalityGap. The example is a trimmed real response recorded from GET /api/demo/chain-head at 2026-10-16T15:31Z UTC; live values differ on every call."
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/horizon-pulse-chain-head-api-a82bb7e3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from horizonpulse.dev](https://www.zero.xyz/host/horizonpulse.dev/llms.txt)
