Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions components/NetworksTable.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ const FIELDS = [
{ key: 'lcd', label: 'API (Cosmos LCD - REST)', code: true },
{ key: 'explorer', label: 'Explorer', code: true },
{ key: 'faucet', label: 'Faucet', code: true },
{ key: 'archive_rpc', label: 'Archive RPC (full history)', code: true },
{ key: 'archive_lcd', label: 'Archive API (Cosmos LCD - REST)', code: true },
{ key: 'archive_grpc', label: 'Archive gRPC', code: true },
]

const NETWORK_KEYS = Object.keys(manifest.networks)
Expand Down
53 changes: 52 additions & 1 deletion pages/consume/rpc-grpc.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Accessing Allora Data Through RPC
description: In addition to the Allora API, you can also access Allora network data directly through RPC (Remote Procedure Call) endpoints.
persona: App developer
verified_against: docs content as of 2026-07-16; examples live in snippets/ and are executed against the live testnet LCD (emissions/v10) by the nightly snippet run, last locally on 2026-08-02
verified_against: docs content as of 2026-07-16; examples live in snippets/ and are executed against the live testnet LCD (emissions/v10) by the nightly snippet run, last locally on 2026-08-02; mainnet archive endpoints probed live on 2026-09-08
last_reviewed: 2026-08-19
---

Expand All @@ -29,8 +29,59 @@ Each network uses a different RPC URL and Chain ID which are needed to specify w
- **LCD URL** (Cosmos SDK REST): `https://allora-api.testnet.allora.network/`
- **Chain ID**: `allora-testnet-1`

The hostnames `rpc.testnet.allora.network`, `api.testnet.allora.network` and `grpc.testnet.allora.network` are extra aliases of these live (tip) endpoints.

See [Networks](/reference/networks) for the current endpoints of every network, including the versioned `emissions` namespace each one serves.

### Mainnet

The live (tip) mainnet endpoints are `allora-rpc.mainnet.allora.network`, `allora-api.mainnet.allora.network` and `allora-grpc.mainnet.allora.network`. The hostnames `rpc.allora.network`, `api.allora.network` and `grpc.allora.network` are extra aliases of the same live endpoints — no chain in the name means mainnet.

### Mainnet archive (full history)

Mainnet also has a set of **archive** endpoints that serve the complete chain history from block 1, for integrators that need to look up an old block or transaction rather than follow the tip of the chain. The Chain ID is the same as the rest of mainnet: `allora-mainnet-1`.

| Surface | URL |
|---------|-----|
| **RPC** (CometBFT) | <Code><NetworkValue network="mainnet" field="archive_rpc"/></Code> |
| **LCD** (Cosmos SDK REST) | <Code><NetworkValue network="mainnet" field="archive_lcd"/></Code> |
| **gRPC** | <Code><NetworkValue network="mainnet" field="archive_grpc"/></Code> |

All three are HTTPS on port 443, gRPC included (TLS with SNI) — there are no backend ports to connect to.

These endpoints are **query-only**. Everything that writes to the chain, plus the indexer-backed search methods, is refused:

- **RPC**: `broadcast_tx_*`, `check_tx`, `tx_search`, `block_search`, `dial_*`, `unsafe_*`, `/websocket` and `subscribe*`
- **LCD**: `POST`, which covers broadcast and simulate
- **gRPC**: write methods such as `BroadcastTx`

To broadcast a transaction, or to search for one by event, use the regular mainnet endpoints in [Networks](/reference/networks) instead.

**Examples.** Read the first block over RPC, and a transaction by hash over the LCD:

```bash
curl 'https://rpc.archive.allora.network/block?height=1'
curl https://api.archive.allora.network/cosmos/tx/v1beta1/txs/<TX_HASH>
```

The first request returns the genesis block of `allora-mainnet-1`, hash `3F3F8473FD7AE262A3D085D7F4D88F9F4295944A1432A9FFF88D9DAFC2E081C3` — a cheap way to confirm you are talking to a full archive rather than a pruned node, which answers `height 1 is not available` instead.

Requests are rate limited per source IP; retry with backoff when you are limited:

| Surface | Paths or methods | Rate | Burst |
|---------|------------------|------|-------|
| **RPC** | `/`, `/status`, `/health`, `/abci_info` | 50/s | 100 |
| **RPC** | `/block`, `/block_results`, `/commit`, `/header` | 20/s | 40 |
| **RPC** | `/tx`, `/block_by_hash`, `/header_by_hash` | 20/s | 40 |
| **RPC** | `/validators`, `/consensus_params` | 10/s | 20 |
| **RPC** | `/genesis`, `/genesis_chunked` | 5/s | 10 |
| **LCD** | `/cosmos/tx/v1beta1/txs/**` and the module query prefixes | 20/s | 40 |
| **gRPC** | allow-listed `Query`/`Get*` methods | no limit | — |

<Callout type="info">
There is no public archive endpoint on testnet yet. When one lands, its history will begin at block 600,001 rather than at genesis, so it will not answer for earlier testnet blocks.
</Callout>

## RPC Endpoints for Consumers

The following RPC methods are particularly useful for consumers looking to access inference data from the Allora network:
Expand Down
19 changes: 18 additions & 1 deletion pages/reference/networks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Networks
description: Chain IDs, endpoints, and the currently deployed allora-chain version for each Allora network.
persona: Builder or operator
verified_against: live abci_info and cosmos/upgrade applied_plan on both networks, 2026-08-19
verified_against: live abci_info and cosmos/upgrade applied_plan on both networks, 2026-08-19; mainnet archive rpc/api/grpc probed live 2026-09-08
last_reviewed: 2026-08-19
---

Expand Down Expand Up @@ -49,6 +49,23 @@ before they ship to mainnet. For wallet creation and faucet funding, see

Mainnet has no faucet — fund addresses with ALLO yourself.

The **archive** endpoints serve the complete chain history from block 1 and are **query-only**: no
transaction broadcast, and no `tx_search` or `block_search`. They exist for historical lookups by
exchanges and integrators — for tip-of-chain reads and for submitting transactions, use the regular
mainnet endpoints above. See [RPC JSON Data Access](/consume/rpc-grpc) for the deny list and rate
limits.

The hostnames `rpc.allora.network`, `api.allora.network` and `grpc.allora.network` are extra aliases
of the live (tip) mainnet endpoints — no chain in the name means mainnet. On testnet,
`rpc.testnet.allora.network`, `api.testnet.allora.network` and `grpc.testnet.allora.network` alias
the live testnet endpoints. They are not archive hosts.

<Callout type="info">
Testnet has no public archive endpoint yet, which is why the testnet column has no archive rows filled
in. When one lands, its history will begin at **block 600,001** rather than at genesis — it will not
answer for earlier testnet blocks.
</Callout>

<Callout type="info">
The `emissions` API version segment is per-network — always pick the one matching the network you are
querying: <Code><NetworkValue network="testnet" field="emissions_namespace"/></Code> on testnet and
Expand Down
6 changes: 6 additions & 0 deletions public/api/networks.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
"rpc": "CometBFT RPC JSON endpoint.",
"grpc": "Cosmos SDK gRPC endpoint.",
"lcd": "Cosmos SDK LCD (REST) endpoint.",
"archive_rpc": "Full-history CometBFT RPC endpoint, query-only: no tx broadcast, no tx_search/block_search. Omitted on networks that have none.",
"archive_lcd": "Full-history Cosmos SDK LCD (REST) endpoint, query-only: GET queries only, no broadcast or simulate. Omitted on networks that have none.",
"archive_grpc": "Full-history Cosmos SDK gRPC endpoint, query-only: allow-listed Query/Get methods. Omitted on networks that have none.",
"explorer": "Block explorer for this network.",
"faucet": "Testnet-only faucet for ALLO gas. Omitted on networks that have none.",
"sandbox_topic_ids": "Topic IDs on this network that are no-penalty \"playground\" topics: no whitelist required, intended for a first worker submission. The chain exposes no sandbox flag, so this list is declared here and nowhere else — the topics job reads it to mark rows in /api/topics.json, and the docs render it from there.",
Expand Down Expand Up @@ -38,6 +41,9 @@
"rpc": "https://allora-rpc.mainnet.allora.network/",
"grpc": "https://allora-grpc.mainnet.allora.network/",
"lcd": "https://allora-api.mainnet.allora.network/",
"archive_rpc": "https://rpc.archive.allora.network/",
"archive_lcd": "https://api.archive.allora.network/",
"archive_grpc": "https://grpc.archive.allora.network/",
"explorer": "https://explorer.allora.network/",
"sandbox_topic_ids": [],
"abci_version": "HEAD-b6104eda6b2b009ea0714d2f724d53f4f0365fc0"
Expand Down
73 changes: 73 additions & 0 deletions public/llms-full.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5245,8 +5245,57 @@ Each network uses a different RPC URL and Chain ID which are needed to specify w
- **LCD URL** (Cosmos SDK REST): `https://allora-api.testnet.allora.network/`
- **Chain ID**: `allora-testnet-1`

The hostnames `rpc.testnet.allora.network`, `api.testnet.allora.network` and `grpc.testnet.allora.network` are extra aliases of these live (tip) endpoints.

See [Networks](https://docs.allora.network/reference/networks) for the current endpoints of every network, including the versioned `emissions` namespace each one serves.

### Mainnet

The live (tip) mainnet endpoints are `allora-rpc.mainnet.allora.network`, `allora-api.mainnet.allora.network` and `allora-grpc.mainnet.allora.network`. The hostnames `rpc.allora.network`, `api.allora.network` and `grpc.allora.network` are extra aliases of the same live endpoints — no chain in the name means mainnet.

### Mainnet archive (full history)

Mainnet also has a set of **archive** endpoints that serve the complete chain history from block 1, for integrators that need to look up an old block or transaction rather than follow the tip of the chain. The Chain ID is the same as the rest of mainnet: `allora-mainnet-1`.

| Surface | URL |
|---------|-----|
| **RPC** (CometBFT) | `https://rpc.archive.allora.network/` |
| **LCD** (Cosmos SDK REST) | `https://api.archive.allora.network/` |
| **gRPC** | `https://grpc.archive.allora.network/` |

All three are HTTPS on port 443, gRPC included (TLS with SNI) — there are no backend ports to connect to.

These endpoints are **query-only**. Everything that writes to the chain, plus the indexer-backed search methods, is refused:

- **RPC**: `broadcast_tx_*`, `check_tx`, `tx_search`, `block_search`, `dial_*`, `unsafe_*`, `/websocket` and `subscribe*`
- **LCD**: `POST`, which covers broadcast and simulate
- **gRPC**: write methods such as `BroadcastTx`

To broadcast a transaction, or to search for one by event, use the regular mainnet endpoints in [Networks](https://docs.allora.network/reference/networks) instead.

**Examples.** Read the first block over RPC, and a transaction by hash over the LCD:

```bash
curl 'https://rpc.archive.allora.network/block?height=1'
curl https://api.archive.allora.network/cosmos/tx/v1beta1/txs/<TX_HASH>
```

The first request returns the genesis block of `allora-mainnet-1`, hash `3F3F8473FD7AE262A3D085D7F4D88F9F4295944A1432A9FFF88D9DAFC2E081C3` — a cheap way to confirm you are talking to a full archive rather than a pruned node, which answers `height 1 is not available` instead.

Requests are rate limited per source IP; retry with backoff when you are limited:

| Surface | Paths or methods | Rate | Burst |
|---------|------------------|------|-------|
| **RPC** | `/`, `/status`, `/health`, `/abci_info` | 50/s | 100 |
| **RPC** | `/block`, `/block_results`, `/commit`, `/header` | 20/s | 40 |
| **RPC** | `/tx`, `/block_by_hash`, `/header_by_hash` | 20/s | 40 |
| **RPC** | `/validators`, `/consensus_params` | 10/s | 20 |
| **RPC** | `/genesis`, `/genesis_chunked` | 5/s | 10 |
| **LCD** | `/cosmos/tx/v1beta1/txs/**` and the module query prefixes | 20/s | 40 |
| **gRPC** | allow-listed `Query`/`Get*` methods | no limit | — |

There is no public archive endpoint on testnet yet. When one lands, its history will begin at block 600,001 rather than at genesis, so it will not answer for earlier testnet blocks.

## RPC Endpoints for Consumers

The following RPC methods are particularly useful for consumers looking to access inference data from the Allora network:
Expand Down Expand Up @@ -7665,6 +7714,9 @@ serves `emissions/v10`.
| **API (Cosmos LCD - REST)** | `https://allora-api.testnet.allora.network/` | `https://allora-api.mainnet.allora.network/` |
| **Explorer** | `https://explorer.testnet.allora.network/allora-testnet-1` | `https://explorer.allora.network/` |
| **Faucet** | `https://faucet.testnet.allora.network/` | — |
| **Archive RPC (full history)** | — | `https://rpc.archive.allora.network/` |
| **Archive API (Cosmos LCD - REST)** | — | `https://api.archive.allora.network/` |
| **Archive gRPC** | — | `https://grpc.archive.allora.network/` |

The tables on this page are rendered from a machine-readable manifest served at `/api/networks.json`.
Agents and scripts can read the same chain IDs, endpoints, and versions from there instead of scraping
Expand All @@ -7686,6 +7738,9 @@ and the [Release Notes](https://docs.allora.network/reference/release-notes).
- **API (Cosmos LCD - REST)**: `https://allora-api.testnet.allora.network/`
- **Explorer**: `https://explorer.testnet.allora.network/allora-testnet-1`
- **Faucet**: `https://faucet.testnet.allora.network/`
- **Archive RPC (full history)**: —
- **Archive API (Cosmos LCD - REST)**: —
- **Archive gRPC**: —

Use the testnet for building and testing integrations, running workers/reputers, and trying features
before they ship to mainnet. For wallet creation and faucet funding, see
Expand All @@ -7701,9 +7756,27 @@ before they ship to mainnet. For wallet creation and faucet funding, see
- **API (Cosmos LCD - REST)**: `https://allora-api.mainnet.allora.network/`
- **Explorer**: `https://explorer.allora.network/`
- **Faucet**: —
- **Archive RPC (full history)**: `https://rpc.archive.allora.network/`
- **Archive API (Cosmos LCD - REST)**: `https://api.archive.allora.network/`
- **Archive gRPC**: `https://grpc.archive.allora.network/`

Mainnet has no faucet — fund addresses with ALLO yourself.

The **archive** endpoints serve the complete chain history from block 1 and are **query-only**: no
transaction broadcast, and no `tx_search` or `block_search`. They exist for historical lookups by
exchanges and integrators — for tip-of-chain reads and for submitting transactions, use the regular
mainnet endpoints above. See [RPC JSON Data Access](https://docs.allora.network/consume/rpc-grpc) for the deny list and rate
limits.

The hostnames `rpc.allora.network`, `api.allora.network` and `grpc.allora.network` are extra aliases
of the live (tip) mainnet endpoints — no chain in the name means mainnet. On testnet,
`rpc.testnet.allora.network`, `api.testnet.allora.network` and `grpc.testnet.allora.network` alias
the live testnet endpoints. They are not archive hosts.

Testnet has no public archive endpoint yet, which is why the testnet column has no archive rows filled
in. When one lands, its history will begin at **block 600,001** rather than at genesis — it will not
answer for earlier testnet blocks.

The `emissions` API version segment is per-network — always pick the one matching the network you are
querying: `emissions/v10` on testnet and
`emissions/v10` on mainnet. Since v0.17.0 these
Expand Down
51 changes: 50 additions & 1 deletion public/raw/consume/rpc-grpc.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Accessing Allora Data Through RPC
description: In addition to the Allora API, you can also access Allora network data directly through RPC (Remote Procedure Call) endpoints.
persona: App developer
verified_against: docs content as of 2026-07-16; examples live in snippets/ and are executed against the live testnet LCD (emissions/v10) by the nightly snippet run, last locally on 2026-08-02
verified_against: docs content as of 2026-07-16; examples live in snippets/ and are executed against the live testnet LCD (emissions/v10) by the nightly snippet run, last locally on 2026-08-02; mainnet archive endpoints probed live on 2026-09-08
last_reviewed: 2026-08-19
---

Expand All @@ -26,8 +26,57 @@ Each network uses a different RPC URL and Chain ID which are needed to specify w
- **LCD URL** (Cosmos SDK REST): `https://allora-api.testnet.allora.network/`
- **Chain ID**: `allora-testnet-1`

The hostnames `rpc.testnet.allora.network`, `api.testnet.allora.network` and `grpc.testnet.allora.network` are extra aliases of these live (tip) endpoints.

@cubic-dev-ai cubic-dev-ai Bot Sep 9, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: The added testnet alias line lists grpc.testnet.allora.network as an alias of "these live (tip) endpoints", but the testnet block directly above only documents the RPC URL and LCD URL, never the gRPC URL. The gRPC endpoint does exist (https://allora-grpc.testnet.allora.network/, per networks.json) but is not listed in this section. Add the gRPC URL to the testnet block so the alias sentence refers to endpoints that are actually listed.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At public/raw/consume/rpc-grpc.md, line 29:

<comment>The added testnet alias line lists `grpc.testnet.allora.network` as an alias of "these live (tip) endpoints", but the testnet block directly above only documents the RPC URL and LCD URL, never the gRPC URL. The gRPC endpoint does exist (`https://allora-grpc.testnet.allora.network/`, per networks.json) but is not listed in this section. Add the gRPC URL to the testnet block so the alias sentence refers to endpoints that are actually listed.</comment>

<file context>
@@ -26,8 +26,14 @@ Each network uses a different RPC URL and Chain ID which are needed to specify w
 - **LCD URL** (Cosmos SDK REST): `https://allora-api.testnet.allora.network/`
 - **Chain ID**: `allora-testnet-1`
 
+The hostnames `rpc.testnet.allora.network`, `api.testnet.allora.network` and `grpc.testnet.allora.network` are extra aliases of these live (tip) endpoints.
+
 See [Networks](https://docs.allora.network/reference/networks) for the current endpoints of every network, including the versioned `emissions` namespace each one serves.
</file context>
Fix with cubic

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Valid as a docs nit (testnet gRPC is allora-grpc.testnet.allora.network and was omitted from the bullet list). Holding the edit until we settle the api.allora.network collision — that is the real issue on this PR.


See [Networks](https://docs.allora.network/reference/networks) for the current endpoints of every network, including the versioned `emissions` namespace each one serves.

### Mainnet

The live (tip) mainnet endpoints are `allora-rpc.mainnet.allora.network`, `allora-api.mainnet.allora.network` and `allora-grpc.mainnet.allora.network`. The hostnames `rpc.allora.network`, `api.allora.network` and `grpc.allora.network` are extra aliases of the same live endpoints — no chain in the name means mainnet.

### Mainnet archive (full history)

Mainnet also has a set of **archive** endpoints that serve the complete chain history from block 1, for integrators that need to look up an old block or transaction rather than follow the tip of the chain. The Chain ID is the same as the rest of mainnet: `allora-mainnet-1`.

| Surface | URL |
|---------|-----|
| **RPC** (CometBFT) | `https://rpc.archive.allora.network/` |
| **LCD** (Cosmos SDK REST) | `https://api.archive.allora.network/` |
| **gRPC** | `https://grpc.archive.allora.network/` |

All three are HTTPS on port 443, gRPC included (TLS with SNI) — there are no backend ports to connect to.

These endpoints are **query-only**. Everything that writes to the chain, plus the indexer-backed search methods, is refused:

- **RPC**: `broadcast_tx_*`, `check_tx`, `tx_search`, `block_search`, `dial_*`, `unsafe_*`, `/websocket` and `subscribe*`
- **LCD**: `POST`, which covers broadcast and simulate
- **gRPC**: write methods such as `BroadcastTx`

To broadcast a transaction, or to search for one by event, use the regular mainnet endpoints in [Networks](https://docs.allora.network/reference/networks) instead.

**Examples.** Read the first block over RPC, and a transaction by hash over the LCD:

```bash
curl 'https://rpc.archive.allora.network/block?height=1'
curl https://api.archive.allora.network/cosmos/tx/v1beta1/txs/<TX_HASH>
```

The first request returns the genesis block of `allora-mainnet-1`, hash `3F3F8473FD7AE262A3D085D7F4D88F9F4295944A1432A9FFF88D9DAFC2E081C3` — a cheap way to confirm you are talking to a full archive rather than a pruned node, which answers `height 1 is not available` instead.

Requests are rate limited per source IP; retry with backoff when you are limited:

| Surface | Paths or methods | Rate | Burst |
|---------|------------------|------|-------|
| **RPC** | `/`, `/status`, `/health`, `/abci_info` | 50/s | 100 |
| **RPC** | `/block`, `/block_results`, `/commit`, `/header` | 20/s | 40 |
| **RPC** | `/tx`, `/block_by_hash`, `/header_by_hash` | 20/s | 40 |
| **RPC** | `/validators`, `/consensus_params` | 10/s | 20 |
| **RPC** | `/genesis`, `/genesis_chunked` | 5/s | 10 |
| **LCD** | `/cosmos/tx/v1beta1/txs/**` and the module query prefixes | 20/s | 40 |
| **gRPC** | allow-listed `Query`/`Get*` methods | no limit | — |

There is no public archive endpoint on testnet yet. When one lands, its history will begin at block 600,001 rather than at genesis, so it will not answer for earlier testnet blocks.

## RPC Endpoints for Consumers

The following RPC methods are particularly useful for consumers looking to access inference data from the Allora network:
Expand Down
Loading
Loading