Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions binance/async_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -1892,6 +1892,9 @@ async def futures_create_order(self, **params):
params["newClientOrderId"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()
return await self._request_futures_api("post", "order", True, data=params)

async def futures_create_algo_order(self, **params):
Copy link

Copilot AI Nov 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing docstrings for all algo order methods. The sync client methods (client.py) have proper documentation with descriptions and API reference links, but these async versions are missing them. Add docstrings to maintain consistency with the sync client and help users understand these methods. See the corresponding methods in client.py (lines 7784-7994) for reference.

Suggested change
async def futures_create_algo_order(self, **params):
async def futures_create_algo_order(self, **params):
"""Send in a new futures algo order.
https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/algo-order
"""

Copilot uses AI. Check for mistakes.
return await self._request_futures_api("post", "algoOrder", True, data=params)

async def futures_limit_order(self, **params):
"""Send in a new futures limit order.

Expand Down Expand Up @@ -2003,6 +2006,21 @@ async def futures_cancel_all_open_orders(self, **params):
"delete", "allOpenOrders", True, data=params
)

async def futures_get_algo_order(self, **params):
return await self._request_futures_api("get", "algoOrder", True, data=params)

async def futures_get_open_algo_orders(self, **params):
return await self._request_futures_api("get", "openAlgoOrders", True, data=params)

async def futures_get_all_algo_orders(self, **params):
return await self._request_futures_api("get", "allAlgoOrders", True, data=params)

async def futures_cancel_algo_order(self, **params):
return await self._request_futures_api("delete", "algoOrder", True, data=params)

async def futures_cancel_all_open_algo_orders(self, **params):
Comment on lines +2009 to +2021
Copy link

Copilot AI Nov 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing docstrings for all algo order methods. The sync client methods (client.py) have proper documentation with descriptions and API reference links, but these async versions are missing them. Add docstrings to maintain consistency with the sync client and help users understand these methods. See the corresponding methods in client.py (lines 7784-7994) for reference.

Suggested change
async def futures_get_algo_order(self, **params):
return await self._request_futures_api("get", "algoOrder", True, data=params)
async def futures_get_open_algo_orders(self, **params):
return await self._request_futures_api("get", "openAlgoOrders", True, data=params)
async def futures_get_all_algo_orders(self, **params):
return await self._request_futures_api("get", "allAlgoOrders", True, data=params)
async def futures_cancel_algo_order(self, **params):
return await self._request_futures_api("delete", "algoOrder", True, data=params)
async def futures_cancel_all_open_algo_orders(self, **params):
async def futures_get_algo_order(self, **params):
"""Get a specific algo order (Futures).
https://binance-docs.github.io/apidocs/futures/en/#query-algo-order-user_data
:param symbol: str
:param algoId: str
:param isIsolated: str (optional)
:param recvWindow: int (optional)
:return: API response
"""
return await self._request_futures_api("get", "algoOrder", True, data=params)
async def futures_get_open_algo_orders(self, **params):
"""Get all open algo orders (Futures).
https://binance-docs.github.io/apidocs/futures/en/#query-open-algo-orders-user_data
:param symbol: str
:param isIsolated: str (optional)
:param algoType: str (optional)
:param recvWindow: int (optional)
:return: API response
"""
return await self._request_futures_api("get", "openAlgoOrders", True, data=params)
async def futures_get_all_algo_orders(self, **params):
"""Get all algo orders (Futures).
https://binance-docs.github.io/apidocs/futures/en/#query-all-algo-orders-user_data
:param symbol: str
:param isIsolated: str (optional)
:param algoType: str (optional)
:param startTime: int (optional)
:param endTime: int (optional)
:param limit: int (optional)
:param recvWindow: int (optional)
:return: API response
"""
return await self._request_futures_api("get", "allAlgoOrders", True, data=params)
async def futures_cancel_algo_order(self, **params):
"""Cancel a specific algo order (Futures).
https://binance-docs.github.io/apidocs/futures/en/#cancel-algo-order-trade
:param symbol: str
:param algoId: str
:param isIsolated: str (optional)
:param recvWindow: int (optional)
:return: API response
"""
return await self._request_futures_api("delete", "algoOrder", True, data=params)
async def futures_cancel_all_open_algo_orders(self, **params):
"""Cancel all open algo orders (Futures).
https://binance-docs.github.io/apidocs/futures/en/#cancel-all-open-algo-orders-trade
:param symbol: str
:param isIsolated: str (optional)
:param algoType: str (optional)
:param recvWindow: int (optional)
:return: API response
"""

Copilot uses AI. Check for mistakes.
Comment on lines +2009 to +2021
Copy link

Copilot AI Nov 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing docstrings for all algo order methods. The sync client methods (client.py) have proper documentation with descriptions and API reference links, but these async versions are missing them. Add docstrings to maintain consistency with the sync client and help users understand these methods. See the corresponding methods in client.py (lines 7784-7994) for reference.

Suggested change
async def futures_get_algo_order(self, **params):
return await self._request_futures_api("get", "algoOrder", True, data=params)
async def futures_get_open_algo_orders(self, **params):
return await self._request_futures_api("get", "openAlgoOrders", True, data=params)
async def futures_get_all_algo_orders(self, **params):
return await self._request_futures_api("get", "allAlgoOrders", True, data=params)
async def futures_cancel_algo_order(self, **params):
return await self._request_futures_api("delete", "algoOrder", True, data=params)
async def futures_cancel_all_open_algo_orders(self, **params):
async def futures_get_algo_order(self, **params):
"""
Get a single algo order on Binance Futures.
https://binance-docs.github.io/apidocs/futures/en/#query-algo-order-user_data
:param params: See Binance API documentation for accepted parameters.
:return: API response
"""
return await self._request_futures_api("get", "algoOrder", True, data=params)
async def futures_get_open_algo_orders(self, **params):
"""
Get all open algo orders on Binance Futures.
https://binance-docs.github.io/apidocs/futures/en/#current-open-algo-orders-user_data
:param params: See Binance API documentation for accepted parameters.
:return: API response
"""
return await self._request_futures_api("get", "openAlgoOrders", True, data=params)
async def futures_get_all_algo_orders(self, **params):
"""
Get all algo orders (historical and current) on Binance Futures.
https://binance-docs.github.io/apidocs/futures/en/#query-algo-orders-history-user_data
:param params: See Binance API documentation for accepted parameters.
:return: API response
"""
return await self._request_futures_api("get", "allAlgoOrders", True, data=params)
async def futures_cancel_algo_order(self, **params):
"""
Cancel a single algo order on Binance Futures.
https://binance-docs.github.io/apidocs/futures/en/#cancel-algo-order-trade
:param params: See Binance API documentation for accepted parameters.
:return: API response
"""
return await self._request_futures_api("delete", "algoOrder", True, data=params)
async def futures_cancel_all_open_algo_orders(self, **params):
"""
Cancel all open algo orders on Binance Futures.
https://binance-docs.github.io/apidocs/futures/en/#cancel-all-open-algo-orders-trade
:param params: See Binance API documentation for accepted parameters.
:return: API response
"""

Copilot uses AI. Check for mistakes.
Comment on lines +2009 to +2021
Copy link

Copilot AI Nov 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing docstrings for all algo order methods. The sync client methods (client.py) have proper documentation with descriptions and API reference links, but these async versions are missing them. Add docstrings to maintain consistency with the sync client and help users understand these methods. See the corresponding methods in client.py (lines 7784-7994) for reference.

Suggested change
async def futures_get_algo_order(self, **params):
return await self._request_futures_api("get", "algoOrder", True, data=params)
async def futures_get_open_algo_orders(self, **params):
return await self._request_futures_api("get", "openAlgoOrders", True, data=params)
async def futures_get_all_algo_orders(self, **params):
return await self._request_futures_api("get", "allAlgoOrders", True, data=params)
async def futures_cancel_algo_order(self, **params):
return await self._request_futures_api("delete", "algoOrder", True, data=params)
async def futures_cancel_all_open_algo_orders(self, **params):
async def futures_get_algo_order(self, **params):
"""
Get a single algo order on Binance Futures.
https://binance-docs.github.io/apidocs/futures/en/#query-algo-order-user_data
:param params: See Binance API documentation for accepted parameters.
:return: API response
"""
return await self._request_futures_api("get", "algoOrder", True, data=params)
async def futures_get_open_algo_orders(self, **params):
"""
Get all open algo orders on Binance Futures.
https://binance-docs.github.io/apidocs/futures/en/#current-open-algo-orders-user_data
:param params: See Binance API documentation for accepted parameters.
:return: API response
"""
return await self._request_futures_api("get", "openAlgoOrders", True, data=params)
async def futures_get_all_algo_orders(self, **params):
"""
Get all algo orders (historical and current) on Binance Futures.
https://binance-docs.github.io/apidocs/futures/en/#all-algo-orders-user_data
:param params: See Binance API documentation for accepted parameters.
:return: API response
"""
return await self._request_futures_api("get", "allAlgoOrders", True, data=params)
async def futures_cancel_algo_order(self, **params):
"""
Cancel a single algo order on Binance Futures.
https://binance-docs.github.io/apidocs/futures/en/#cancel-algo-order-trade
:param params: See Binance API documentation for accepted parameters.
:return: API response
"""
return await self._request_futures_api("delete", "algoOrder", True, data=params)
async def futures_cancel_all_open_algo_orders(self, **params):
"""
Cancel all open algo orders on Binance Futures.
https://binance-docs.github.io/apidocs/futures/en/#cancel-all-open-algo-orders-trade
:param params: See Binance API documentation for accepted parameters.
:return: API response
"""

Copilot uses AI. Check for mistakes.
Comment on lines +2009 to +2021
Copy link

Copilot AI Nov 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing docstrings for all algo order methods. The sync client methods (client.py) have proper documentation with descriptions and API reference links, but these async versions are missing them. Add docstrings to maintain consistency with the sync client and help users understand these methods. See the corresponding methods in client.py (lines 7784-7994) for reference.

Suggested change
async def futures_get_algo_order(self, **params):
return await self._request_futures_api("get", "algoOrder", True, data=params)
async def futures_get_open_algo_orders(self, **params):
return await self._request_futures_api("get", "openAlgoOrders", True, data=params)
async def futures_get_all_algo_orders(self, **params):
return await self._request_futures_api("get", "allAlgoOrders", True, data=params)
async def futures_cancel_algo_order(self, **params):
return await self._request_futures_api("delete", "algoOrder", True, data=params)
async def futures_cancel_all_open_algo_orders(self, **params):
async def futures_get_algo_order(self, **params):
"""
Get a single algo order on Binance Futures.
https://binance-docs.github.io/apidocs/futures/en/#query-algo-order-user_data
:param params: See Binance API documentation for accepted parameters.
:return: API response
"""
return await self._request_futures_api("get", "algoOrder", True, data=params)
async def futures_get_open_algo_orders(self, **params):
"""
Get all open algo orders on Binance Futures.
https://binance-docs.github.io/apidocs/futures/en/#current-open-algo-orders-user_data
:param params: See Binance API documentation for accepted parameters.
:return: API response
"""
return await self._request_futures_api("get", "openAlgoOrders", True, data=params)
async def futures_get_all_algo_orders(self, **params):
"""
Get all algo orders (historical and current) on Binance Futures.
https://binance-docs.github.io/apidocs/futures/en/#query-algo-order-history-user_data
:param params: See Binance API documentation for accepted parameters.
:return: API response
"""
return await self._request_futures_api("get", "allAlgoOrders", True, data=params)
async def futures_cancel_algo_order(self, **params):
"""
Cancel a single algo order on Binance Futures.
https://binance-docs.github.io/apidocs/futures/en/#cancel-algo-order-trade
:param params: See Binance API documentation for accepted parameters.
:return: API response
"""
return await self._request_futures_api("delete", "algoOrder", True, data=params)
async def futures_cancel_all_open_algo_orders(self, **params):
"""
Cancel all open algo orders on Binance Futures.
https://binance-docs.github.io/apidocs/futures/en/#cancel-all-open-algo-orders-trade
:param params: See Binance API documentation for accepted parameters.
:return: API response
"""

Copilot uses AI. Check for mistakes.
Comment on lines +2009 to +2021
Copy link

Copilot AI Nov 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing docstrings for all algo order methods. The sync client methods (client.py) have proper documentation with descriptions and API reference links, but these async versions are missing them. Add docstrings to maintain consistency with the sync client and help users understand these methods. See the corresponding methods in client.py (lines 7784-7994) for reference.

Suggested change
async def futures_get_algo_order(self, **params):
return await self._request_futures_api("get", "algoOrder", True, data=params)
async def futures_get_open_algo_orders(self, **params):
return await self._request_futures_api("get", "openAlgoOrders", True, data=params)
async def futures_get_all_algo_orders(self, **params):
return await self._request_futures_api("get", "allAlgoOrders", True, data=params)
async def futures_cancel_algo_order(self, **params):
return await self._request_futures_api("delete", "algoOrder", True, data=params)
async def futures_cancel_all_open_algo_orders(self, **params):
async def futures_get_algo_order(self, **params):
"""
Get a single algo order on Binance Futures.
See Binance API documentation:
https://binance-docs.github.io/apidocs/futures/en/#query-algo-order-user_data
:param params: Required and optional parameters for the endpoint.
:type params: dict
:return: API response
"""
return await self._request_futures_api("get", "algoOrder", True, data=params)
async def futures_get_open_algo_orders(self, **params):
"""
Get all open algo orders on Binance Futures.
See Binance API documentation:
https://binance-docs.github.io/apidocs/futures/en/#current-open-algo-orders-user_data
:param params: Required and optional parameters for the endpoint.
:type params: dict
:return: API response
"""
return await self._request_futures_api("get", "openAlgoOrders", True, data=params)
async def futures_get_all_algo_orders(self, **params):
"""
Get all algo orders (historical and current) on Binance Futures.
See Binance API documentation:
https://binance-docs.github.io/apidocs/futures/en/#query-all-algo-orders-user_data
:param params: Required and optional parameters for the endpoint.
:type params: dict
:return: API response
"""
return await self._request_futures_api("get", "allAlgoOrders", True, data=params)
async def futures_cancel_algo_order(self, **params):
"""
Cancel a single algo order on Binance Futures.
See Binance API documentation:
https://binance-docs.github.io/apidocs/futures/en/#cancel-algo-order-trade
:param params: Required and optional parameters for the endpoint.
:type params: dict
:return: API response
"""
return await self._request_futures_api("delete", "algoOrder", True, data=params)
async def futures_cancel_all_open_algo_orders(self, **params):
"""
Cancel all open algo orders on Binance Futures.
See Binance API documentation:
https://binance-docs.github.io/apidocs/futures/en/#cancel-all-open-algo-orders-trade
:param params: Required and optional parameters for the endpoint.
:type params: dict
:return: API response
"""

Copilot uses AI. Check for mistakes.
return await self._request_futures_api("delete", "algoOpenOrders", True, data=params)

async def futures_cancel_orders(self, **params):
if params.get("orderidlist"):
params["orderidlist"] = quote(
Expand Down
48 changes: 48 additions & 0 deletions binance/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -7781,6 +7781,14 @@ def futures_create_order(self, **params):
params["newClientOrderId"] = self.CONTRACT_ORDER_PREFIX + self.uuid22()
return self._request_futures_api("post", "order", True, data=params)

def futures_create_algo_order(self, **params):
"""Send in a new futures Algo order.

https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/New-Algo-Order

"""
return self._request_futures_api('post', 'algoOrder', True, data=params)
Copy link

Copilot AI Nov 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent quote style. Use double quotes for the method parameter to match the style used in other methods in this file (e.g., line 7782, 7962, etc.).

Suggested change
return self._request_futures_api('post', 'algoOrder', True, data=params)
return self._request_futures_api("post", "algoOrder", True, data=params)

Copilot uses AI. Check for mistakes.

def futures_limit_order(self, **params):
"""Send in a new futures limit order.

Expand Down Expand Up @@ -7945,6 +7953,46 @@ def futures_cancel_orders(self, **params):
"delete", "batchOrders", True, force_params=True, data=params
)

def futures_get_algo_order(self, **params):
"""Check an algo order's status.

https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Query-Algo-Order

"""
return self._request_futures_api("get", "algoOrder", True, data=params)

def futures_get_open_algo_orders(self, **params):
"""Get all algo open orders on a symbol.

https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Current-All-Algo-Open-Orders

"""
return self._request_futures_api("get", "openAlgoOrders", True, data=params)

def futures_get_all_algo_orders(self, **params):
"""Get all algo orders; active, CANCELED, TRIGGERED or FINISHED.

https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Query-All-Algo-Orders

"""
return self._request_futures_api("get", "allAlgoOrders", True, data=params)

def futures_cancel_algo_order(self, **params):
"""Cancel an active futures algo order.

https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-Algo-Order

"""
return self._request_futures_api("delete", "algoOrder", True, data=params)

def futures_cancel_all_open_algo_orders(self, **params):
"""Cancel all open futures algo orders

https://developers.binance.com/docs/derivatives/usds-margined-futures/trade/rest-api/Cancel-All-Algo-Open-Orders

"""
return self._request_futures_api("delete", "algoOpenOrders", True, data=params)

def futures_countdown_cancel_all(self, **params):
"""Cancel all open orders of the specified symbol at the end of the specified countdown.

Expand Down
Loading