Skip to main content
The active settlement chain isn’t a thing clients should hard-code. We mint contracts, swap chains, and (eventually) flip from testnet to mainnet — every move needs every SDK and console to follow without a coordinated release. GET /api/v1/config is the single source of truth for these values. Public, unauthenticated, no secrets leaked.

Shape

Who reads it

  • The console (console.luxxon.dev) reads /config once per workspace dashboard load — drives the Wallet panel’s on-chain reads (USDC balance, pool balance via LuxxonSettlement.deposits()) and the deposit / withdraw writes.
  • @luxxon/sdk reads it at first use so callers don’t have to pass contract addresses.
  • MCP servers read it on startup so agents calling request_live_view learn the active chain without server-side configuration drift.
  • Your own integration — read it once at boot, cache for the process lifetime; the values are stable on the order of weeks during a chain or contract migration window.

When values change

Two cases:
  1. Contract upgrade. A new LuxxonSettlement deploys; the env var on lx-api flips; /config returns the new address. Consumers re-approve() and re-deposit() against the new contract (old pool balances stay in the old contract and can be withdrawn there). The console surfaces a banner; SDKs should refresh their cache.
  2. Mainnet cutover. chainId flips from 84532 → 8453, environment flips from TEST → LIVE. New LIVE API keys become mintable. Existing TEST keys keep working against the Sepolia deploy until you decommission the testnet stack.