Building with an AI assistant? Add the SODAX Builders MCP (
https://builders.sodax.com/mcp) to Claude, Cursor, or any MCP-capable tool and it can pull live token lists, real quotes, and these docs while it writes your integration.1. Install
2. Create a LightLink wallet provider
LightLink is an EVM network to the SDK, so it uses the sameEvmWalletProvider as every other EVM network, keyed by ChainKeys.LIGHTLINK_MAINNET.
@sodax/wallet-sdk-react connects EVM wallets for you and hands back a ready-made provider via useWalletProvider. See Wallets.
3. Look up supported tokens
Token addresses and decimals come from the SDK config, so you never hard-code them. On LightLink this matters more than usual: the.LL tokens use 18 decimals even where the same asset uses fewer on its home network.
4. Quote and swap
swap() runs the full lifecycle: it creates the intent on LightLink, verifies the transaction landed, relays it to the hub, and notifies the solver to fill on the destination network.
ok means the intent was created, relayed to the hub, and the solver notified, not that it was
filled. Poll sodax.swaps.getStatus({ intent_tx_hash: intentDeliveryInfo.dstTxHash }) until the
status is SolverIntentStatusCode.SOLVED, which is the only success signal. The
main quickstart has the full polling loop, including why NOT_FOUND is not terminal.
A few things to know on LightLink:
- ETH needs no approval. It is the native token. Swapping an ERC-20 (USDC, LL, the
.LLtokens, and the rest) needs an allowance first; see Approvals. - The user pays gas in ETH. The SDK sends standard gas-paying transactions, not Enterprise Mode ones, so the signing account needs a little ETH even when it swaps a different token.
- Amounts follow
token.decimals. Every.LLtoken uses 18; USDC uses 6. Never reuse a decimals value from the asset’s home network.
Next steps
- Swaps on LightLink: approvals, fees, and manual orchestration.
- Money Market on LightLink: supply and borrow with cross-network collateral.
- Full API reference: Swaps in the SDK docs.