{"id":28693441,"url":"https://github.com/ccxt/bitmex-python","last_synced_at":"2025-06-14T08:32:03.889Z","repository":{"id":283541246,"uuid":"950782854","full_name":"ccxt/bitmex-python","owner":"ccxt","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-12T19:05:55.000Z","size":959,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-06-14T01:54:09.301Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ccxt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-18T17:18:59.000Z","updated_at":"2025-06-12T19:05:59.000Z","dependencies_parsed_at":"2025-03-20T20:11:29.469Z","dependency_job_id":"0d9d689e-a954-4002-a615-58b2f4ec00aa","html_url":"https://github.com/ccxt/bitmex-python","commit_stats":null,"previous_names":["ccxt/bitmex-python"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ccxt/bitmex-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccxt%2Fbitmex-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccxt%2Fbitmex-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccxt%2Fbitmex-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccxt%2Fbitmex-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ccxt","download_url":"https://codeload.github.com/ccxt/bitmex-python/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccxt%2Fbitmex-python/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259786164,"owners_count":22910892,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-14T08:30:30.395Z","updated_at":"2025-06-14T08:32:03.871Z","avatar_url":"https://github.com/ccxt.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bitmex-python\nPython SDK (sync and async) for Bitmex cryptocurrency exchange with Rest and WS capabilities.\n\n- You can check the SDK docs here: [SDK](https://docs.ccxt.com/#/exchanges/bitmex)\n- You can check Bitmex's docs here: [Docs](https://www.google.com/search?q=google+bitmex+cryptocurrency+exchange+api+docs)\n- Github repo: https://github.com/ccxt/bitmex-python\n- Pypi package: https://pypi.org/project/bitmex-api\n\n\n## Installation\n\n```\npip install bitmex-api\n```\n\n## Usage\n\n### Sync\n\n```Python\nfrom bitmex import BitmexSync\n\ndef main():\n    instance = BitmexSync({})\n    ob =  instance.fetch_order_book(\"BTC/USDC\")\n    print(ob)\n    #\n    # balance = instance.fetch_balance()\n    # order = instance.create_order(\"BTC/USDC\", \"limit\", \"buy\", 1, 100000)\n\nmain()\n```\n\n### Async\n\n```Python\nimport sys\nimport asyncio\nfrom bitmex import BitmexAsync\n\n### on Windows, uncomment below:\n# if sys.platform == 'win32':\n# \tasyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())\n\nasync def main():\n    instance = BitmexAsync({})\n    ob =  await instance.fetch_order_book(\"BTC/USDC\")\n    print(ob)\n    #\n    # balance = await instance.fetch_balance()\n    # order = await instance.create_order(\"BTC/USDC\", \"limit\", \"buy\", 1, 100000)\n\n    # once you are done with the exchange\n    await instance.close()\n\nasyncio.run(main())\n```\n\n\n\n### Websockets\n\n```Python\nimport sys\nfrom bitmex import BitmexWs\n\n### on Windows, uncomment below:\n# if sys.platform == 'win32':\n# \tasyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())\n\nasync def main():\n    instance = BitmexWs({})\n    while True:\n        ob = await instance.watch_order_book(\"BTC/USDC\")\n        print(ob)\n        # orders = await instance.watch_orders(\"BTC/USDC\")\n\n    # once you are done with the exchange\n    await instance.close()\n\nasyncio.run(main())\n```\n\n\n\n\n\n#### Raw call\n\nYou can also construct custom requests to available \"implicit\" endpoints\n\n```Python\n        request = {\n            'type': 'candleSnapshot',\n            'req': {\n                'coin': coin,\n                'interval': tf,\n                'startTime': since,\n                'endTime': until,\n            },\n        }\n        response = await instance.public_post_info(request)\n```\n\n\n## Available methods\n\n### REST Unified\n\n- `create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={})`\n- `fetch_balance(self, params={})`\n- `fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`\n- `fetch_currencies(self, params={})`\n- `fetch_deposit_address(self, code: str, params={})`\n- `fetch_deposit_withdraw_fees(self, codes: Strings = None, params={})`\n- `fetch_deposits_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={})`\n- `fetch_funding_rate_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`\n- `fetch_funding_rates(self, symbols: Strings = None, params={})`\n- `fetch_ledger(self, code: Str = None, since: Int = None, limit: Int = None, params={})`\n- `fetch_leverages(self, symbols: Strings = None, params={})`\n- `fetch_liquidations(self, symbol: str, since: Int = None, limit: Int = None, params={})`\n- `fetch_markets(self, params={})`\n- `fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`\n- `fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={})`\n- `fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`\n- `fetch_order_book(self, symbol: str, limit: Int = None, params={})`\n- `fetch_order(self, id: str, symbol: Str = None, params={})`\n- `fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`\n- `fetch_positions(self, symbols: Strings = None, params={})`\n- `fetch_ticker(self, symbol: str, params={})`\n- `fetch_tickers(self, symbols: Strings = None, params={})`\n- `fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={})`\n- `amount_to_precision(self, symbol, amount)`\n- `calculate_rate_limiter_cost(self, api, method, path, params, config={})`\n- `cancel_all_orders_after(self, timeout: Int, params={})`\n- `cancel_all_orders(self, symbol: Str = None, params={})`\n- `cancel_order(self, id: str, symbol: Str = None, params={})`\n- `cancel_orders(self, ids, symbol: Str = None, params={})`\n- `convert_from_raw_cost(self, symbol, rawQuantity)`\n- `convert_from_raw_quantity(self, symbol, rawQuantity, currencySide='base')`\n- `convert_from_real_amount(self, code, amount)`\n- `convert_to_real_amount(self, code: Str, amount: Str)`\n- `describe(self)`\n- `edit_order(self, id: str, symbol: str, type: OrderType, side: OrderSide, amount: Num = None, price: Num = None, params={})`\n- `nonce(self)`\n- `set_leverage(self, leverage: Int, symbol: Str = None, params={})`\n- `set_margin_mode(self, marginMode: str, symbol: Str = None, params={})`\n- `withdraw(self, code: str, amount: float, address: str, tag=None, params={})`\n\n### REST Raw\n\n- `public_get_announcement(request)`\n- `public_get_announcement_urgent(request)`\n- `public_get_chat(request)`\n- `public_get_chat_channels(request)`\n- `public_get_chat_connected(request)`\n- `public_get_chat_pinned(request)`\n- `public_get_funding(request)`\n- `public_get_guild(request)`\n- `public_get_instrument(request)`\n- `public_get_instrument_active(request)`\n- `public_get_instrument_activeandindices(request)`\n- `public_get_instrument_activeintervals(request)`\n- `public_get_instrument_compositeindex(request)`\n- `public_get_instrument_indices(request)`\n- `public_get_instrument_usdvolume(request)`\n- `public_get_insurance(request)`\n- `public_get_leaderboard(request)`\n- `public_get_liquidation(request)`\n- `public_get_orderbook_l2(request)`\n- `public_get_porl_nonce(request)`\n- `public_get_quote(request)`\n- `public_get_quote_bucketed(request)`\n- `public_get_schema(request)`\n- `public_get_schema_websockethelp(request)`\n- `public_get_settlement(request)`\n- `public_get_stats(request)`\n- `public_get_stats_history(request)`\n- `public_get_stats_historyusd(request)`\n- `public_get_trade(request)`\n- `public_get_trade_bucketed(request)`\n- `public_get_wallet_assets(request)`\n- `public_get_wallet_networks(request)`\n- `private_get_address(request)`\n- `private_get_apikey(request)`\n- `private_get_execution(request)`\n- `private_get_execution_tradehistory(request)`\n- `private_get_globalnotification(request)`\n- `private_get_leaderboard_name(request)`\n- `private_get_order(request)`\n- `private_get_porl_snapshots(request)`\n- `private_get_position(request)`\n- `private_get_user(request)`\n- `private_get_user_affiliatestatus(request)`\n- `private_get_user_checkreferralcode(request)`\n- `private_get_user_commission(request)`\n- `private_get_user_csa(request)`\n- `private_get_user_depositaddress(request)`\n- `private_get_user_executionhistory(request)`\n- `private_get_user_getwallettransferaccounts(request)`\n- `private_get_user_margin(request)`\n- `private_get_user_quotefillratio(request)`\n- `private_get_user_quotevalueratio(request)`\n- `private_get_user_staking(request)`\n- `private_get_user_staking_instruments(request)`\n- `private_get_user_staking_tiers(request)`\n- `private_get_user_tradingvolume(request)`\n- `private_get_user_unstakingrequests(request)`\n- `private_get_user_wallet(request)`\n- `private_get_user_wallethistory(request)`\n- `private_get_user_walletsummary(request)`\n- `private_get_useraffiliates(request)`\n- `private_get_userevent(request)`\n- `private_post_address(request)`\n- `private_post_chat(request)`\n- `private_post_guild(request)`\n- `private_post_guild_archive(request)`\n- `private_post_guild_join(request)`\n- `private_post_guild_kick(request)`\n- `private_post_guild_leave(request)`\n- `private_post_guild_sharestrades(request)`\n- `private_post_order(request)`\n- `private_post_order_cancelallafter(request)`\n- `private_post_order_closeposition(request)`\n- `private_post_position_isolate(request)`\n- `private_post_position_leverage(request)`\n- `private_post_position_risklimit(request)`\n- `private_post_position_transfermargin(request)`\n- `private_post_user_addsubaccount(request)`\n- `private_post_user_cancelwithdrawal(request)`\n- `private_post_user_communicationtoken(request)`\n- `private_post_user_confirmemail(request)`\n- `private_post_user_confirmwithdrawal(request)`\n- `private_post_user_logout(request)`\n- `private_post_user_preferences(request)`\n- `private_post_user_requestwithdrawal(request)`\n- `private_post_user_unstakingrequests(request)`\n- `private_post_user_updatesubaccount(request)`\n- `private_post_user_wallettransfer(request)`\n- `private_put_guild(request)`\n- `private_put_order(request)`\n- `private_delete_order(request)`\n- `private_delete_order_all(request)`\n- `private_delete_user_unstakingrequests(request)`\n\n### WS Unified\n\n- `describe(self)`\n- `watch_ticker(self, symbol: str, params={})`\n- `watch_tickers(self, symbols: Strings = None, params={})`\n- `watch_liquidations(self, symbol: str, since: Int = None, limit: Int = None, params={})`\n- `watch_liquidations_for_symbols(self, symbols: List[str] = None, since: Int = None, limit: Int = None, params={})`\n- `watch_balance(self, params={})`\n- `watch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={})`\n- `authenticate(self, params={})`\n- `watch_positions(self, symbols: Strings = None, since: Int = None, limit: Int = None, params={})`\n- `watch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`\n- `watch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})`\n- `watch_order_book(self, symbol: str, limit: Int = None, params={})`\n- `watch_order_book_for_symbols(self, symbols: List[str], limit: Int = None, params={})`\n- `watch_trades_for_symbols(self, symbols: List[str], since: Int = None, limit: Int = None, params={})`\n- `watch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={})`\n- `watch_heartbeat(self, params={})`\n\n## Contribution\n- Give us a star :star:\n- Fork and Clone! Awesome\n- Select existing issues or create a new issue.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccxt%2Fbitmex-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fccxt%2Fbitmex-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccxt%2Fbitmex-python/lists"}