pub trait AmendOrder: Trading {
// Provided method
fn amend_order<'life0, 'async_trait>(
&'life0 self,
req: AmendRequest,
) -> Pin<Box<dyn Future<Output = ExchangeResult<Order>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
}Expand description
Amend (modify) a live order in-place without cancel+replace.
18/24: Binance Futures, Bybit, OKX, KuCoin, GateIO, Bitfinex, MEXC, HTX, Bitget, BingX, Phemex, CryptoCom, Deribit, HyperLiquid, Lighter, Paradex, dYdX, Upbit.
Connectors that implement this trait have a native modify/amend endpoint. Connectors that DON’T implement this trait simply do not have the trait — callers must cancel+replace manually at the application layer if needed.
Provided Methods§
Sourcefn amend_order<'life0, 'async_trait>(
&'life0 self,
req: AmendRequest,
) -> Pin<Box<dyn Future<Output = ExchangeResult<Order>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn amend_order<'life0, 'async_trait>(
&'life0 self,
req: AmendRequest,
) -> Pin<Box<dyn Future<Output = ExchangeResult<Order>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
Modify a live order’s price, quantity, and/or trigger price.
At least one field in req.fields must be Some.
The connector rejects requests where no field changes.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl AmendOrder for AlpacaConnector
impl AmendOrder for AlphaVantageConnector
impl AmendOrder for AngelOneConnector
impl AmendOrder for BinanceConnector
Modify a live futures order in-place.
Binance Futures: PUT /fapi/v1/order
Spot does NOT support amend — this returns UnsupportedOperation for Spot/Margin.
impl AmendOrder for BingxConnector
impl AmendOrder for BitfinexConnector
impl AmendOrder for BitgetConnector
impl AmendOrder for BitmexConnector
impl AmendOrder for BitstampConnector
impl AmendOrder for BybitConnector
Modify a live order in-place via Bybit native amend endpoint.
Bybit: POST /v5/order/amend
Supports spot and linear. At least one of price/quantity must be provided.
impl AmendOrder for CoinbaseConnector
impl AmendOrder for CryptoComConnector
impl AmendOrder for CryptoCompareConnector
impl AmendOrder for DeribitConnector
impl AmendOrder for DhanConnector
impl AmendOrder for DukascopyConnector
impl AmendOrder for DydxConnector
impl AmendOrder for FinnhubConnector
impl AmendOrder for FutuConnector
impl AmendOrder for FyersConnector
impl AmendOrder for GateioConnector
Amend a live order in-place.
Gate.io Spot: PATCH /api/v4/spot/orders/{order_id} (introduced v4.35.0)
Gate.io Futures: PATCH /api/v4/futures/{settle}/orders/{order_id}
impl AmendOrder for GeminiConnector
impl AmendOrder for HtxConnector
impl AmendOrder for HyperliquidConnector
impl AmendOrder for JQuantsConnector
impl AmendOrder for KrakenConnector
Amend a live order in-place.
- Spot:
POST /0/private/EditOrder - Futures:
POST /derivatives/api/v3/editorder
impl AmendOrder for KrxConnector
impl AmendOrder for KuCoinConnector
Amend a live futures order in-place.
KuCoin Futures: POST /api/v1/orders/{orderId} with amended fields.
Spot does NOT support amend — returns UnsupportedOperation.
impl AmendOrder for LighterConnector
impl AmendOrder for MexcConnector
impl AmendOrder for MoexConnector
impl AmendOrder for OandaConnector
OANDA supports native order amendment — PUT to /v3/accounts/{id}/orders/{specifier} replaces the entire order in-place (cancel + recreate on the server side, but atomic and preserves the order ID).
impl AmendOrder for OkxConnector
Modify a live order in-place via OKX native amend endpoint.
OKX: POST /api/v5/trade/amend-order
At least one of newPx, newSz, or newStopPx must be provided.