Do I need to write or deploy a contract?
No. SODAX’s Arbitrum 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 Arbitrum actually settle?
Your user signs one transaction on Arbitrum 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 Arbitrum 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 Arbitrum?
Not for SODAX. Arbitrum uses the same wallet provider, approvals, and intent flow as every other EVM network; the SDK has no Arbitrum-specific handling. Code written for another EVM network works on Arbitrum once you change the chain key toChainKeys.ARBITRUM_MAINNET.
Which assets are supported on Arbitrum?
Two answers, and the difference matters. On Arbitrum itself, 20 assets are live for swaps: ETH plus ERC-20 tokens. 12 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 Arbitrum-side list. Every swap is cross-network, so from Arbitrum 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.
Do users pay gas in ARB?
No. Gas on Arbitrum One is paid in ETH. ARB is an ERC-20 on Arbitrum, so swapping it needs an approval like any other token.Which RPC endpoint should I use?
Any Arbitrum One RPC. The SODAX config useshttps://arb1.arbitrum.io/rpc; 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, Arbitrum 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 Arbitrum’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.