Connect to MEXC Global via Vezgo API

Accounts

Positions

Transactions

Support for Accounts, Positions and Transactions enabled.

Support for Accounts, Positions and Transactions enabled.


Support for Positions & Balances:

  • Spot


Supported Transaction Types:

  • Spot: Trades, Deposits & Withdrawals


Additional Notes:

  • Due to MEXC API limitation, we fetch up to 90 days of deposits/withdrawals & up to 30 days of trades.


Full List of Integrations

Data mapping

A field-level guide to the Vezgo API data for MEXC — what each attribute means and where to read it — so you can map it into your own system.

DataWhere to read itSource on MEXC Global
Account & walletaccount.wallets[]MEXC connects with an API key + secret (no OAuth; a read-only, IP-whitelisted key is recommended). A connection is a single custodial MEXC Spot account, surfaced as one entry in account.wallets[] (key on wallet.id). There is no wallet address and no balance reconciliation.
Balances / positionsaccount.balances[]Per-asset balances on your MEXC Spot account. Each balance has ticker, amount, decimals and fiat_value (USD). asset_type is always "crypto" — every MEXC balance, including stablecoins (USDT / USDC) and fiat (e.g. EUR), is typed "crypto"; there is no "cash", "cash_equivalent" or "staked" type. No ticker_address — exchange holdings are identified by ticker.
TransactionsGET /accounts/:id/transactionsSpot trades and deposits / withdrawals. A trade carries its two legs (received + sent) as parts; a deposit / withdrawal carries the on-chain counterparty address. See "How to read a transaction" below.
Assets / securitiesbalance.tickerIdentified by ticker (e.g. BTC, ETH). No ticker_address — custodial exchange balances are not on-chain tokens.

How to read a transaction

Each MEXC activity maps to a Vezgo transaction. Read the value movement from parts[], and classify with transaction_type (MEXC sets no transaction_subtype):

  • Value movement — parts[] (direction sent/received, ticker, provider_ticker, amount, fiat_value in USD). A trade has two parts (the received leg + the sent leg); a deposit or withdrawal has one part.
  • Type — transaction_type is trade, deposit or withdrawal. MEXC sets no transaction_subtype on any of them. On a trade, infer buy / sell from the base leg's direction (base received = buy, base sent = sell).
  • Counterparty — a deposit carries the on-chain to_address (where the coins landed) and a withdrawal carries the from_address; trades carry no address.
  • Fees — fees[] (the trade commission or network fee): the native fee asset and amount. fiat_value is set (in USD) for trade commissions; for a deposit / withdrawal network fee only the native ticker and amount are populated (fiat_value is null).
  • misc.origin_id is MEXC's id for the activity — the trade id for a trade, and the on-chain transaction hash (txid) for a deposit / withdrawal. misc.origin_type is MEXC's raw type (trade, deposit, withdraw). Trades also carry misc.order_id. There is no separate transaction_hash field — for deposits / withdrawals the on-chain hash is surfaced as misc.origin_id.
// One Vezgo transaction = a MEXC activity (a trade carries its two legs as parts)
const id   = tx.misc.origin_id;        // MEXC id: trade id, or the on-chain txid for a deposit/withdrawal
const kind = tx.misc.origin_type;      // raw MEXC type: trade | deposit | withdraw

const type    = tx.transaction_type;   // trade | deposit | withdrawal
const subtype = tx.transaction_subtype;// always null for MEXC
const parts   = tx.parts ?? [];        // trade = 2 legs (received + sent); deposit/withdrawal = 1
const fees    = tx.fees ?? [];         // trade commission / network fee

// Deposits expose to_address, withdrawals expose from_address (on parts[]).
// transaction_hash is null — the on-chain hash is in misc.origin_id for deposits/withdrawals,
// and there are no tokenTransfers / nftTransfers / internalTransfers arrays (exchange, not on-chain).
Where to read itAttributesWhat it is
tx.parts[]direction, ticker, provider_ticker, amount, fiat_value, to_address, from_addressValue movement. A trade has 2 legs (received + sent); a deposit / withdrawal has 1. A deposit carries to_address and a withdrawal carries from_address (the on-chain counterparty); trades carry no address.
tx.transaction_typetrade / deposit / withdrawalNormalized classification — prefer this over the raw misc.origin_type. MEXC sets no transaction_subtype; on a trade, infer buy / sell from the base leg's direction (base received = buy, base sent = sell).
tx.fees[]ticker, amount, fiat_valueTrade commission or network fee — the native fee asset and amount. For a trade commission, fiat_value is set in USD (equal to the native amount; not rate-converted for a non-USD fee asset); for a deposit / withdrawal network fee only the native ticker and amount are set (fiat_value is null).
tx.miscorigin_id, origin_type, order_id, is_self_trade, price, qtyorigin_id is the trade id, or the on-chain txid for a deposit / withdrawal (there is no separate transaction_hash). Trades also carry order_id, is_self_trade, price and qty.

misc.origin_type is MEXC's raw transaction type. Always classify off transaction_type. The values are:

  • trade
  • deposit
  • withdraw

Supported

  • Spot balances (all typed asset_type crypto)
  • Spot trades (each trade carries its two legs as parts)
  • Deposits and withdrawals, with the on-chain counterparty address (to / from)
  • Native fee asset reporting (USD fiat_value on trade commissions)
  • USD fiat valuation for balances and transactions

Notes & limitations

  • Balances are the exchange's reported (custodial) Spot holdings — there is no on-chain wallet address, and only available Spot balances are included (locked / in-order amounts and non-Spot wallets such as futures, margin or earn are not).
  • All balances are typed asset_type "crypto", including stablecoins (USDT / USDC) and fiat (e.g. EUR) — there is no "cash", "cash_equivalent" or "staked" type.
  • Transaction history is time-bounded: trades cover roughly the last 30 days and deposits / withdrawals roughly the last 90 days; older activity is not synced.
  • Trades are only fetched for assets you currently hold a Spot balance of, so trades in an asset you have fully sold or withdrawn may be missing.
  • There is no transaction_hash field — for a deposit / withdrawal the on-chain hash is surfaced as misc.origin_id. Deposits carry to_address and withdrawals carry from_address.
  • Only trades, deposits and withdrawals are surfaced — there are no staking / earn, transfer or other transaction types, and trades carry no transaction_subtype.
  • USD is the valuation currency; fiat_value can be null when a USD rate is unavailable.
See the full Vezgo object reference

Try to connect to MEXC Global in our Demo Sandbox

Open Demo

Let's get you started

To get your API Keys, sign up on the portal or reach out to the team at sales@vezgo.com

You have questions? Contact us