[generated documentation]
FTXClient > TradeApi > Trading
FTX trading endpoints, placing and mananging orders.
AcceptOptionsQuoteAsync
https://docs.ftx.com/#accept-options-quote
Accept options quote
var client = new FTXClient();
var result = await client.TradeApi.Trading.AcceptOptionsQuoteAsync(/* parameters */);
Task<WebCallResult<FTXQuoteRequestQuote>> AcceptOptionsQuoteAsync(long quoteId, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| quoteId | Quote id |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
CancelAllOrdersAsync
https://docs.ftx.com/#cancel-all-orders
Cancel all orders matching the parameters
var client = new FTXClient();
var result = await client.TradeApi.Trading.CancelAllOrdersAsync();
Task<WebCallResult<string>> CancelAllOrdersAsync(string? symbol = default, OrderSide? side = default, bool? conditionalOrdersOnly = default, bool? limitOrdersOnly = default, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| [Optional] symbol | Filter by symbol |
| [Optional] side | Filter by side |
| [Optional] conditionalOrdersOnly | Only cancel conditional orders |
| [Optional] limitOrdersOnly | Only cancel limit orders |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
CancelOptionsQuoteAsync
https://docs.ftx.com/#cancel-quote
Cancel a quote
var client = new FTXClient();
var result = await client.TradeApi.Trading.CancelOptionsQuoteAsync(/* parameters */);
Task<WebCallResult<FTXQuoteRequestQuote>> CancelOptionsQuoteAsync(long quoteId, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| quoteId | Quote id |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
CancelOptionsQuoteRequestAsync
https://docs.ftx.com/#cancel-quote-request
Cancel a quote request
var client = new FTXClient();
var result = await client.TradeApi.Trading.CancelOptionsQuoteRequestAsync(/* parameters */);
Task<WebCallResult<FTXUserQuoteRequest>> CancelOptionsQuoteRequestAsync(long requestId, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| requestId | Request id to cancel |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
CancelOrderAsync
https://docs.ftx.com/#cancel-order
Cancel an order
var client = new FTXClient();
var result = await client.TradeApi.Trading.CancelOrderAsync(/* parameters */);
Task<WebCallResult<string>> CancelOrderAsync(long orderId, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| orderId | Id of the order |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
CancelOrderByClientIdAsync
https://docs.ftx.com/#cancel-order-by-client-id
Cancel an order
var client = new FTXClient();
var result = await client.TradeApi.Trading.CancelOrderByClientIdAsync(/* parameters */);
Task<WebCallResult<string>> CancelOrderByClientIdAsync(string clientOrderId, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| clientOrderId | Client order id of the order |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
CancelTriggerOrderAsync
https://docs.ftx.com/#cancel-open-trigger-order
Cancel a trigger order
var client = new FTXClient();
var result = await client.TradeApi.Trading.CancelTriggerOrderAsync(/* parameters */);
Task<WebCallResult<string>> CancelTriggerOrderAsync(long orderId, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| orderId | Id of the order |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
CreateOptionsQuoteAsync
https://docs.ftx.com/#create-quote
Create quote
var client = new FTXClient();
var result = await client.TradeApi.Trading.CreateOptionsQuoteAsync(/* parameters */);
Task<WebCallResult<FTXUserQuoteRequest>> CreateOptionsQuoteAsync(long requestId, decimal price, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| requestId | Request id |
| price | Price of the quote |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
CreateOptionsQuoteRequestAsync
https://docs.ftx.com/#create-quote-request
Create quote request
var client = new FTXClient();
var result = await client.TradeApi.Trading.CreateOptionsQuoteRequestAsync(/* parameters */);
Task<WebCallResult<FTXQuoteRequest>> CreateOptionsQuoteRequestAsync(string underlying, OptionType type, decimal strike, DateTime expiry, OrderSide side, decimal size, decimal? limitPrice = default, bool? hideLimitPrice = default, DateTime? requestExpiry = default, long? counterPartyId = default, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| underlying | Underlying |
| type | Type |
| strike | Strike |
| expiry | Must be in the future and at 03:00 UTC. |
| side | Side |
| size | Size |
| [Optional] limitPrice | Limit price |
| [Optional] hideLimitPrice | Whether or not to hide your limit price from potential quoters, default true |
| [Optional] requestExpiry | Request expiry |
| [Optional] counterPartyId | When specified, makes the request private to the specified counterparty |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
GetLeveragedTokenCreationRequestsAsync
https://docs.ftx.com/#list-leveraged-token-creation-requests
Get creation requests
var client = new FTXClient();
var result = await client.TradeApi.Trading.GetLeveragedTokenCreationRequestsAsync();
Task<WebCallResult<IEnumerable<FTXLeveragedTokenCreationRequest>>> GetLeveragedTokenCreationRequestsAsync(string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
GetLeveragedTokenRedemptionRequestsAsync
https://docs.ftx.com/#list-leveraged-token-redemption-requests
Get redemption requests
var client = new FTXClient();
var result = await client.TradeApi.Trading.GetLeveragedTokenRedemptionRequestsAsync();
Task<WebCallResult<IEnumerable<FTXLeveragedTokenRedemption>>> GetLeveragedTokenRedemptionRequestsAsync(string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
GetOpenOrdersAsync
https://docs.ftx.com/#get-open-orders
Get a list of open orders
var client = new FTXClient();
var result = await client.TradeApi.Trading.GetOpenOrdersAsync();
Task<WebCallResult<IEnumerable<FTXOrder>>> GetOpenOrdersAsync(string? symbol = default, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| [Optional] symbol | Filter by symbol |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
GetOpenTriggerOrdersAsync
https://docs.ftx.com/#get-open-trigger-orders
Get a list of open trigger orders
var client = new FTXClient();
var result = await client.TradeApi.Trading.GetOpenTriggerOrdersAsync();
Task<WebCallResult<IEnumerable<FTXTriggerOrder>>> GetOpenTriggerOrdersAsync(string? symbol = default, TriggerOrderType? type = default, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| [Optional] symbol | Filter by symbol |
| [Optional] type | Filter by type |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
GetOptionsQuotesForQuoteRequestAsync
https://docs.ftx.com/#get-quotes-for-your-quote-request
Get quotes for your quote request
var client = new FTXClient();
var result = await client.TradeApi.Trading.GetOptionsQuotesForQuoteRequestAsync(/* parameters */);
Task<WebCallResult<IEnumerable<FTXQuoteRequestQuote>>> GetOptionsQuotesForQuoteRequestAsync(long requestId, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| requestId | Request id |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
GetOptionsUserQuoteRequestsAsync
https://docs.ftx.com/#your-quote-requests
Get list of quote requests for the user
var client = new FTXClient();
var result = await client.TradeApi.Trading.GetOptionsUserQuoteRequestsAsync();
Task<WebCallResult<IEnumerable<FTXUserQuoteRequest>>> GetOptionsUserQuoteRequestsAsync(string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
GetOptionsUserQuotesAsync
https://docs.ftx.com/#get-my-quotes
Get quotes for user
var client = new FTXClient();
var result = await client.TradeApi.Trading.GetOptionsUserQuotesAsync();
Task<WebCallResult<IEnumerable<FTXQuoteRequestQuote>>> GetOptionsUserQuotesAsync(string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
GetOptionsUserTradesAsync
https://docs.ftx.com/#get-options-fills
Get options fills
var client = new FTXClient();
var result = await client.TradeApi.Trading.GetOptionsUserTradesAsync();
Task<WebCallResult<IEnumerable<FTXUserOptionTrade>>> GetOptionsUserTradesAsync(DateTime? startTime = default, DateTime? endTime = default, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| [Optional] startTime | Filter by start time |
| [Optional] endTime | Filter by end time |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
GetOrderAsync
https://docs.ftx.com/#get-order-status
Get the status of an order
var client = new FTXClient();
var result = await client.TradeApi.Trading.GetOrderAsync(/* parameters */);
Task<WebCallResult<FTXOrder>> GetOrderAsync(long orderId, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| orderId | Id of the order |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
GetOrderByClientOrderIdAsync
https://docs.ftx.com/#get-order-status-by-client-id
Get the status of an order
var client = new FTXClient();
var result = await client.TradeApi.Trading.GetOrderByClientOrderIdAsync(/* parameters */);
Task<WebCallResult<FTXOrder>> GetOrderByClientOrderIdAsync(string clientOrderId, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| clientOrderId | Client order id of the order |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
GetOrdersAsync
https://docs.ftx.com/#get-order-history
Get list of orders
var client = new FTXClient();
var result = await client.TradeApi.Trading.GetOrdersAsync();
Task<WebCallResult<IEnumerable<FTXOrder>>> GetOrdersAsync(string? symbol = default, DateTime? startTime = default, DateTime? endTime = default, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| [Optional] symbol | Filter by symbol |
| [Optional] startTime | Filter by start time |
| [Optional] endTime | Filter by end time |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
GetTriggerOrdersAsync
https://docs.ftx.com/#get-trigger-order-history
Get list of trigger orders
var client = new FTXClient();
var result = await client.TradeApi.Trading.GetTriggerOrdersAsync();
Task<WebCallResult<IEnumerable<FTXTriggerOrder>>> GetTriggerOrdersAsync(string? symbol = default, DateTime? startTime = default, DateTime? endTime = default, OrderSide? side = default, TriggerOrderType? type = default, OrderType? orderType = default, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| [Optional] symbol | Filter by symbol |
| [Optional] startTime | Filter by start time |
| [Optional] endTime | Filter by end time |
| [Optional] side | Filter by side |
| [Optional] type | Filter by trigger type |
| [Optional] orderType | Filter by order type |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
GetTriggerOrderTriggersAsync
https://docs.ftx.com/#get-trigger-order-triggers
Get a list triggers for a trigger order
var client = new FTXClient();
var result = await client.TradeApi.Trading.GetTriggerOrderTriggersAsync(/* parameters */);
Task<WebCallResult<IEnumerable<FTXTriggerOrderTrigger>>> GetTriggerOrderTriggersAsync(long orderId, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| orderId | Id of the trigger order |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
GetUserTradesAsync
Get list of trades based on the input parameters
var client = new FTXClient();
var result = await client.TradeApi.Trading.GetUserTradesAsync();
Task<WebCallResult<IEnumerable<FTXUserTrade>>> GetUserTradesAsync(string? symbol = default, long? orderId = default, bool? ascendingOrder = default, DateTime? startTime = default, DateTime? endTime = default, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| [Optional] symbol | Filter by symbol |
| [Optional] orderId | Filter by order id |
| [Optional] ascendingOrder | Return results in ascending order in time |
| [Optional] startTime | Filter by start time |
| [Optional] endTime | Filter by end time |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
ModifyOrderAsync
https://docs.ftx.com/#modify-order
Modify an order. Will internally cancel the original order and place a new order with the new price/quantity. The new order will have a new order id. Note: there's a chance that the order meant to be canceled gets filled and its replacement still gets placed.
var client = new FTXClient();
var result = await client.TradeApi.Trading.ModifyOrderAsync(/* parameters */);
Task<WebCallResult<FTXOrder>> ModifyOrderAsync(long orderId, decimal? price = default, decimal? quantity = default, string? clientOrderId = default, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| orderId | Id of order to modify |
| [Optional] price | New price of the order |
| [Optional] quantity | New quantity of the order |
| [Optional] clientOrderId | New client order id |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
ModifyOrderByClientOrderIdAsync
https://docs.ftx.com/#modify-order-by-client-id
Modify an order. Will internally cancel the original order and place a new order with the new price/quantity. The new order will have a new order id. Note: there's a chance that the order meant to be canceled gets filled and its replacement still gets placed.
var client = new FTXClient();
var result = await client.TradeApi.Trading.ModifyOrderByClientOrderIdAsync(/* parameters */);
Task<WebCallResult<FTXOrder>> ModifyOrderByClientOrderIdAsync(long clientOrderId, decimal? price = default, decimal? quantity = default, string? newClientOrderId = default, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| clientOrderId | Client order id of order to modify |
| [Optional] price | New price of the order |
| [Optional] quantity | New quantity of the order |
| [Optional] newClientOrderId | New client order id |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
ModifyTriggerOrderAsync
https://docs.ftx.com/#modify-trigger-order
Modify a trigger order. Will internally cancel the original order and place a new order with the new price/quantity. The new order will have a new order id. Note: there's a chance that the order meant to be canceled gets filled and its replacement still gets placed.
var client = new FTXClient();
var result = await client.TradeApi.Trading.ModifyTriggerOrderAsync(/* parameters */);
Task<WebCallResult<FTXTriggerOrder>> ModifyTriggerOrderAsync(long orderId, decimal? quantity = default, decimal? triggerPrice = default, decimal? orderPrice = default, decimal? trailingValue = default, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| orderId | Order id |
| [Optional] quantity | New quantity |
| [Optional] triggerPrice | New trigger price |
| [Optional] orderPrice | New order price |
| [Optional] trailingValue | New trailing value |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
PlaceOrderAsync
https://docs.ftx.com/#place-order
Place a new order
var client = new FTXClient();
var result = await client.TradeApi.Trading.PlaceOrderAsync(/* parameters */);
Task<WebCallResult<FTXOrder>> PlaceOrderAsync(string symbol, OrderSide side, OrderType type, decimal quantity, decimal? price = default, bool? reduceOnly = default, bool? immediateOrCancel = default, bool? postOnly = default, string? clientOrderId = default, bool? rejectOnPriceBand = default, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| symbol | The symbol to place on |
| side | The side of the order |
| type | The type of order |
| quantity | The quantity to buy or sell |
| [Optional] price | The price of the order (null for market orders) |
| [Optional] reduceOnly | Reduce only |
| [Optional] immediateOrCancel | Immediate or cancel |
| [Optional] postOnly | Post only |
| [Optional] clientOrderId | Client order id |
| [Optional] rejectOnPriceBand | If the order should be rejected if its price would instead be adjusted due to price bands |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
PlaceTriggerOrderAsync
https://docs.ftx.com/#place-trigger-order
Place a new trigger order
var client = new FTXClient();
var result = await client.TradeApi.Trading.PlaceTriggerOrderAsync(/* parameters */);
Task<WebCallResult<FTXTriggerOrder>> PlaceTriggerOrderAsync(string symbol, OrderSide side, TriggerOrderType type, decimal quantity, bool? reduceOnly = default, bool? retryUntilFilled = default, decimal? triggerPrice = default, decimal? orderPrice = default, decimal? trailValue = default, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| symbol | The symbol to place on |
| side | The side of the order |
| type | The trigger type |
| quantity | The quantity to buy or sell |
| [Optional] reduceOnly | Reduce only |
| [Optional] retryUntilFilled | Whether or not to keep re-triggering until filled. optional, default true for market orders |
| [Optional] triggerPrice | Trigger price for stop loss/take profit |
| [Optional] orderPrice | Order price, specifying this makes the order a limit order |
| [Optional] trailValue | Tailing value for trailing stop orders, negative for sell, positive for buy |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
RequestLeveragedTokenCreationAsync
https://docs.ftx.com/#request-leveraged-token-creation
Request leveraged token creation
var client = new FTXClient();
var result = await client.TradeApi.Trading.RequestLeveragedTokenCreationAsync(/* parameters */);
Task<WebCallResult<FTXLeveragedTokenCreationRequest>> RequestLeveragedTokenCreationAsync(string tokenName, decimal size, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| tokenName | Name of the token |
| size | Number of tokens to create |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |
RequestLeveragedTokenRedemptionAsync
https://docs.ftx.com/#request-leveraged-token-redemption
Request leveraged token redemption
var client = new FTXClient();
var result = await client.TradeApi.Trading.RequestLeveragedTokenRedemptionAsync(/* parameters */);
Task<WebCallResult<FTXLeveragedTokenRedeemRequest>> RequestLeveragedTokenRedemptionAsync(string tokenName, decimal size, string? subaccountName = default, CancellationToken ct = default);
| Parameter | Description |
|---|---|
| tokenName | Name of the token |
| size | Number of tokens to create |
| [Optional] subaccountName | Subaccount name to execute this request for |
| [Optional] ct | Cancellation token |