Skip to main content Link Search Menu Expand Document (external link)

[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

https://docs.ftx.com/#fills

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