A network is a host, not a path prefix

Both files documented public RPC as /mainnet/v1/... and /testnet/v1/..., and
LLM.md closed with a CRITICAL note telling readers to always use the network
prefix. No such prefix exists: measured against api.lux.network, every
/mainnet/ and /testnet/ form returns 404, on either segment. It also put testnet
on the mainnet host, when testnet is api.lux-test.network.

The shape is /v1/<segment>/<chain>/rpc on that network's own host, with a brand
chain addressed by alias in the same position.

Stated with the segment the estate writes, and with the part that is not yet
true said plainly: the deployed gateways still answer bc, so this table
describes what one redeploy makes true rather than what the fleet does today.

This is the documentation that sent me looking for a dead service when the
service was answering the whole time.
This commit is contained in:
2026-09-01 12:07:35 -07:00
parent 56854e3ad8
commit 513c1970eb
2 changed files with 22 additions and 12 deletions
+3 -3
View File
@@ -157,7 +157,7 @@ Single MPC cluster (5 nodes, threshold 3). Serves all orgs.
| Hostname | Service | Purpose |
|----------|---------|---------|
| api.lux.network | gateway:8080 | All RPC: /{network}/v1/chain/{chain}/rpc |
| api.lux.network | gateway:8080 | All RPC: /v1/chain/{chain}/rpc (the network is the host, not a prefix) |
| api.zoo.network | gateway:8080 | Alias for Zoo RPC |
### Faucet (NEW)
@@ -288,7 +288,7 @@ NEXT_PUBLIC_NETWORK_NAME # Zoo, Hanzo, SPC, Pars
NEXT_PUBLIC_NETWORK_ID # EVM chain ID (200200, 36963, etc.)
NEXT_PUBLIC_NETWORK_CURRENCY_NAME # ZOO, AI, SPC, PARS
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL # same
NEXT_PUBLIC_NETWORK_RPC_URL # https://api.lux.network/mainnet/v1/chain/{blockchain_id}/rpc
NEXT_PUBLIC_NETWORK_RPC_URL # https://api.lux.network/v1/chain/{blockchain_id}/rpc
NEXT_PUBLIC_IS_TESTNET # false
# Theme
@@ -342,7 +342,7 @@ One per chain. Naming: `faucet-config-{chain}`.
```
FAUCET_CHAIN_NAME # Lux Testnet, Zoo Testnet, etc.
FAUCET_CHAIN_ID # testnet EVM chain ID
FAUCET_RPC_URL # https://api.lux.network/testnet/v1/chain/{chain}/rpc
FAUCET_RPC_URL # https://api.lux-test.network/v1/chain/{chain}/rpc
FAUCET_AMOUNT # drip amount per request (e.g., "1000000000000000000" = 1 token)
FAUCET_CURRENCY_SYMBOL # LUX, ZOO, AI, SPC, PARS
FAUCET_RATE_LIMIT_SECONDS # 86400 (once per day)
+19 -9
View File
@@ -311,17 +311,27 @@ psql -h localhost -p 5432 -U postgres -d explorer_lux # legacy DB; new Lux Expl
### Public RPC Endpoints (via Gateway)
Mainnet uses `/mainnet/v1/chain/{chain}/rpc`, testnet uses `/testnet/v1/...`, devnet uses `/devnet/v1/...`.
A network is a HOST, not a path prefix. There is no `/mainnet/` or `/testnet/`
segment — measured 2026-09-01, every such form returns 404. The path is
`/v1/<segment>/<chain>/rpc` on that network's own host.
| Chain | Mainnet RPC | Testnet RPC |
|-------|-------------|-------------|
| C-Chain | `https://api.lux.network/mainnet/v1/chain/C/rpc` | `https://api.lux.network/testnet/v1/chain/C/rpc` |
| Zoo | `https://api.lux.network/mainnet/v1/chain/{zoo_blockchain_id}/rpc` | flat: `https://api.zoo.network/rpc` |
| Hanzo | `https://api.lux.network/mainnet/v1/chain/{hanzo_blockchain_id}/rpc` | -- |
| SPC | `https://api.lux.network/mainnet/v1/chain/{spc_blockchain_id}/rpc` | -- |
| Pars | `https://api.lux.network/mainnet/v1/chain/{pars_blockchain_id}/rpc` | -- |
| Network | Host | C-Chain RPC |
|---|---|---|
| Lux mainnet | `api.lux.network` | `https://api.lux.network/v1/chain/C/rpc` |
| Lux testnet | `api.lux-test.network` | `https://api.lux-test.network/v1/chain/C/rpc` |
| Zoo | `api.zoo.network` | `https://api.zoo.network/v1/chain/C/rpc` |
| Hanzo | `api.hanzo.network` | `https://api.hanzo.network/v1/chain/C/rpc` |
**CRITICAL**: Do NOT use `https://api.lux.network/rpc` -- it returns 404. Always use the full path with network prefix.
A brand chain on the Lux host is addressed by its alias or blockchain ID in the
same position: `https://api.lux.network/v1/chain/zoo/rpc`.
**The segment is `chain` here and the deployed gateways still answer `bc`.**
node v1.36.179 renamed it and removed the old spelling; the running fleet
predates that release, so today `/v1/bc/C/rpc` returns 200 and `/v1/chain/C/rpc`
returns 404 on all four hosts. This table is what the estate writes and what one
redeploy makes true; it is not a description of the fleet as it stands.
**Do NOT use `https://api.lux.network/rpc`** — the bare host has no route.
## Production Infrastructure (March 2026)