Do I need to write or deploy a contract?
No. SODAX’s Polygon 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 Polygon actually settle?
Your user signs one EVM transaction on Polygon 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 Polygon settle as ordinary POL or ERC-20 balances at the recipient’s address. If an intent is never filled, it can be cancelled and the funds recovered.Which assets are supported on Polygon?
Two answers, and the difference matters. On Polygon itself, 8 assets are live for swaps: POL plus ERC-20 tokens, including USDC, bnUSD, and SODA. 6 assets work in the money market, POL among them. The two lists overlap but are not identical: some money market tokens on Polygon are not swappable there. But your users are not limited to the Polygon-side list. Every swap is cross-network, so from Polygon they can reach all 166 assets across every SODAX-supported network. Both lists grow as the backend config adds them; read them from the SDK at runtime, or see the live tables in Networks & Assets.Is the native token MATIC or POL?
POL. Polygon replaced MATIC with POL as the gas token of Polygon PoS, and the SODAX config lists the native token asPOL, 18 decimals, at the zero address. There is no MATIC entry to look up.
Why does isAllowanceValid fail with a 401 error?
Usually the RPC endpoint. Pass an endpoint you control when you construct the SDK: new Sodax({ chains: { [ChainKeys.POLYGON_MAINNET]: { rpcUrl } } }). Set the same endpoint on EvmWalletProvider and in the @sodax/wallet-sdk-react config. Polygon lists public endpoints on its RPC endpoints page; for production traffic, use your own provider.
Why is my USDC not accepted?
Check the contract address. Two Polygon contracts report the symbolUSDC, and SODAX supports only Circle’s native USDC. The older bridged token, USD Coin (PoS), is not in the SODAX list. See Networks & Assets.
Is there an approve step before swapping or supplying?
For ERC-20 tokens, yes. SODAX’s asset manager pulls them through their ERC-20 interface, soisAllowanceValid checks the allowance and approve sets it, the same as on any EVM network. Native POL needs no approval.
Is there a testnet?
No. SODAX is mainnet-only on every network, Polygon 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 Polygon’s network fees in POL. 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.