Skip to content

Repository files navigation

mexc-api-sdk

MEXC Official Market and trade api sdk, easy to connection and send request to MEXC open api !

Prerequisites

Installation

git clone https://github.com/mxcdevelop/mexc-api-sdk.git
  1. cd dist/{language} and unzip the file
  2. we offer five language : dotnet, go, java, js, python

Table of APIS

Init

//Javascriptimport*asMexcfrom'mexc-sdk';constapiKey='apiKey'constapiSecret='apiSecret'constclient=newMexc.Spot(apiKey,apiSecret);
// Gopackage main
import (
"fmt""mexc-sdk/mexcsdk"
)
funcmain() {
apiKey:="apiKey"apiSecret:="apiSecret"spot:=mexcsdk.NewSpot(apiKey, apiSecret)
}
# pythonfrommexc_sdkimportSpotspot=Spot(api_key='apiKey', api_secret='apiSecret')
// javaimportMexc.Sdk.*; classMyClass {
publicstaticvoidmain(String[] args) {
StringapiKey= "apiKey";
StringapiSecret= "apiSecret";
SpotmySpot = newSpot(apiKey, apiSecret);
}
}
// dotnetusingSystem;usingSystem.Collections.Generic;usingMxc.Sdk;namespacedotnet{classProgram{staticvoidMain(string[]args){stringapiKey="apiKey";stringapiSecret="apiSecret";varspot=newSpot(apiKey,apiSecret);}}}

Market

Ping

client.ping()

Check Server Time

client.time()

Exchange Information

client.exchangeInfo(options: any)
options:{symbol,symbols}/** * choose one parameter *  * symbol :  * example "BNBBTC"; *  * symbols : * array of symbol * example ["BTCUSDT","BNBBTC"]; *  */

Recent Trades List

client.trades(symbol: string,options: any={limit: 500})
options:{limit}/** *  * limit :  * Number of returned data * Default 500;  * max 1000; *  */

Order Book

client.depth(symbol: string,options: any={limit: 100})
options:{limit}/** * limit :  * Number of returned data * Default 100; * max 5000; * Valid:[5, 10, 20, 50, 100, 500, 1000, 5000] *  */

Old Trade Lookup

client.historicalTrades(symbol: string,options: any={limit: 500})
options:{limit,fromId}/** *  * limit :  * Number of returned data * Default 500; * max 1000; *  * fromId: * Trade id to fetch from. Default gets most recent trades *  */

Aggregate Trades List

client.aggTrades(symbol: string,options: any={limit: 500})
options:{fromId,startTime,endTime,limit}/** *  * fromId :  * id to get aggregate trades from INCLUSIVE *  * startTime: * start at *  * endTime: * end at *  * limit :  * Number of returned data * Default 500; * max 1000; *  */

kline Data

client.klines(symbol: string,interval: string,options: any={limit: 500})
options:{startTime,endTime,limit}/** *  * interval :  * m :minute;  * h :Hour;  * d :day;  * w :week;  * M :month * example : "1m" *  * startTime :  * start at *  * endTime : * end at *  * limit :  * Number of returned data * Default 500; * max 1000; *  */

Current Average Price

client.avgPrice(symbol: string)

24hr Ticker Price Change Statistics

client.ticker24hr(symbol?: string)

Symbol Price Ticker

client.tickerPrice(symbol?: string)

Symbol Order Book Ticker

client.bookTicker(symbol?: string)

Trade

Test New Order

client.newOrderTest(symbol: string,side: string,orderType: string,options: any={})
options:{timeInForce,quantity,quoteOrderQty,price,newClientOrderId,stopPrice,icebergQty,newOrderRespType,recvWindow}/** *  * side: * Order side  * ENUM: * BUY * SELL *  * orderType: * Order type * ENUM: * LIMIT * MARKET * STOP_LOSS * STOP_LOSS_LIMIT * TAKE_PROFIT * TAKE_PROFIT_LIMIT * LIMIT_MAKER *  * timeInForce :  * How long an order will be active before expiration. * GTC: Active unless the order is canceled * IOC: Order will try to fill the order as much as it can before the order expires * FOK: Active unless the full order cannot be filled upon execution. *  * quantity : * target quantity *  * quoteOrderQty : * Specify the total spent or received *  * price : * target price *  * newClientOrderId : * A unique id among open orders. Automatically generated if not sent *  * stopPrice : * sed with STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders *  * icebergQty : * Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order *  * newOrderRespType :  * Set the response JSON. ACK, RESULT, or FULL; * MARKET and LIMIT order types default to FULL, all other orders default to ACK *  * recvWindow :  * Delay accept time * The value cannot be greater than 60000 * defaults: 5000 *  */

New Order

client.newOrder(symbol: string,side: string,orderType: string,options: any={})
options:{timeInForce,quantity,quoteOrderQty,price,newClientOrderId,stopPrice,icebergQty,newOrderRespType,recvWindow}/** *  * side: * Order side  * ENUM: * BUY * SELL *  * orderType: * Order type * ENUM: * LIMIT * MARKET * STOP_LOSS * STOP_LOSS_LIMIT * TAKE_PROFIT * TAKE_PROFIT_LIMIT * LIMIT_MAKER *  * timeInForce :  * How long an order will be active before expiration. * GTC: Active unless the order is canceled * IOC: Order will try to fill the order as much as it can before the order expires * FOK: Active unless the full order cannot be filled upon execution. *  * quantity : * target quantity *  * quoteOrderQty : * Specify the total spent or received *  * price : * target price *  * newClientOrderId : * A unique id among open orders. Automatically generated if not sent *  * stopPrice : * sed with STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders *  * icebergQty : * Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order *  * newOrderRespType :  * Set the response JSON. ACK, RESULT, or FULL; * MARKET and LIMIT order types default to FULL, all other orders default to ACK *  * recvWindow :  * Delay accept time * The value cannot be greater than 60000 * defaults: 5000 *  */

cancel-order

client.cancelOrder(symbol: string,options:any={})
options:{orderId,origClientOrderId,newClientOrderId}/** *  * Either orderId or origClientOrderId must be sent *  * orderId: * target orderId *  * origClientOrderId: * target origClientOrderId *  * newClientOrderId: * Used to uniquely identify this cancel. Automatically generated by default. *  */

Cancel all Open Orders on a Symbol

client.cancelOpenOrders(symbol: string)

Query Order

client.queryOrder(symbol: string,options:any={})
options:{orderId,origClientOrderId}/** *  * Either orderId or origClientOrderId must be sent *  * orderId: * target orderId *  * origClientOrderId: * target origClientOrderId *  */

Current Open Orders

client.openOrders(symbol: string)

All Orders

client.allOrders(symbol: string,options: any={limit: 500})
options:{orderId,startTime,endTime,limit}/** *  * orderId: * target orderId *  * startTime: * start at *  * endTime: * end at *  * limit :  * Number of returned data * Default 500; * max 1000; *  */

Account Information

client.accountInfo()

Account Trade List

client.accountTradeList(symbol: string,options:any={limit: 500})
options:{orderId,startTime,endTime,fromId,limit}/** *  * orderId: * target orderId *  * startTime: * start at *  * endTime: * end at *  * fromId: * TradeId to fetch from. Default gets most recent trades *  * limit :  * Number of returned data * Default 500; * max 1000; *  */

About

No description, website, or topics provided.

Resources

Stars

315 stars

Watchers

8 watching

Forks

Releases

Packages

Used by

Contributors

Languages