
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.
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.
| Data | Where to read it | Source on MEXC Global |
|---|---|---|
| Account & wallet | account.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 / positions | account.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. |
| Transactions | GET /accounts/:id/transactions | Spot 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 / securities | balance.ticker | Identified 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 it | Attributes | What it is |
|---|---|---|
tx.parts[] | direction, ticker, provider_ticker, amount, fiat_value, to_address, from_address | Value 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_type | trade / deposit / withdrawal | Normalized 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_value | Trade 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.misc | origin_id, origin_type, order_id, is_self_trade, price, qty | origin_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.
Try to connect to MEXC Global in our Demo Sandbox
Open DemoLet's get you started
To get your API Keys, sign up on the portal or reach out to the team at sales@vezgo.com