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/configonce per workspace dashboard load — drives the Wallet panel’s on-chain reads (USDC balance, pool balance viaLuxxonSettlement.deposits()) and thedeposit/withdrawwrites. @luxxon/sdkreads it at first use so callers don’t have to pass contract addresses.- MCP servers read it on startup so agents calling
request_live_viewlearn 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:- Contract upgrade. A new
LuxxonSettlementdeploys; the env var onlx-apiflips;/configreturns 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. - Mainnet cutover.
chainIdflips from84532→8453,environmentflips fromTEST→LIVE. NewLIVEAPI keys become mintable. ExistingTESTkeys keep working against the Sepolia deploy until you decommission the testnet stack.