Skip to content

Commit 5c855c5

Browse files
committed
pushback
1 parent 971ff14 commit 5c855c5

File tree

1 file changed

+396
-0
lines changed

1 file changed

+396
-0
lines changed

README.md

Lines changed: 396 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,396 @@
1+
# kucoin-python
2+
Python SDK (sync and async) for Kucoin cryptocurrency exchange with Rest and WS capabilities.
3+
4+
You can check the SDK docs here: [SDK](https://docs.ccxt.com/#/exchanges/kucoin)
5+
You can check Kucoin'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 kucoin import KucoinSync
20+
21+
def main():
22+
instance = KucoinSync({})
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 kucoin import KucoinAsync
35+
36+
async def main():
37+
instance = KucoinAsync({})
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 kucoin import KucoinWs
53+
54+
async def main():
55+
instance = KucoinWs({})
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_order_with_cost(self, symbol: str, side: OrderSide, cost: float, params={})`
93+
- `create_market_sell_order_with_cost(self, symbol: str, cost: float, params={})`
94+
- `create_order_request(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={})`
95+
- `create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={})`
96+
- `create_orders(self, orders: List[OrderRequest], params={})`
97+
- `fetch_accounts(self, params={})`
98+
- `fetch_balance(self, params={})`
99+
- `fetch_borrow_interest(self, code: Str = None, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
100+
- `fetch_borrow_rate_histories(self, codes=None, since: Int = None, limit: Int = None, params={})`
101+
- `fetch_borrow_rate_history(self, code: str, since: Int = None, limit: Int = None, params={})`
102+
- `fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
103+
- `fetch_currencies(self, params={})`
104+
- `fetch_deposit_address(self, code: str, params={})`
105+
- `fetch_deposit_addresses_by_network(self, code: str, params={})`
106+
- `fetch_deposit_withdraw_fee(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_ledger(self, code: Str = None, since: Int = None, limit: Int = None, params={})`
110+
- `fetch_mark_price(self, symbol: str, params={})`
111+
- `fetch_mark_prices(self, symbols: Strings = None, params={})`
112+
- `fetch_markets(self, params={})`
113+
- `fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
114+
- `fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={})`
115+
- `fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
116+
- `fetch_order_book(self, symbol: str, limit: Int = None, params={})`
117+
- `fetch_order_trades(self, id: str, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
118+
- `fetch_order(self, id: str, symbol: Str = None, params={})`
119+
- `fetch_orders_by_status(self, status, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
120+
- `fetch_status(self, params={})`
121+
- `fetch_ticker(self, symbol: str, params={})`
122+
- `fetch_tickers(self, symbols: Strings = None, params={})`
123+
- `fetch_time(self, params={})`
124+
- `fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={})`
125+
- `fetch_trading_fee(self, symbol: str, params={})`
126+
- `fetch_transaction_fee(self, code: str, params={})`
127+
- `fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={})`
128+
- `borrow_cross_margin(self, code: str, amount: float, params={})`
129+
- `borrow_isolated_margin(self, symbol: str, code: str, amount: float, params={})`
130+
- `calculate_rate_limiter_cost(self, api, method, path, params, config={})`
131+
- `cancel_all_orders(self, symbol: Str = None, params={})`
132+
- `cancel_order(self, id: str, symbol: Str = None, params={})`
133+
- `describe(self)`
134+
- `edit_order(self, id: str, symbol: str, type: OrderType, side: OrderSide, amount: Num = None, price: Num = None, params={})`
135+
- `is_futures_method(self, methodName, params)`
136+
- `market_order_amount_to_precision(self, symbol: str, amount)`
137+
- `nonce(self)`
138+
- `repay_cross_margin(self, code: str, amount, params={})`
139+
- `repay_isolated_margin(self, symbol: str, code: str, amount, params={})`
140+
- `set_leverage(self, leverage: Int, symbol: Str = None, params={})`
141+
- `transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={})`
142+
- `withdraw(self, code: str, amount: float, address: str, tag=None, params={})`
143+
144+
### REST Raw
145+
146+
- `public_get_currencies(request)`
147+
- `public_get_currencies_currency(request)`
148+
- `public_get_symbols(request)`
149+
- `public_get_market_orderbook_level1(request)`
150+
- `public_get_market_alltickers(request)`
151+
- `public_get_market_stats(request)`
152+
- `public_get_markets(request)`
153+
- `public_get_market_orderbook_level_level_limit(request)`
154+
- `public_get_market_orderbook_level2_20(request)`
155+
- `public_get_market_orderbook_level2_100(request)`
156+
- `public_get_market_histories(request)`
157+
- `public_get_market_candles(request)`
158+
- `public_get_prices(request)`
159+
- `public_get_timestamp(request)`
160+
- `public_get_status(request)`
161+
- `public_get_mark_price_symbol_current(request)`
162+
- `public_get_mark_price_all_symbols(request)`
163+
- `public_get_margin_config(request)`
164+
- `public_get_announcements(request)`
165+
- `public_post_bullet_public(request)`
166+
- `private_get_user_info(request)`
167+
- `private_get_accounts(request)`
168+
- `private_get_accounts_accountid(request)`
169+
- `private_get_accounts_ledgers(request)`
170+
- `private_get_hf_accounts_ledgers(request)`
171+
- `private_get_hf_margin_account_ledgers(request)`
172+
- `private_get_transaction_history(request)`
173+
- `private_get_sub_user(request)`
174+
- `private_get_sub_accounts_subuserid(request)`
175+
- `private_get_sub_accounts(request)`
176+
- `private_get_sub_api_key(request)`
177+
- `private_get_margin_account(request)`
178+
- `private_get_margin_accounts(request)`
179+
- `private_get_isolated_accounts(request)`
180+
- `private_get_deposit_addresses(request)`
181+
- `private_get_deposits(request)`
182+
- `private_get_hist_deposits(request)`
183+
- `private_get_withdrawals(request)`
184+
- `private_get_hist_withdrawals(request)`
185+
- `private_get_withdrawals_quotas(request)`
186+
- `private_get_accounts_transferable(request)`
187+
- `private_get_transfer_list(request)`
188+
- `private_get_base_fee(request)`
189+
- `private_get_trade_fees(request)`
190+
- `private_get_market_orderbook_level_level(request)`
191+
- `private_get_market_orderbook_level2(request)`
192+
- `private_get_market_orderbook_level3(request)`
193+
- `private_get_hf_accounts_opened(request)`
194+
- `private_get_hf_orders_active(request)`
195+
- `private_get_hf_orders_active_symbols(request)`
196+
- `private_get_hf_margin_order_active_symbols(request)`
197+
- `private_get_hf_orders_done(request)`
198+
- `private_get_hf_orders_orderid(request)`
199+
- `private_get_hf_orders_client_order_clientoid(request)`
200+
- `private_get_hf_orders_dead_cancel_all_query(request)`
201+
- `private_get_hf_fills(request)`
202+
- `private_get_orders(request)`
203+
- `private_get_limit_orders(request)`
204+
- `private_get_orders_orderid(request)`
205+
- `private_get_order_client_order_clientoid(request)`
206+
- `private_get_fills(request)`
207+
- `private_get_limit_fills(request)`
208+
- `private_get_stop_order(request)`
209+
- `private_get_stop_order_orderid(request)`
210+
- `private_get_stop_order_queryorderbyclientoid(request)`
211+
- `private_get_oco_order_orderid(request)`
212+
- `private_get_oco_order_details_orderid(request)`
213+
- `private_get_oco_client_order_clientoid(request)`
214+
- `private_get_oco_orders(request)`
215+
- `private_get_hf_margin_orders_active(request)`
216+
- `private_get_hf_margin_orders_done(request)`
217+
- `private_get_hf_margin_orders_orderid(request)`
218+
- `private_get_hf_margin_orders_client_order_clientoid(request)`
219+
- `private_get_hf_margin_fills(request)`
220+
- `private_get_etf_info(request)`
221+
- `private_get_margin_currencies(request)`
222+
- `private_get_risk_limit_strategy(request)`
223+
- `private_get_isolated_symbols(request)`
224+
- `private_get_margin_symbols(request)`
225+
- `private_get_isolated_account_symbol(request)`
226+
- `private_get_margin_borrow(request)`
227+
- `private_get_margin_repay(request)`
228+
- `private_get_margin_interest(request)`
229+
- `private_get_project_list(request)`
230+
- `private_get_project_marketinterestrate(request)`
231+
- `private_get_redeem_orders(request)`
232+
- `private_get_purchase_orders(request)`
233+
- `private_get_broker_api_rebase_download(request)`
234+
- `private_get_migrate_user_account_status(request)`
235+
- `private_get_affiliate_inviter_statistics(request)`
236+
- `private_post_sub_user_created(request)`
237+
- `private_post_sub_api_key(request)`
238+
- `private_post_sub_api_key_update(request)`
239+
- `private_post_deposit_addresses(request)`
240+
- `private_post_withdrawals(request)`
241+
- `private_post_accounts_universal_transfer(request)`
242+
- `private_post_accounts_sub_transfer(request)`
243+
- `private_post_accounts_inner_transfer(request)`
244+
- `private_post_transfer_out(request)`
245+
- `private_post_transfer_in(request)`
246+
- `private_post_hf_orders(request)`
247+
- `private_post_hf_orders_test(request)`
248+
- `private_post_hf_orders_sync(request)`
249+
- `private_post_hf_orders_multi(request)`
250+
- `private_post_hf_orders_multi_sync(request)`
251+
- `private_post_hf_orders_alter(request)`
252+
- `private_post_hf_orders_dead_cancel_all(request)`
253+
- `private_post_orders(request)`
254+
- `private_post_orders_test(request)`
255+
- `private_post_orders_multi(request)`
256+
- `private_post_stop_order(request)`
257+
- `private_post_oco_order(request)`
258+
- `private_post_hf_margin_order(request)`
259+
- `private_post_hf_margin_order_test(request)`
260+
- `private_post_margin_order(request)`
261+
- `private_post_margin_order_test(request)`
262+
- `private_post_margin_borrow(request)`
263+
- `private_post_margin_repay(request)`
264+
- `private_post_purchase(request)`
265+
- `private_post_redeem(request)`
266+
- `private_post_lend_purchase_update(request)`
267+
- `private_post_bullet_private(request)`
268+
- `private_post_position_update_user_leverage(request)`
269+
- `private_post_deposit_address_create(request)`
270+
- `private_delete_sub_api_key(request)`
271+
- `private_delete_withdrawals_withdrawalid(request)`
272+
- `private_delete_hf_orders_orderid(request)`
273+
- `private_delete_hf_orders_sync_orderid(request)`
274+
- `private_delete_hf_orders_client_order_clientoid(request)`
275+
- `private_delete_hf_orders_sync_client_order_clientoid(request)`
276+
- `private_delete_hf_orders_cancel_orderid(request)`
277+
- `private_delete_hf_orders(request)`
278+
- `private_delete_hf_orders_cancelall(request)`
279+
- `private_delete_orders_orderid(request)`
280+
- `private_delete_order_client_order_clientoid(request)`
281+
- `private_delete_orders(request)`
282+
- `private_delete_stop_order_orderid(request)`
283+
- `private_delete_stop_order_cancelorderbyclientoid(request)`
284+
- `private_delete_stop_order_cancel(request)`
285+
- `private_delete_oco_order_orderid(request)`
286+
- `private_delete_oco_client_order_clientoid(request)`
287+
- `private_delete_oco_orders(request)`
288+
- `private_delete_hf_margin_orders_orderid(request)`
289+
- `private_delete_hf_margin_orders_client_order_clientoid(request)`
290+
- `private_delete_hf_margin_orders(request)`
291+
- `futurespublic_get_contracts_active(request)`
292+
- `futurespublic_get_contracts_symbol(request)`
293+
- `futurespublic_get_ticker(request)`
294+
- `futurespublic_get_level2_snapshot(request)`
295+
- `futurespublic_get_level2_depth20(request)`
296+
- `futurespublic_get_level2_depth100(request)`
297+
- `futurespublic_get_trade_history(request)`
298+
- `futurespublic_get_kline_query(request)`
299+
- `futurespublic_get_interest_query(request)`
300+
- `futurespublic_get_index_query(request)`
301+
- `futurespublic_get_mark_price_symbol_current(request)`
302+
- `futurespublic_get_premium_query(request)`
303+
- `futurespublic_get_trade_statistics(request)`
304+
- `futurespublic_get_funding_rate_symbol_current(request)`
305+
- `futurespublic_get_contract_funding_rates(request)`
306+
- `futurespublic_get_timestamp(request)`
307+
- `futurespublic_get_status(request)`
308+
- `futurespublic_get_level2_message_query(request)`
309+
- `futurespublic_post_bullet_public(request)`
310+
- `futuresprivate_get_transaction_history(request)`
311+
- `futuresprivate_get_account_overview(request)`
312+
- `futuresprivate_get_account_overview_all(request)`
313+
- `futuresprivate_get_transfer_list(request)`
314+
- `futuresprivate_get_orders(request)`
315+
- `futuresprivate_get_stoporders(request)`
316+
- `futuresprivate_get_recentdoneorders(request)`
317+
- `futuresprivate_get_orders_orderid(request)`
318+
- `futuresprivate_get_orders_byclientoid(request)`
319+
- `futuresprivate_get_fills(request)`
320+
- `futuresprivate_get_recentfills(request)`
321+
- `futuresprivate_get_openorderstatistics(request)`
322+
- `futuresprivate_get_position(request)`
323+
- `futuresprivate_get_positions(request)`
324+
- `futuresprivate_get_margin_maxwithdrawmargin(request)`
325+
- `futuresprivate_get_contracts_risk_limit_symbol(request)`
326+
- `futuresprivate_get_funding_history(request)`
327+
- `futuresprivate_post_transfer_out(request)`
328+
- `futuresprivate_post_transfer_in(request)`
329+
- `futuresprivate_post_orders(request)`
330+
- `futuresprivate_post_orders_test(request)`
331+
- `futuresprivate_post_orders_multi(request)`
332+
- `futuresprivate_post_position_margin_auto_deposit_status(request)`
333+
- `futuresprivate_post_margin_withdrawmargin(request)`
334+
- `futuresprivate_post_position_margin_deposit_margin(request)`
335+
- `futuresprivate_post_position_risk_limit_level_change(request)`
336+
- `futuresprivate_post_bullet_private(request)`
337+
- `futuresprivate_delete_orders_orderid(request)`
338+
- `futuresprivate_delete_orders_client_order_clientoid(request)`
339+
- `futuresprivate_delete_orders(request)`
340+
- `futuresprivate_delete_stoporders(request)`
341+
- `webexchange_get_currency_currency_chain_info(request)`
342+
- `broker_get_broker_nd_info(request)`
343+
- `broker_get_broker_nd_account(request)`
344+
- `broker_get_broker_nd_account_apikey(request)`
345+
- `broker_get_broker_nd_rebase_download(request)`
346+
- `broker_get_asset_ndbroker_deposit_list(request)`
347+
- `broker_get_broker_nd_transfer_detail(request)`
348+
- `broker_get_broker_nd_deposit_detail(request)`
349+
- `broker_get_broker_nd_withdraw_detail(request)`
350+
- `broker_post_broker_nd_transfer(request)`
351+
- `broker_post_broker_nd_account(request)`
352+
- `broker_post_broker_nd_account_apikey(request)`
353+
- `broker_post_broker_nd_account_update_apikey(request)`
354+
- `broker_delete_broker_nd_account_apikey(request)`
355+
- `earn_get_otc_loan_loan(request)`
356+
- `earn_get_otc_loan_accounts(request)`
357+
- `earn_get_earn_redeem_preview(request)`
358+
- `earn_get_earn_saving_products(request)`
359+
- `earn_get_earn_hold_assets(request)`
360+
- `earn_get_earn_promotion_products(request)`
361+
- `earn_get_earn_kcs_staking_products(request)`
362+
- `earn_get_earn_staking_products(request)`
363+
- `earn_get_earn_eth_staking_products(request)`
364+
- `earn_post_earn_orders(request)`
365+
- `earn_delete_earn_orders(request)`
366+
367+
### WS Unified
368+
369+
- `describe(self)`
370+
- `negotiate(self, privateChannel, params={})`
371+
- `negotiate_helper(self, privateChannel, params={})`
372+
- `subscribe(self, url, messageHash, subscriptionHash, params={}, subscription=None)`
373+
- `subscribe_multiple(self, url, messageHashes, topic, subscriptionHashes, params={}, subscription=None)`
374+
- `un_subscribe_multiple(self, url, messageHashes, topic, subscriptionHashes, params={}, subscription: dict = None)`
375+
- `watch_ticker(self, symbol: str, params={})`
376+
- `watch_tickers(self, symbols: Strings = None, params={})`
377+
- `watch_bids_asks(self, symbols: Strings = None, params={})`
378+
- `watch_multi_helper(self, methodName, channelName: str, symbols: Strings = None, params={})`
379+
- `watch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={})`
380+
- `watch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={})`
381+
- `watch_trades_for_symbols(self, symbols: List[str], since: Int = None, limit: Int = None, params={})`
382+
- `un_watch_trades_for_symbols(self, symbols: List[str], params={})`
383+
- `un_watch_trades(self, symbol: str, params={})`
384+
- `watch_order_book(self, symbol: str, limit: Int = None, params={})`
385+
- `un_watch_order_book(self, symbol: str, params={})`
386+
- `watch_order_book_for_symbols(self, symbols: List[str], limit: Int = None, params={})`
387+
- `un_watch_order_book_for_symbols(self, symbols: List[str], params={})`
388+
- `get_cache_index(self, orderbook, cache)`
389+
- `watch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
390+
- `watch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
391+
- `watch_balance(self, params={})`
392+
393+
## Contribution
394+
- Give us a star :star:
395+
- Fork and Clone! Awesome
396+
- Select existing issues or create a new issue.

0 commit comments

Comments
 (0)