Skip to main content
This page takes you from zero to a cross-network swap sourced from Robinhood Chain. No new contracts, no approval for native ETH, one signed transaction for your user.
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 Robinhood Chain wallet provider

Robinhood Chain uses the same EvmWalletProvider as every other EVM network, keyed by ChainKeys.ROBINHOOD_MAINNET.
If you build those viem clients yourself, use the robinhoodChain definition from @sodax/wallet-sdk-core; see Wallets. Building in React? @sodax/wallet-sdk-react connects EVM wallets for you and hands back a ready-made provider via useWalletProvider.

3. Look up supported tokens

Token addresses and decimals come from the SDK config, so you never hard-code them.
In @sodax/sdk 2.1.0 the Robinhood Chain list holds ETH, bnUSD, SODA, and USDG. Stock Tokens arrive in the next release; see Stock Tokens.

4. Quote and swap

swap() runs the full lifecycle: it creates the intent on Robinhood Chain, 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 Robinhood Chain:
  • ETH needs no approval. It is the native gas token. Swapping an ERC-20 token on Robinhood Chain needs an allowance first; see Approvals.
  • Amounts follow token.decimals. ETH has 18 decimals, but USDG has 6. Always build amounts from the token’s own decimals.

Next steps