[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 |