Docs menu

Deployed addresses

Every deployed contract, per chain, read live from this app's own chain configuration — the same source the site itself uses to talk to the chain. Nothing here is transcribed by hand, so it cannot disagree with what the app does.

Robinhood ChainChain ID 4663
Curve factory (tax token)0xBd9e5205…e091baeF
Launch factory v2.4 (mint + vaults)0x6f850A4f…D23403CA
X LayerChain ID 196
Curve factory (tax token)0x4328d4EE…15daf29D
Launch factory v2.4 (mint + vaults)0x6f850A4f…D23403CA

Why past curve factories still matter

Replacing the curve factory only affects newly launched tokens. Every token launched before the swap still has its pool registered on the old factory, so poolOf(token) on the current factory returns the zero address for them. Any integration that resolves a curve token's pool must walk the full list — current factory first, then each past one — or it will simply fail to find the older half of the tokens. This is a real failure we have hit: checking only the current factory made the homepage's bonding-curve filter come up empty.

// 解析一枚曲线币的池子:必须遍历当前 + 历代工厂
const FACTORIES = [current, ...legacy];   // 见上表,新 → 旧
for (const f of FACTORIES) {
  const pool = await f.read.poolOf([token]);
  if (pool !== ZERO) return pool;         // 命中即停
}
return null;                              // 不是曲线币
Vault factory addresses are deliberately not frozen here — they change per upgrade and are listed with their verification badge in the Vault Template Store. Read them from there.