For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

Situation
Path

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:

Current balance
Required route

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.

Mirror Protocol LifecycleMirror Protocol API

Last updated