Conversation
DEVOP-776. Add the query-only archive hostname contract. DNS is not published yet; do not treat these URLs as live.
Adds archive_rpc, archive_lcd and archive_grpc to the mainnet entry of the networks manifest, with field notes, and surfaces them in the networks table. The presentation allow-list in NetworksTable and its asserted mirror in scripts/lib/docsPages.js both have to know about a key before it renders. Testnet deliberately gets no archive fields: it has no public archive endpoint yet, and when it lands its history will start at block 600001 rather than genesis. The networks reference page says so, so nobody reads "archive" as "full history" for both networks. Replaces the unreachable pages/devs/consumers/rpc-data-access.mdx with content on the live /consume/rpc-grpc page. That file had no frontmatter, so it failed the frontmatter check and broke the build, and next.config.js permanently redirects its route anyway, so it could never render. The redirect stays for old inbound links. The useful material carries over refreshed: the archive endpoint table, the query-only deny list, rate limits and the block-1 and tx-by-hash examples, minus the dead Ankr URL and the pre-v0.17.0 API shapes.
✅ Deploy Preview for alloradocs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
cubic analysis
All reported issues were addressed across 8 files
Linked issue analysis
Linked issue: DEVOP-776: Public full-history (archive) RPC + API endpoint for exchanges on mainnet
| Status | Acceptance criteria | Notes |
|---|---|---|
| ✅ | List the mainnet archive endpoints in `/api/networks.json` and the networks reference page. | The manifest and generated networks reference content include archive RPC, LCD, and gRPC endpoints for mainnet, with testnet fields intentionally omitted. |
Architecture diagram
sequenceDiagram
participant Dev as Developer/Integrator
participant Docs as Allora Docs Site
participant Manifest as networks.json
participant Table as NetworksTable.js
participant Gen as Generation Scripts
participant ArchRPC as Archive RPC (rpc.archive.allora.network)
participant ArchLCD as Archive LCD (api.archive.allora.network)
participant ArchGRPC as Archive gRPC (grpc.archive.allora.network)
participant LiveRPC as Live Mainnet RPC/LCD
Note over Manifest,Gen: Content pipeline
Manifest->>Gen: Reads network fields
Gen->>Table: NETWORK_FIELDS mirror check
Gen->>Docs: Generates /api/networks.json + pages
Docs->>Dev: Serves reference + RPC docs pages
Note over Dev,ArchRPC: Archive endpoint usage (happy path)
Dev->>ArchRPC: GET /block?height=1
ArchRPC-->>Dev: Genesis block (full history)
Dev->>ArchLCD: GET /cosmos/tx/v1beta1/txs/{hash}
ArchLCD-->>Dev: Transaction details
Dev->>ArchGRPC: Query/Get* methods
ArchGRPC-->>Dev: Historical data
Note over ArchRPC,ArchGRPC: Query-only enforcement
alt Write or search attempt
Dev->>ArchRPC: broadcast_tx_* / tx_search
ArchRPC-->>Dev: 403/refused
Dev->>ArchLCD: POST (broadcast/simulate)
ArchLCD-->>Dev: 403/refused
Dev->>ArchGRPC: BroadcastTx
ArchGRPC-->>Dev: Refused
Note over Dev,LiveRPC: Redirect to live endpoints
Dev->>LiveRPC: Broadcast/search on live mainnet
else Rate limiting
Dev->>ArchRPC: High-frequency queries
ArchRPC-->>Dev: 429 (per-IP rate limit)
Dev->>ArchRPC: Retry with backoff
end
Note over Dev,Docs: Testnet boundary
Dev->>Docs: Checks testnet archive availability
Docs-->>Dev: No archive fields (not available)
Note over Docs: Testnet history starts at block 600001, not genesis
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
rpc/api/grpc.allora.network alias live mainnet; rpc/api/grpc.testnet.allora.network alias live testnet. They are not archive hosts. Leave networks.json canonical URLs unchanged.
There was a problem hiding this comment.
2 issues found across 5 files (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="public/raw/consume/rpc-grpc.md">
<violation number="1" location="public/raw/consume/rpc-grpc.md:29">
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.</violation>
</file>
<file name="public/raw/reference/networks.md">
<violation number="1" location="public/raw/reference/networks.md:83">
P2: The new alias list misidentifies `api.allora.network` as the mainnet Cosmos LCD endpoint. That hostname is documented and used throughout the repository for the API-key-authenticated Allora inference API, so readers may send LCD requests or credentials to the wrong service; list only the actual RPC/gRPC aliases here, or document the LCD alias only after confirming it does not conflict with the hosted API.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
| 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 |
There was a problem hiding this comment.
P2: The new alias list misidentifies api.allora.network as the mainnet Cosmos LCD endpoint. That hostname is documented and used throughout the repository for the API-key-authenticated Allora inference API, so readers may send LCD requests or credentials to the wrong service; list only the actual RPC/gRPC aliases here, or document the LCD alias only after confirming it does not conflict with the hosted API.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At public/raw/reference/networks.md, line 83:
<comment>The new alias list misidentifies `api.allora.network` as the mainnet Cosmos LCD endpoint. That hostname is documented and used throughout the repository for the API-key-authenticated Allora inference API, so readers may send LCD requests or credentials to the wrong service; list only the actual RPC/gRPC aliases here, or document the LCD alias only after confirming it does not conflict with the hosted API.</comment>
<file context>
@@ -77,9 +77,13 @@ Mainnet has no faucet — fund addresses with ALLO yourself.
+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
</file context>
There was a problem hiding this comment.
Valid. api.allora.network is the live Allora inference API (/v2/allora/..., API-key, Cloudflare-proxied), not Cosmos LCD. Documented throughout consume/SDK pages and used as LEGACY_AUTH_URL. Pointing it at the mainnet LCD HTTPRoute would hijack that service.
Holding the LCD alias. Canonical LCD stays allora-api.mainnet.allora.network. Need an operator decision before changing TLS/HTTPRoute maps.
| - **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. |
There was a problem hiding this comment.
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>
There was a problem hiding this comment.
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.
DEVOP-776.
What
Documents extra live aliases (not archive):
rpc.allora.network,api.allora.network,grpc.allora.networkrpc.testnet.allora.network,api.testnet.allora.network,grpc.testnet.allora.networkDropped unused
*.archive.mainnet.allora.network. Canonical URLs inpublic/api/networks.jsonare unchanged (allora-*+ mainnet*.archive.allora.network).Testnet still has no public archive; when it lands, history starts at block 600,001.
Merge
Hold until infra #126 certs are ACTIVE and flux #207/#208 short names have DNS + SNI, or the public pages advertise NXDOMAIN/TLS failures.
Summary by cubic
Documents the new public mainnet archive endpoints — RPC, LCD, and gRPC serving full history from block 1 — in the networks manifest, the networks reference page, and the RPC data-access docs, closing the DEVOP-776 acceptance criterion to list them in
/api/networks.jsonand the reference page. Also removes a draft page that was breakingyarn buildand moves its useful content to the live RPC page.archive_rpc,archive_lcd, andarchive_grpcto the mainnet entry ofnetworks.jsonand to the networks table./consume/rpc-grpc.rpc/api/grpc.allora.networkand*.testnet.allora.networkhostnames alias the live endpoints — they are not archive hosts.rpc-data-access.mdxpage had no frontmatter, which failed the build's frontmatter check, and its route was permanently redirected, so it could never render; the redirect stays for inbound links.Written for commit 2bf845c. Summary will update on new commits.