Quickstart
Move supported assets between an external network and ValueChain, or move a ValueChain balance into a trading account. Routes, limits, and fees come from the API at runtime.
Mainnet base URL: https://mainnet-gw.sodex.dev/api/v1
There is no Testnet Mirror API.
Use the SoDEX user's EVM address to create or verify a custody deposit address. This address identifies the user; custody deposits credit the user's Spot account, not the EVM wallet. Contract addresses are on Contracts.
1. Choose the asset and network
Call Asset Configuration and use the exact chainName. Check custody.allowDeposit / allowWithdraw or the bridge flags, plus minimum amounts and withdrawal fees.
curl -sS 'https://mainnet-gw.sodex.dev/api/v1/asset/config?name=USDC' \
-H 'Accept: application/json'Replace USDC with the user-facing asset name. An unknown name returns an empty data array.
2. Choose the operation
Deposit from a custody route (non-EVM or custodial chain)
Generate Custody Address, then Custody Deposits. Do not send until status is Enabled and the address is in getDepositWalletList on SoDexTokenCustody.
Deposit from an EVM source chain through a bridge
Bridge Deposits. Approve the source token and call the configured bridge contract. Set toClob to true for Spot or false for ValueChain EVM.
Funds already on ValueChain EVM, move into Spot or Perps
ValueChain to Spot or Perps. This is not an external deposit.
3. Withdraw to an external network
A withdrawal spends the user's ValueChain EVM balance, not a Spot or Perps balance. Move funds to EVM first, confirming each hop:
Perps
Perps → Spot → ValueChain EVM
Spot
Spot → ValueChain EVM
ValueChain EVM
No trading-account transfer
Then follow Withdrawals: encode the destination (include memo/tag when required), sign the permit, and submit. See Contracts for permit and withdrawer addresses.
4. Confirm delivery
A successful submission is not arrival. Save the source-chain transaction hash for a deposit, or the ValueChain request hash and withdrawal ID for a withdrawal. Track them with History & Status. Empty records or Processing do not confirm credit; check the destination balance before starting a dependent transfer or trade.
Last updated