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 845328453, environment flips from TESTLIVE. New LIVE API keys become mintable. Existing TEST keys keep working against the Sepolia deploy until you decommission the testnet stack.