Skip to content

Commit 6db359e

Browse files
committed
feat(monad): enable kyber, openocean, lifi, relay aggregators
Monad mainnet (chain id 143) was wired into the registry without any aggregator slugs, so `defi --chain monad swap` was returning "unsupported chain" for every provider. Live API probes against each aggregator on 2026-05-06 confirmed 4 of 5 already route Monad: - KyberSwap — slug `monad`, docs explicitly list chain 143; /monad/api/v1/routes accepts the chain segment (HTTP 400 = token-level, not chain-level). - OpenOcean — slug `monad`, present in the supported-chain list alongside `monad_test` and `143`. /v4/monad/tokenList returns mainnet tokens. - LI.FI — chain 143 in /v1/chains as { key:"mon", coin:"MON" }. - Relay — chain 143 in /chains, depositEnabled=true. - LiquidSwap — HyperEVM-only by design; intentionally NOT enabled. Smoke-tested all 4 against the dist build (MON -> USDC, --dry-run): provider amount_in amount_out notes ----------- ------------ ------------------ ------------------------ kyber 1e18 EEEE 32301 (6dp USDC) real route + router openocean 1e18 native 33218 real route + router lifi 1e18 native 32220 real route + router relay 100e18 native 3225554 real route + router (1e18 was below AMOUNT_TOO_LOW gate) All four return real tx calldata, confirming the chain is fully routable. The "simulation_failed" result in dry-run is the executor's expected output when the placeholder wallet has no balance — orthogonal to chain support. LI.FI / Relay use chainId numerically inside swap.ts (the slug value is "auto" by the chains.toml convention documented in chain.ts:6); the entries are still required so chain.test.ts and the future slug-parity-style guards see Monad as supported. Verified: - pnpm -C ts -r build — synced ts/config -> packages/defi-cli/config cleanly, dist rebuilt without warnings. - pnpm -C ts -r lint — 3 packages, tsc --noEmit clean. - pnpm -C ts -r test — 62 passing; 2 pre-existing failures in qa/slippage.test.ts:108 reproduce on origin/main with `git stash` and are unrelated to chains.toml. - defi --chain monad status — 4 protocols listed (unchanged). - 4 swap dry-runs above. Refs: aggregator-discovery probes captured in conversation 2026-05-06; SSOT chains.toml now matches every other chain that has LI.FI/Relay enabled.
1 parent 4d8bf42 commit 6db359e

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

ts/config/chains.toml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,5 +67,10 @@ native_token = "MON"
6767
wrapped_native = "0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A"
6868
multicall3 = "0xcA11bde05977b3631167028862bE2a173976CA11"
6969

70-
# Monad: no aggregator support yet (early-stage mainnet)
70+
# Monad: 4 of 5 aggregators verified live against mainnet (chain id 143).
71+
# LiquidSwap is HyperEVM-only and intentionally omitted.
7172
[chain.monad.aggregators]
73+
kyber = "monad"
74+
openocean = "monad"
75+
lifi = "auto"
76+
relay = "auto"

0 commit comments

Comments
 (0)