> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bloklake.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Chains

> The chains Bloklake serves, their URLs, and what differs between them.

| Chain | Name in URLs | Chain id | Block time | Final after | Field families | Served from |
| - | - | - | - | - | - | - |
| [Ethereum mainnet](https://docs.bloklake.com/chains/ethereum.md) | `eth` | 1 | 12 s | the finalized checkpoint (\~13 min) | base | genesis |
| [Robinhood Chain](https://docs.bloklake.com/chains/robinhood-chain.md) | `rh` | 4663 | \~100 ms | 64 blocks (\~7 s) | base + Arbitrum | genesis |

## URLs

Each chain answers on two equivalent forms. Use whichever suits your client.

| Form | Ethereum | Robinhood Chain |
| - | - | - |
| Shared hostname, chain in the path | `https://api.bloklake.com/v1/chains/eth` | `https://api.bloklake.com/v1/chains/rh` |
| Hostname per chain | `https://eth.api.bloklake.com` | `https://rh.api.bloklake.com` |

Append the route: `…/query`, `…/query/json`, `…/status`, `…/v1/schema`, `…/v1/sets`,
`…/v1/queries`, `…/v1/account`.

```bash theme={null}
curl -s https://api.bloklake.com/v1/chains/eth/status
curl -s https://rh.api.bloklake.com/v1/schema
```

> [!NOTE]
>
> `api.bloklake.com` without `/v1/chains/<name>` does not pick a chain. It returns `404` with a
> hint to add the chain to the path.

## Keys, billing and limits across chains

* **One API key works on every chain.** You don't need a key per chain.
* **Billing is per project, across chains.** Data from every chain counts toward the same
  pay-as-you-go balance or subscription allowance. The dashboard breaks usage down by chain.
* **The requests-per-second limit counts all chains together.** 10 rps on Standard means 10 per
  second in total, not 10 per chain.
* **The limit on open requests is per chain.** See [Rate limits](https://docs.bloklake.com/production/rate-limits.md).
* **Sets and prepared queries are stored by each chain's server.** Create them on every chain
  you use them on (creating a set is idempotent, so just create it again).

## One client for every chain

Requests and responses have the same shape on every chain. You can select any field on any
chain; a field the chain doesn't have comes back as an all-null column and is listed in
`unavailable_fields`. That way one client and one schema work everywhere. See
[Fields a chain doesn't have](https://docs.bloklake.com/querying/unavailable-fields.md).

## Chain status

The [chain status page](https://dashboard.bloklake.com/chains) shows each chain's latest and
finalized block, the first block served, and which fields it doesn't fill. The same
information is available from the API:

* [`GET /status`](https://docs.bloklake.com/api-reference/status): latest block, finalized block, block range.
* [`GET /v1/schema`](https://docs.bloklake.com/api-reference/schema): every field and whether this chain has it.

Both are free and need no key.

## Asking for another chain

Want a chain we don't serve yet? Email [support@bloklake.com](mailto:support@bloklake.com)
with the chain and what you'd use it for.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.