Exchanges
ApeX Omni

ApeX Omni

PropertyValue
MarketsUSDT-quoted crypto perps, plus stock, ETF and commodity perps (AAPL, NVDA, XAU, …) on a separate stock account
CollateralUSDT
TransportREST (orders) + WebSocket (market data + account updates)
SigningA zkLink signature on every order, with a key derived from your wallet's signature; requests carry your ApeX API key (HMAC)
Funding interval1 hour
Concurrent Spreadr maker trades1 per account (subject to change)
Builder feeNone — ApeX legs carry no Spreadr builder fee
⚠️

Stock perps trade from a separate account that starts empty. ApeX holds its stock, ETF and commodity perps (AAPL, NVDA, XAU, …) in a stock account with its own balance. Spreadr sets it up when you connect ApeX and sends those markets' orders to it, but you fund it yourself: open [FUND STOCK] on the ApeX card in Settings → Wallets and move USDT or USDC from your main ApeX account (one wallet signature). USDC counts as margin at ApeX's 0.99 rate. Until the stock account holds funds, orders on those markets won't fill.

Account setup

Open and fund an account

Visit omni.apex.exchange (opens in a new tab), connect your wallet and deposit USDT. Remember which wallet you used: you connect ApeX in Spreadr from that same wallet.

Create an API key

In ApeX: API Management. Create an API key and copy its API key, secret and passphrase.

Connect in Spreadr

In the terminal: Settings → Wallets, pick the wallet that created your ApeX account, then + ApeX. Paste the API key, secret and passphrase. Leave Account ID empty unless you want to enter it: Spreadr finds it. Press CONNECT APEX and sign 3 messages: the ApeX onboarding message (Spreadr derives your order-signing key from it), the stock-account registration, and the credential vault unlock.

Quirks

  • Connect from the wallet that created the ApeX account. Spreadr derives the key that signs your orders from your wallet's signature. Another wallet derives a key ApeX doesn't have on record, and ApeX then rejects every order with L2 signature error.
  • One quote, several ApeX orders. Spreadr's ApeX quotes are post-only, and ApeX has no order edit, so Spreadr re-prices a quote by cancelling it and placing a new order. ApeX gives each one a new order id.
  • One maker trade per account. ApeX documents about 200 orders a minute per account, and every re-price costs two requests (the cancel and the new order). Spreadr keeps inside that budget, so it runs one ApeX maker trade per account and can re-price it about once a second.
  • [SYNC STOCK KEY]. If the stock panel shows [SYNC STOCK KEY], this browser doesn't hold your stock account's key, for example after you restored your keys on a new device. Press it (one wallet signature) before you fund the stock account.
  • Stock transfers settle shortly after. ApeX first accepts a [FUND STOCK] transfer, then settles it. The panel shows when it completes, and [HISTORY] lists your recent transfers. Whenever an ApeX leg trades a stock market, the order form shows the stock account's balance, and its [FUND] button opens the same panel.
  • Market symbol format. ApeX names its perps like BTC-USDT. Spreadr translates; you'll see BTC in the Spreadr UI.
  • Removing the connection ([DEL]) deletes the keys from Spreadr only. The API key stays live at ApeX until you delete it there, under API Management.

Builder fees

ApeX doesn't offer builder fees, so Spreadr charges no builder fee on ApeX legs: you pay only ApeX's own trading fees. See Fees.

Common errors

SymptomCauseFix
A trade fails with "L2 signature error, please check your wallet and re-sign"ApeX was connected from a wallet other than the one that created the ApeX account, so ApeX doesn't recognise the signing keyRemove the connection with [DEL] and connect ApeX from the wallet that created the account
"ApeX connected. Stock setup didn't finish (…)"The stock account couldn't be created or linked while connectingRemove ApeX with [DEL] and connect again
The ApeX card says "ApeX API key is no longer valid at ApeX — reconnect ApeX"The key was deleted on ApeXCreate a new API key, then [RECONNECT]