chain letters are lowercase
Universe CI / Resolve Environment (push) Waiting to run
Universe CI / Update Manifest (push) Blocked by required conditions
Universe CI / E2E (push) Blocked by required conditions
CI/CD / render (push) Waiting to run

The primary-network chains answer to either case; one spelling beats two.
/v1/chain/c/rpc, /v1/chain/p, /v1/chain/x across the estate.

Co-authored-by: Hanzo AI <[email protected]>
This commit is contained in:
2026-09-08 15:28:19 -07:00
co-authored by Hanzo AI
parent ed17bd7898
commit 2453240bd7
11 changed files with 22 additions and 22 deletions
+1 -1
View File
@@ -21,7 +21,7 @@ equals per-env EVM chainID (sovereign-L1 rule).
| mainnet | 200200 | 9700 | https://api.zoo.network |
| testnet | 200201 | 9710 | https://api.zoo-test.network |
| devnet | 200202 | 9720 | https://api.zoo-dev.network |
| localnet | 200203 | 9730 | http://127.0.0.1:9730/v1/chain/C/rpc |
| localnet | 200203 | 9730 | http://127.0.0.1:9730/v1/chain/c/rpc |
Ports are explicit (`httpPort` + `stakingPort` in chain.yaml). No
port+1 implicit rule. No collisions across envs.
+5 -5
View File
@@ -71,7 +71,7 @@ networks:
httpPort: 9730
stakingPort: 9731
genesisFile: ./configs/genesis/localnet/genesis.json
rpcUrl: http://127.0.0.1:9730/v1/chain/C/rpc
rpcUrl: http://127.0.0.1:9730/v1/chain/c/rpc
cluster: colima
namespace: zoo-local
imageTag: v1.30.6
@@ -83,18 +83,18 @@ chains:
slug: zoo-evm
vmType: evm
description: "Zoo EVM — DeAI / DeSci primary chain"
rpcPath: /v1/chain/C/rpc
wsPath: /v1/chain/C/ws
rpcPath: /v1/chain/c/rpc
wsPath: /v1/chain/c/ws
- name: P
slug: zoo-platform
vmType: platform
description: "Zoo P-chain — sovereign validator set"
rpcPath: /v1/chain/P
rpcPath: /v1/chain/p
- name: X
slug: zoo-exchange
vmType: avm
description: "Zoo X-chain — UTXO fee asset (ZOO)"
rpcPath: /v1/chain/X
rpcPath: /v1/chain/x
token:
name: "Zoo"
+1 -1
View File
@@ -34,4 +34,4 @@ services:
ports: ["4001:4001"]
environment:
- ZOO_RPC=http://node:9550
- LUX_RPC=https://api.lux.network/v1/chain/C/rpc
- LUX_RPC=https://api.lux.network/v1/chain/c/rpc
+4 -4
View File
@@ -37,10 +37,10 @@ function productionUrls(): ZooUrls {
const ep = EXPLORE_PREFIX[NETWORK] || ''
return {
rpcZoo: `${luxApi}/${NETWORK}/v1/chain/zoo/rpc`,
rpcLux: `${luxApi}/${NETWORK}/v1/chain/C/rpc`,
rpcLux: `${luxApi}/${NETWORK}/v1/chain/c/rpc`,
rpcInfo: `${luxApi}/${NETWORK}/v1/info`,
rpcHealth: `${luxApi}/${NETWORK}/v1/health`,
rpcPlatform: `${luxApi}/${NETWORK}/v1/chain/P`,
rpcPlatform: `${luxApi}/${NETWORK}/v1/chain/p`,
exploreZoo: `https://${ep}explore-zoo.lux.network`,
apiExploreZoo: `https://api-${ep}explore-zoo.lux.network`,
exchange: 'https://zoo.exchange',
@@ -51,10 +51,10 @@ function productionUrls(): ZooUrls {
function localUrls(): ZooUrls {
return {
rpcZoo: 'http://127.0.0.1:9630/v1/chain/zoo/rpc',
rpcLux: 'http://127.0.0.1:9630/v1/chain/C/rpc',
rpcLux: 'http://127.0.0.1:9630/v1/chain/c/rpc',
rpcInfo: 'http://127.0.0.1:9630/v1/info',
rpcHealth: 'http://127.0.0.1:9630/v1/health',
rpcPlatform: 'http://127.0.0.1:9630/v1/chain/P',
rpcPlatform: 'http://127.0.0.1:9630/v1/chain/p',
exploreZoo: 'http://localhost:4011',
apiExploreZoo: 'http://localhost:4011',
exchange: 'http://localhost:3001',
+1 -1
View File
@@ -82,7 +82,7 @@ spec:
# platform.getBlockchains on that validator returns only the Lux
# primary-network chains, and ZooChain zoo-evm carries no blockchainId, i.e.
# the Zoo devnet EVM has never been created. Do NOT repoint this at
# /v1/chain/C/rpc to make it respond — C-Chain is Lux's primary EVM and no
# /v1/chain/c/rpc to make it respond — C-Chain is Lux's primary EVM and no
# other network uses it. zoo-testnet/zoo-mainnet override with their own
# tracked blockchainID, which is what this becomes once devnet has one.
rpcEndpoint: http://zoo-chain-rpc:9630/v1/chain/zoo/rpc
+1 -1
View File
@@ -19,7 +19,7 @@ configMapGenerator:
- LUX_NETWORK_ID=3
# Zoo EVM chainID — per-env, baked into the L2 genesis blob.
- ZOO_EVM_CHAIN_ID=200202
- lux-rpc-url=https://api.lux-dev.network/v1/chain/C/rpc
- lux-rpc-url=https://api.lux-dev.network/v1/chain/c/rpc
# Mainnet hosts in base/ingress.yaml don't apply to devnet — remove
# them so the devnet-specific ingressroute.yaml is canonical.
+1 -1
View File
@@ -26,7 +26,7 @@
apiVersion: v1
data:
routes.yaml: "http:\n middlewares:\n zood-root:\n replacePathRegex:\n \
\ regex: ^/$\n replacement: /v1/chain/C/rpc\n kms-block-console:\n\
\ regex: ^/$\n replacement: /v1/chain/c/rpc\n kms-block-console:\n\
\ ipAllowList:\n sourceRange:\n - 192.0.2.0/32\n routers:\n\
\ rpc-zoo:\n entryPoints:\n - websecure\n rule: Host(`rpc.zoo.network`)\n\
\ service: rpc-zoo\n tls: {}\n zoo-bridge:\n entryPoints:\n\
+1 -1
View File
@@ -19,7 +19,7 @@ configMapGenerator:
- LUX_NETWORK_ID=1
# Zoo EVM chainID — per-env, baked into the L2 genesis blob.
- ZOO_EVM_CHAIN_ID=200200
- lux-rpc-url=https://api.lux.network/v1/chain/C/rpc
- lux-rpc-url=https://api.lux.network/v1/chain/c/rpc
patches:
- path: network-patch.yaml
- target:
+1 -1
View File
@@ -19,7 +19,7 @@ configMapGenerator:
- LUX_NETWORK_ID=2
# Zoo EVM chainID — per-env, baked into the L2 genesis blob.
- ZOO_EVM_CHAIN_ID=200201
- lux-rpc-url=https://api.lux-test.network/v1/chain/C/rpc
- lux-rpc-url=https://api.lux-test.network/v1/chain/c/rpc
# Mainnet hosts in base/ingress.yaml don't apply to testnet — remove
# them via kustomize so only the testnet-specific ingressroute.yaml
+2 -2
View File
@@ -11,7 +11,7 @@
version: "1"
org: zoo
chainId: 200200
rpc: https://api.zoo.ngo/v1/chain/C/rpc # Zoo uses the /v1/chain/C/rpc convention (NOT ava /ext/)
rpc: https://api.zoo.ngo/v1/chain/c/rpc # Zoo uses the /v1/chain/c/rpc convention (NOT ava /ext/)
status: DEPLOYED # ✅ deployed + verified 2026-07-14 (blocks 13348-13354)
owner: "0x9011E888251AB053B7bD1cdB598Db4f9DEd94714" # 1/1 owner, threshold 1 (verified on-chain)
threshold: 1
@@ -68,7 +68,7 @@ foundationTimelock: # OZ TimelockController — transparent E
# Canonical record: ~/work/lux/standard/deployments/org-safes/zoo-200200.json
deploy:
command: |
ORG=zoo CHAINID=200200 RPC=https://api.zoo.ngo/v1/chain/C/rpc \
ORG=zoo CHAINID=200200 RPC=https://api.zoo.ngo/v1/chain/c/rpc \
KEY_CTX=do-sfo3-lux-k8s KEY_NS=lux-mainnet KEY_SECRET=lux-deployer \
DAO_SALT=zoo.dao.safe.v1 TEAM_SALT=zoo.team.safe.v1 \
MODE=full EXECUTE=yes bash ~/work/lux/standard/script/deploy_org_safes.sh
+4 -4
View File
@@ -32,10 +32,10 @@ const urls: Record<string, Record<string, string>> = {
// Zoo chain RPC (subnet of Lux)
rpcZoo: `${luxApi}/${NETWORK}/v1/chain/zoo/rpc`,
// Parent Lux chain RPCs
rpcLux: `${luxApi}/${NETWORK}/v1/chain/C/rpc`,
rpcLux: `${luxApi}/${NETWORK}/v1/chain/c/rpc`,
rpcInfo: `${luxApi}/${NETWORK}/v1/info`,
rpcHealth: `${luxApi}/${NETWORK}/v1/health`,
rpcPlatform: `${luxApi}/${NETWORK}/v1/chain/P`,
rpcPlatform: `${luxApi}/${NETWORK}/v1/chain/p`,
// Zoo explorer (hosted under lux.network)
exploreZoo: `https://${ep}explore-zoo.lux.network`,
apiExploreZoo: `https://api-${ep}explore-zoo.lux.network`,
@@ -45,10 +45,10 @@ const urls: Record<string, Record<string, string>> = {
},
local: {
rpcZoo: 'http://127.0.0.1:9630/v1/chain/zoo/rpc',
rpcLux: 'http://127.0.0.1:9630/v1/chain/C/rpc',
rpcLux: 'http://127.0.0.1:9630/v1/chain/c/rpc',
rpcInfo: 'http://127.0.0.1:9630/v1/info',
rpcHealth: 'http://127.0.0.1:9630/v1/health',
rpcPlatform: 'http://127.0.0.1:9630/v1/chain/P',
rpcPlatform: 'http://127.0.0.1:9630/v1/chain/p',
exploreZoo: 'http://localhost:4011',
apiExploreZoo: 'http://localhost:4011',
exchange: 'http://localhost:3001',