Skip to main content
Welcoming cross-network users means supporting the wallets they already use. On Robinhood Chain, SODAX works through the EVM: any wallet that can sign EVM transactions on Robinhood Chain (chain ID 4663), such as MetaMask. On the networks your users arrive from, it is Phantom, Suiet, Lobstr, and more. SODAX gives you both through one interface, so wallet plumbing never becomes the integration. Robinhood Chain is permissionless, so the account needs no registration or special key type, and users pay gas in ETH. Robinhood’s sequencer does exclude transactions associated with sanctioned addresses; see Differences from Ethereum.

React apps: @sodax/wallet-sdk-react

The React package wraps each chain family’s native wallet SDK (wagmi for EVM networks, including Robinhood Chain) behind a uniform connector interface with a single persisted store. Its wagmi config already includes Robinhood Chain.
Mount the provider with the chains you serve. Robinhood Chain is an entry under EVM, alongside any other EVM network you support:
Then connect and read accounts with the same three hooks for every chain family:
One EVM connection covers every EVM network, so the wallet may be on a different network than Robinhood Chain when your user acts. useEvmSwitchChain({ xChainId: ChainKeys.ROBINHOOD_MAINNET }) returns isWrongChain and a handleSwitchChain callback to prompt the switch.

Bridging to SDK calls

useWalletProvider({ xChainId: ChainKeys.ROBINHOOD_MAINNET }) returns a typed IEvmWalletProvider ready to pass into any @sodax/sdk method. The swap and money market calls take it directly.

Your own viem or wagmi setup

SODAX’s 2.1.0 packages depend on viem 2.29.2, which has no Robinhood Chain definition. @sodax/wallet-sdk-core (and @sodax/sdk) export one, so you do not have to write it yourself:
Add it to the chains of the viem clients or wagmi config you pass to EvmWalletProvider. Its default RPC is the public endpoint, so set your provider’s URL on the transport.

Scripts and backends: EvmWalletProvider

Outside React, construct the provider from @sodax/wallet-sdk-core directly. With a private key it resolves the chain definition from ChainKeys.ROBINHOOD_MAINNET for you:
EvmWalletDefaults lets you tune behavior per provider: sendTransaction, waitForTransactionReceipt, publicClient, walletClient, and transport.