Skip to content

Commit ff2e186

Browse files
committed
pushback
1 parent aba3ce9 commit ff2e186

1 file changed

Lines changed: 359 additions & 0 deletions

File tree

README.md

Lines changed: 359 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,359 @@
1+
# mexc-python
2+
Python SDK (sync and async) for Mexc cryptocurrency exchange with Rest and WS capabilities.
3+
4+
You can check the SDK docs here: [SDK](https://docs.ccxt.com/#/exchanges/mexc)
5+
You can check Mexc's docs here: [Docs](https://ccxt.com)
6+
7+
8+
## Installation
9+
10+
```
11+
pip install __PYTHON_PACKAGE_NAME__
12+
```
13+
14+
## Usage
15+
16+
### Sync
17+
18+
```Python
19+
from mexc import MexcSync
20+
21+
def main():
22+
instance = MexcSync({})
23+
ob = instance.fetch_order_book("BTC/USDC")
24+
print(ob)
25+
#
26+
# balance = instance.fetch_balance()
27+
# order = instance.create_order("BTC/USDC", "limit", "buy", 1, 100000)
28+
```
29+
30+
### Async
31+
32+
```Python
33+
import asyncio
34+
from mexc import MexcAsync
35+
36+
async def main():
37+
instance = MexcAsync({})
38+
ob = await instance.fetch_order_book("BTC/USDC")
39+
print(ob)
40+
#
41+
# balance = await instance.fetch_balance()
42+
# order = await instance.create_order("BTC/USDC", "limit", "buy", 1, 100000)
43+
44+
asyncio.run(main())
45+
```
46+
47+
48+
49+
### Websockets
50+
51+
```Python
52+
from mexc import MexcWs
53+
54+
async def main():
55+
instance = MexcWs({})
56+
while True:
57+
ob = await instance.watch_order_book("BTC/USDC")
58+
print(ob)
59+
# orders = await instance.watch_orders("BTC/USDC")
60+
```
61+
62+
63+
64+
65+
66+
#### Raw call
67+
68+
You can also construct custom requests to available "implicit" endpoints
69+
70+
```Python
71+
request = {
72+
'type': 'candleSnapshot',
73+
'req': {
74+
'coin': coin,
75+
'interval': tf,
76+
'startTime': since,
77+
'endTime': until,
78+
},
79+
}
80+
response = await instance.public_post_info(request)
81+
```
82+
83+
84+
85+
86+
## Available methods
87+
88+
### REST Unified
89+
90+
- `create_deposit_address(self, code: str, params={})`
91+
- `create_market_buy_order_with_cost(self, symbol: str, cost: float, params={})`
92+
- `create_market_sell_order_with_cost(self, symbol: str, cost: float, params={})`
93+
- `create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={})`
94+
- `create_orders(self, orders: List[OrderRequest], params={})`
95+
- `create_spot_order_request(self, market, type, side, amount, price=None, marginMode=None, params={})`
96+
- `create_spot_order(self, market, type, side, amount, price=None, marginMode=None, params={})`
97+
- `create_swap_order(self, market, type, side, amount, price=None, marginMode=None, params={})`
98+
- `fetch_account_helper(self, type, params)`
99+
- `fetch_accounts(self, params={})`
100+
- `fetch_balance(self, params={})`
101+
- `fetch_bids_asks(self, symbols: Strings = None, params={})`
102+
- `fetch_canceled_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
103+
- `fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
104+
- `fetch_currencies(self, params={})`
105+
- `fetch_deposit_address(self, code: str, params={})`
106+
- `fetch_deposit_addresses_by_network(self, code: str, params={})`
107+
- `fetch_deposit_withdraw_fees(self, codes: Strings = None, params={})`
108+
- `fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={})`
109+
- `fetch_funding_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
110+
- `fetch_funding_interval(self, symbol: str, params={})`
111+
- `fetch_funding_rate_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
112+
- `fetch_funding_rate(self, symbol: str, params={})`
113+
- `fetch_leverage_tiers(self, symbols: Strings = None, params={})`
114+
- `fetch_leverage(self, symbol: str, params={})`
115+
- `fetch_markets(self, params={})`
116+
- `fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
117+
- `fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={})`
118+
- `fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
119+
- `fetch_order_book(self, symbol: str, limit: Int = None, params={})`
120+
- `fetch_order_trades(self, id: str, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
121+
- `fetch_order(self, id: str, symbol: Str = None, params={})`
122+
- `fetch_orders_by_ids(self, ids, symbol: Str = None, params={})`
123+
- `fetch_orders_by_state(self, state, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
124+
- `fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
125+
- `fetch_position_mode(self, symbol: Str = None, params={})`
126+
- `fetch_position(self, symbol: str, params={})`
127+
- `fetch_positions_history(self, symbols: Strings = None, since: Int = None, limit: Int = None, params={})`
128+
- `fetch_positions(self, symbols: Strings = None, params={})`
129+
- `fetch_spot_markets(self, params={})`
130+
- `fetch_status(self, params={})`
131+
- `fetch_swap_markets(self, params={})`
132+
- `fetch_ticker(self, symbol: str, params={})`
133+
- `fetch_tickers(self, symbols: Strings = None, params={})`
134+
- `fetch_time(self, params={})`
135+
- `fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={})`
136+
- `fetch_trading_fee(self, symbol: str, params={})`
137+
- `fetch_transaction_fees(self, codes: Strings = None, params={})`
138+
- `fetch_transfer(self, id: str, code: Str = None, params={})`
139+
- `fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={})`
140+
- `fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={})`
141+
- `add_margin(self, symbol: str, amount: float, params={})`
142+
- `cancel_all_orders(self, symbol: Str = None, params={})`
143+
- `cancel_order(self, id: str, symbol: Str = None, params={})`
144+
- `cancel_orders(self, ids, symbol: Str = None, params={})`
145+
- `custom_parse_balance(self, response, marketType)`
146+
- `describe(self)`
147+
- `modify_margin_helper(self, symbol: str, amount, addOrReduce, params={})`
148+
- `nonce(self)`
149+
- `reduce_margin(self, symbol: str, amount: float, params={})`
150+
- `set_leverage(self, leverage: Int, symbol: Str = None, params={})`
151+
- `set_margin_mode(self, marginMode: str, symbol: Str = None, params={})`
152+
- `set_position_mode(self, hedged: bool, symbol: Str = None, params={})`
153+
- `synthetic_trade_id(self, market=None, timestamp=None, side=None, amount=None, price=None, orderType=None, takerOrMaker=None)`
154+
- `transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={})`
155+
- `withdraw(self, code: str, amount: float, address: str, tag=None, params={})`
156+
157+
### REST Raw
158+
159+
- `spot_public_get_ping(request)`
160+
- `spot_public_get_time(request)`
161+
- `spot_public_get_exchangeinfo(request)`
162+
- `spot_public_get_depth(request)`
163+
- `spot_public_get_trades(request)`
164+
- `spot_public_get_historicaltrades(request)`
165+
- `spot_public_get_aggtrades(request)`
166+
- `spot_public_get_klines(request)`
167+
- `spot_public_get_avgprice(request)`
168+
- `spot_public_get_ticker_24hr(request)`
169+
- `spot_public_get_ticker_price(request)`
170+
- `spot_public_get_ticker_bookticker(request)`
171+
- `spot_public_get_etf_info(request)`
172+
- `spot_private_get_order(request)`
173+
- `spot_private_get_openorders(request)`
174+
- `spot_private_get_allorders(request)`
175+
- `spot_private_get_account(request)`
176+
- `spot_private_get_mytrades(request)`
177+
- `spot_private_get_tradefee(request)`
178+
- `spot_private_get_sub_account_list(request)`
179+
- `spot_private_get_sub_account_apikey(request)`
180+
- `spot_private_get_capital_config_getall(request)`
181+
- `spot_private_get_capital_deposit_hisrec(request)`
182+
- `spot_private_get_capital_withdraw_history(request)`
183+
- `spot_private_get_capital_withdraw_address(request)`
184+
- `spot_private_get_capital_deposit_address(request)`
185+
- `spot_private_get_capital_transfer(request)`
186+
- `spot_private_get_capital_transfer_tranid(request)`
187+
- `spot_private_get_capital_transfer_internal(request)`
188+
- `spot_private_get_capital_sub_account_universaltransfer(request)`
189+
- `spot_private_get_capital_convert(request)`
190+
- `spot_private_get_capital_convert_list(request)`
191+
- `spot_private_get_margin_loan(request)`
192+
- `spot_private_get_margin_allorders(request)`
193+
- `spot_private_get_margin_mytrades(request)`
194+
- `spot_private_get_margin_openorders(request)`
195+
- `spot_private_get_margin_maxtransferable(request)`
196+
- `spot_private_get_margin_priceindex(request)`
197+
- `spot_private_get_margin_order(request)`
198+
- `spot_private_get_margin_isolated_account(request)`
199+
- `spot_private_get_margin_maxborrowable(request)`
200+
- `spot_private_get_margin_repay(request)`
201+
- `spot_private_get_margin_isolated_pair(request)`
202+
- `spot_private_get_margin_forceliquidationrec(request)`
203+
- `spot_private_get_margin_isolatedmargindata(request)`
204+
- `spot_private_get_margin_isolatedmargintier(request)`
205+
- `spot_private_get_rebate_taxquery(request)`
206+
- `spot_private_get_rebate_detail(request)`
207+
- `spot_private_get_rebate_detail_kickback(request)`
208+
- `spot_private_get_rebate_refercode(request)`
209+
- `spot_private_get_rebate_affiliate_commission(request)`
210+
- `spot_private_get_rebate_affiliate_withdraw(request)`
211+
- `spot_private_get_rebate_affiliate_commission_detail(request)`
212+
- `spot_private_get_mxdeduct_enable(request)`
213+
- `spot_private_get_userdatastream(request)`
214+
- `spot_private_get_selfsymbols(request)`
215+
- `spot_private_post_order(request)`
216+
- `spot_private_post_order_test(request)`
217+
- `spot_private_post_sub_account_virtualsubaccount(request)`
218+
- `spot_private_post_sub_account_apikey(request)`
219+
- `spot_private_post_sub_account_futures(request)`
220+
- `spot_private_post_sub_account_margin(request)`
221+
- `spot_private_post_batchorders(request)`
222+
- `spot_private_post_capital_withdraw_apply(request)`
223+
- `spot_private_post_capital_withdraw(request)`
224+
- `spot_private_post_capital_transfer(request)`
225+
- `spot_private_post_capital_transfer_internal(request)`
226+
- `spot_private_post_capital_deposit_address(request)`
227+
- `spot_private_post_capital_sub_account_universaltransfer(request)`
228+
- `spot_private_post_capital_convert(request)`
229+
- `spot_private_post_mxdeduct_enable(request)`
230+
- `spot_private_post_userdatastream(request)`
231+
- `spot_private_put_userdatastream(request)`
232+
- `spot_private_delete_order(request)`
233+
- `spot_private_delete_openorders(request)`
234+
- `spot_private_delete_sub_account_apikey(request)`
235+
- `spot_private_delete_margin_order(request)`
236+
- `spot_private_delete_margin_openorders(request)`
237+
- `spot_private_delete_userdatastream(request)`
238+
- `spot_private_delete_capital_withdraw(request)`
239+
- `contract_public_get_ping(request)`
240+
- `contract_public_get_detail(request)`
241+
- `contract_public_get_support_currencies(request)`
242+
- `contract_public_get_depth_symbol(request)`
243+
- `contract_public_get_depth_commits_symbol_limit(request)`
244+
- `contract_public_get_index_price_symbol(request)`
245+
- `contract_public_get_fair_price_symbol(request)`
246+
- `contract_public_get_funding_rate_symbol(request)`
247+
- `contract_public_get_kline_symbol(request)`
248+
- `contract_public_get_kline_index_price_symbol(request)`
249+
- `contract_public_get_kline_fair_price_symbol(request)`
250+
- `contract_public_get_deals_symbol(request)`
251+
- `contract_public_get_ticker(request)`
252+
- `contract_public_get_risk_reverse(request)`
253+
- `contract_public_get_risk_reverse_history(request)`
254+
- `contract_public_get_funding_rate_history(request)`
255+
- `contract_private_get_account_assets(request)`
256+
- `contract_private_get_account_asset_currency(request)`
257+
- `contract_private_get_account_transfer_record(request)`
258+
- `contract_private_get_position_list_history_positions(request)`
259+
- `contract_private_get_position_open_positions(request)`
260+
- `contract_private_get_position_funding_records(request)`
261+
- `contract_private_get_position_position_mode(request)`
262+
- `contract_private_get_order_list_open_orders_symbol(request)`
263+
- `contract_private_get_order_list_history_orders(request)`
264+
- `contract_private_get_order_external_symbol_external_oid(request)`
265+
- `contract_private_get_order_get_order_id(request)`
266+
- `contract_private_get_order_batch_query(request)`
267+
- `contract_private_get_order_deal_details_order_id(request)`
268+
- `contract_private_get_order_list_order_deals(request)`
269+
- `contract_private_get_planorder_list_orders(request)`
270+
- `contract_private_get_stoporder_list_orders(request)`
271+
- `contract_private_get_stoporder_order_details_stop_order_id(request)`
272+
- `contract_private_get_account_risk_limit(request)`
273+
- `contract_private_get_account_tiered_fee_rate(request)`
274+
- `contract_private_get_position_leverage(request)`
275+
- `contract_private_post_position_change_margin(request)`
276+
- `contract_private_post_position_change_leverage(request)`
277+
- `contract_private_post_position_change_position_mode(request)`
278+
- `contract_private_post_order_submit(request)`
279+
- `contract_private_post_order_submit_batch(request)`
280+
- `contract_private_post_order_cancel(request)`
281+
- `contract_private_post_order_cancel_with_external(request)`
282+
- `contract_private_post_order_cancel_all(request)`
283+
- `contract_private_post_account_change_risk_level(request)`
284+
- `contract_private_post_planorder_place(request)`
285+
- `contract_private_post_planorder_cancel(request)`
286+
- `contract_private_post_planorder_cancel_all(request)`
287+
- `contract_private_post_stoporder_cancel(request)`
288+
- `contract_private_post_stoporder_cancel_all(request)`
289+
- `contract_private_post_stoporder_change_price(request)`
290+
- `contract_private_post_stoporder_change_plan_price(request)`
291+
- `spot2_public_get_market_symbols(request)`
292+
- `spot2_public_get_market_coin_list(request)`
293+
- `spot2_public_get_common_timestamp(request)`
294+
- `spot2_public_get_common_ping(request)`
295+
- `spot2_public_get_market_ticker(request)`
296+
- `spot2_public_get_market_depth(request)`
297+
- `spot2_public_get_market_deals(request)`
298+
- `spot2_public_get_market_kline(request)`
299+
- `spot2_public_get_market_api_default_symbols(request)`
300+
- `spot2_private_get_account_info(request)`
301+
- `spot2_private_get_order_open_orders(request)`
302+
- `spot2_private_get_order_list(request)`
303+
- `spot2_private_get_order_query(request)`
304+
- `spot2_private_get_order_deals(request)`
305+
- `spot2_private_get_order_deal_detail(request)`
306+
- `spot2_private_get_asset_deposit_address_list(request)`
307+
- `spot2_private_get_asset_deposit_list(request)`
308+
- `spot2_private_get_asset_address_list(request)`
309+
- `spot2_private_get_asset_withdraw_list(request)`
310+
- `spot2_private_get_asset_internal_transfer_record(request)`
311+
- `spot2_private_get_account_balance(request)`
312+
- `spot2_private_get_asset_internal_transfer_info(request)`
313+
- `spot2_private_get_market_api_symbols(request)`
314+
- `spot2_private_post_order_place(request)`
315+
- `spot2_private_post_order_place_batch(request)`
316+
- `spot2_private_post_order_advanced_place_batch(request)`
317+
- `spot2_private_post_asset_withdraw(request)`
318+
- `spot2_private_post_asset_internal_transfer(request)`
319+
- `spot2_private_delete_order_cancel(request)`
320+
- `spot2_private_delete_order_cancel_by_symbol(request)`
321+
- `spot2_private_delete_asset_withdraw(request)`
322+
- `broker_private_get_sub_account_universaltransfer(request)`
323+
- `broker_private_get_sub_account_list(request)`
324+
- `broker_private_get_sub_account_apikey(request)`
325+
- `broker_private_get_capital_deposit_subaddress(request)`
326+
- `broker_private_get_capital_deposit_subhisrec(request)`
327+
- `broker_private_get_capital_deposit_subhisrec_getall(request)`
328+
- `broker_private_post_sub_account_virtualsubaccount(request)`
329+
- `broker_private_post_sub_account_apikey(request)`
330+
- `broker_private_post_capital_deposit_subaddress(request)`
331+
- `broker_private_post_capital_withdraw_apply(request)`
332+
- `broker_private_post_sub_account_universaltransfer(request)`
333+
- `broker_private_post_sub_account_futures(request)`
334+
- `broker_private_delete_sub_account_apikey(request)`
335+
336+
### WS Unified
337+
338+
- `describe(self)`
339+
- `watch_ticker(self, symbol: str, params={})`
340+
- `watch_tickers(self, symbols: Strings = None, params={})`
341+
- `watch_bids_asks(self, symbols: Strings = None, params={})`
342+
- `watch_spot_public(self, channel, messageHash, params={})`
343+
- `watch_spot_private(self, channel, messageHash, params={})`
344+
- `watch_swap_public(self, channel, messageHash, requestParams, params={})`
345+
- `watch_swap_private(self, messageHash, params={})`
346+
- `watch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={})`
347+
- `watch_order_book(self, symbol: str, limit: Int = None, params={})`
348+
- `get_cache_index(self, orderbook, cache)`
349+
- `watch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={})`
350+
- `watch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
351+
- `watch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
352+
- `watch_balance(self, params={})`
353+
- `authenticate(self, subscriptionHash, params={})`
354+
- `keep_alive_listen_key(self, listenKey, params={})`
355+
356+
## Contribution
357+
- Give us a star :star:
358+
- Fork and Clone! Awesome
359+
- Select existing issues or create a new issue.

0 commit comments

Comments
 (0)