> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sodax.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> SODAX is mainnet-only (no testnet chains or RPC endpoints exist) with a hub-and-spoke architecture; Sonic is the hub. SODAX is non-custodial protocol/software: it routes and settles; independent solvers on the marketplace fill — never say 'our solver', 'the SODAX solver', that SODAX trades, takes custody, or fills orders. For frontend/React integrations, prefer @sodax/dapp-kit hooks over calling @sodax/sdk directly. SDK operations — the methods that build, submit or await a transaction, and the API/quote calls — return Result<T, E> ({ ok: true, value } or { ok: false, error }): check result.ok, never wrap them in try/catch or branch on error.message; discriminate on the narrow error.code union instead. Synchronous config getters (getPartnerFee, getSupportedSwapTokens, getVault, ...) return their value directly, not a Result.

# HyperEVM FAQ

> The questions HyperEVM engineers actually ask about integrating SODAX.

#### Do I need to write or deploy a contract?

No. SODAX's HyperEVM 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 HyperEVM actually settle?

Your user signs one EVM transaction on HyperEVM 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 HyperEVM settle as ordinary balances at the recipient's HyperEVM address, or, for USDC with the deposit hook, in their HyperCore perps account. If an intent is never filled, it can be cancelled and the funds recovered.

#### Which assets are supported on HyperEVM?

Two answers, and the difference matters. On HyperEVM itself, <span data-sodax-config="count" data-metric="chain-swap-tokens" data-chain="hyper">10</span> assets are live: HYPE plus HyperEVM ERC-20 tokens, including bnUSD, SODA, and USDC. <span data-sodax-config="count" data-metric="chain-money-market-tokens" data-chain="hyper">5</span> of these also work in the money market.

But your users are not limited to the HyperEVM-side list. Every swap is cross-network, so from HyperEVM they can reach all <span data-sodax-config="count" data-metric="swap-tokens">166</span> assets across every SODAX-supported network. Both lists grow as the backend config adds them; read them from `sodax.config` at runtime, or see the live tables in [Networks & Assets](/hyperevm/networks-and-assets).

#### My user has funds on Hyperliquid, but the SDK shows nothing. Why?

The funds are most likely on HyperCore, not HyperEVM. Hyperliquid keeps HyperCore (spot, perps, order books) and HyperEVM as separate parts of one chain, and SODAX acts on HyperEVM only. The user moves the funds to HyperEVM with the "Transfer to/from EVM" action in Hyperliquid's app, then swaps or supplies from there. See Hyperliquid's [HyperCore and HyperEVM transfers](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/hyperevm/hypercore-less-than-greater-than-hyperevm-transfers).

#### Can a swap fund a Hyperliquid trading account directly?

Yes, for USDC. Add `hook: { kind: HookKind.HYPERCORE_DEPOSIT }` to a swap whose output is USDC on HyperEVM, and the delivered USDC is deposited into the HyperCore perps account of `dstAddress`. The source can be any SODAX network. See [Delivering into HyperCore](/hyperevm/swaps#delivering-into-hypercore).

#### Is there an approve step before swapping or supplying?

For ERC-20 tokens, yes. `isAllowanceValid` checks the allowance and `approve` sets it, the same as on any EVM network. Native HYPE needs no approval.

#### Which RPC endpoint should I use?

Any HyperEVM JSON-RPC endpoint for mainnet. The SODAX config uses Hyperliquid's own, `https://rpc.hyperliquid.xyz/evm`; 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, HyperEVM 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 HyperEVM network fees in HYPE. See [Monetize SDK](/developers/how-to/monetize_sdk).

#### How do I know if something went wrong?

SDK operations return `Result<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](/developers/audits) page.

#### Can my AI coding assistant do the integration?

Largely, yes. Add the [SODAX Builders MCP](/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](https://builders.sodax.com/).

#### I want a plan specific to my protocol. Who do I talk to?

Reach the SODAX team through any platform listed at [linktr.ee/go.sodax](https://linktr.ee/go.sodax).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.