Do I need to write or deploy a contract?
No. SODAX’s Base spoke contracts are already deployed; your integration is TypeScript against@sodax/sdk (or the React packages on top of it). You write no on-chain code and hold no admin key for any part of the flow.
How does a swap from Base actually settle?
Your user signs one transaction on Base that creates an intent. The SODAX relayer carries proof of that transaction to the hub network (Sonic), a solver fills the intent on the destination network, and the output lands at the recipient address there. Swaps into Base settle as ordinary ETH or ERC-20 balances at the recipient address. If an intent is never filled, it can be cancelled and the funds recovered.Does anything work differently on Base?
Not for SODAX. Base uses the same wallet provider, approvals, and intent flow as every other EVM network; the SDK has no Base-specific handling. Code written for another EVM network works on Base once you change the chain key toChainKeys.BASE_MAINNET.
Which assets are supported on Base?
Two answers, and the difference matters. On Base itself, 11 assets are live for swaps: ETH plus ERC-20 tokens. 10 assets are live in the money market; that list is separate from the swap list, not a subset of it. But your users are not limited to the Base-side list. Every swap is cross-network, so from Base they can reach all 166 assets across every SODAX-supported network. Both lists grow as the backend config adds them; read them fromsodax.config at runtime, or see the live tables in Networks & Assets.
Is there an approve step before swapping or supplying?
For ERC-20 tokens, yes. SODAX’s asset manager pulls them through the ERC-20 interface, soisAllowanceValid checks the allowance and approve sets it, the same as on any EVM network. Native ETH needs no approval.
Why is the network fee higher than estimated gas times gas price?
Every Base transaction pays an L2 execution fee and an L1 security fee for publishing it to Ethereum.estimateGas returns gas units, which price the execution part only. Base’s GasPriceOracle predeploy quotes the L1 part: see Network fees.
Which RPC endpoint should I use?
Any Base mainnet RPC. The SODAX config useshttps://mainnet.base.org; pass your own through rpcUrl on EvmWalletProvider, or per chain in the @sodax/wallet-sdk-react config.
Is there a testnet?
No. SODAX is mainnet-only on every network, Base included.What does it cost?
Using SODAX is free: no license, no integration fee, no SDK cost. Trades carry a fixed 0.1% base fee taken by the protocol; on top of that you set your own platform fee and keep it. Your users also pay Base’s network fees in ETH. See Monetize SDK.How do I know if something went wrong?
SDK operations returnResult<T> rather than throwing. Core swap and money market methods return typed error codes (for example 'RELAY_TIMEOUT', 'EXECUTION_FAILED') you can branch on, with structured context attached.
Where are the audits?
Audits for the SODAX protocol are collected on the Audits page.Can my AI coding assistant do the integration?
Largely, yes. Add the SODAX Builders MCP to Claude, Cursor, VS Code, Windsurf, or any MCP-capable client (https://builders.sodax.com/mcp) and it gets live access to the SODAX System: chains, tokens, swap quotes, money market rates, intent history, and auto-synced SDK docs. Use it to scope the integration against your own codebase first, then to write and verify the code. Setup per client is at builders.sodax.com.