Funds and Transfers

State-changing operations must prevent duplicate submission.

Get Segment Fund History

Operation

TradeApiService.SEGMENT_FUND_HISTORY = segment_fund_history. Use this constant for TigerRequest.ApiMethodName.

Request

TigerRequest<SegmentFundsResponse>

ModelValue: SegmentFundModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullAuto-filled if emptyIf empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty
SecretKeystringsecret_keynullno
FromSegmentSegmentTypefrom_segmentCLR default; omitted during serializationOptional
ToSegmentSegmentTypeto_segmentCLR default; omitted during serializationOptional
CurrencyCurrencycurrencyCLR default; omitted during serializationOptional
AmountDoubleamountCLR default; omitted during serializationOptional

Return

SegmentFundsResponse inherits TigerResponse; its Data is List<SegmentFundItem>.

Example

TigerRequest<SegmentFundsResponse> request = new()
{
    ApiMethodName = TradeApiService.SEGMENT_FUND_HISTORY,
    ModelValue = new SegmentFundModel { Account = tradeClient.GetDefaultAccount, FromSegment = SegmentType.SEC, ToSegment = SegmentType.FUT, Currency = Currency.USD, Amount = 1 }
};
SegmentFundsResponse? response = await tradeClient.ExecuteAsync(request);

Response type

List<SegmentFundItem>? data = response?.Data; // null when response or data is absent

Data fields (each SegmentFundItem)

FieldAPI fieldC# typeDescription
IdidInt64Segment-fund transfer ID.
FromSegmentfromSegmentstringSource segment.
ToSegmenttoSegmentstringDestination segment.
CurrencycurrencystringTransfer currency.
AmountamountDoubleTransfer amount.
StatusstatusSegmentFundStatusTransfer status.
StatusDescstatusDescstringTransfer status description.
MessagemessagestringTransfer status message.
SettledTimesettledAtInt64Settlement timestamp.
UpdatedTimeupdatedAtInt64Last update timestamp.
CreatedTimecreatedAtInt64Creation timestamp.

Response Example

{
  "code": 0,
  "message": "success",
  "timestamp": 1785528000000,
  "data": [
    {
      "id": 10001,
      "fromSegment": "SEC",
      "toSegment": "FUT",
      "currency": "USD",
      "amount": 5000.0,
      "status": "SUCCESS",
      "statusDesc": "Success"
    }
  ]
}

Rate limit

Base tier: 60 requests per minute.

Related APIs

See Requests, responses, and operations.

Get Available Segment Funds

Operation

TradeApiService.SEGMENT_FUND_AVAILABLE = segment_fund_available. Use this constant for TigerRequest.ApiMethodName.

Request

TigerRequest<SegmentFundAvailableResponse>

ModelValue: SegmentFundModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullAuto-filled if emptyIf empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty
SecretKeystringsecret_keynullno
FromSegmentSegmentTypefrom_segmentCLR default; omitted during serializationOptional
ToSegmentSegmentTypeto_segmentCLR default; omitted during serializationOptional
CurrencyCurrencycurrencyCLR default; omitted during serializationOptional
AmountDoubleamountCLR default; omitted during serializationOptional

Return

SegmentFundAvailableResponse inherits TigerResponse; its Data is List<SegmentFundAvailableItem>.

Example

TigerRequest<SegmentFundAvailableResponse> request = new()
{
    ApiMethodName = TradeApiService.SEGMENT_FUND_AVAILABLE,
    ModelValue = new SegmentFundModel { Account = tradeClient.GetDefaultAccount, FromSegment = SegmentType.SEC, ToSegment = SegmentType.FUT, Currency = Currency.USD, Amount = 1 }
};
SegmentFundAvailableResponse? response = await tradeClient.ExecuteAsync(request);

Response type

List<SegmentFundAvailableItem>? data = response?.Data; // null when response or data is absent

Data fields (each SegmentFundAvailableItem)

FieldAPI fieldC# typeDescription
FromSegmentfromSegmentstringSegment holding the available funds.
CurrencycurrencystringFunds currency.
AmountamountDoubleAvailable fund amount.

Response Example

{
  "code": 0,
  "message": "success",
  "timestamp": 1785528000000,
  "data": [
    {"segment": "SEC", "currency": "USD", "availableFunds": 50000.0},
    {"segment": "FUT", "currency": "USD", "availableFunds": 20000.0}
  ]
}

Rate limit

Base tier: 60 requests per minute.

Related APIs

See Requests, responses, and operations.

Transfer Funds

Operation

TradeApiService.TRANSFER_FUND = transfer_fund. Use this constant for TigerRequest.ApiMethodName.

Request

TigerRequest<DepositWithdrawResponse>

ModelValue: DepositWithdrawModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullAuto-filled if emptyIf empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty
SecretKeystringsecret_keynullno
SegTypeSegmentType (nullable)seg_typenullOptional
StartDatestringstart_datenullOptionalTimestamp or date format; maintain chronological order
EndDatestringend_datenullOptionalTimestamp or date format; maintain chronological order
CurrencystringcurrencynullOptional
Limitint (nullable)limitnullOptionalPositive integer
Pageint (nullable)pagenullOptionalPositive integer

Return

DepositWithdrawResponse inherits TigerResponse; its Data is List<DepositWithdrawItem>.

Example

TigerRequest<DepositWithdrawResponse> request = new()
{
    ApiMethodName = TradeApiService.TRANSFER_FUND,
    ModelValue = new DepositWithdrawModel { Account = tradeClient.GetDefaultAccount, SegType = SegmentType.SEC, StartDate = "2026-01-01", EndDate = "2026-01-31", Currency = "USD" }
};
DepositWithdrawResponse? response = await tradeClient.ExecuteAsync(request);

Response type

List<DepositWithdrawItem>? data = response?.Data; // null when response or data is absent

Data fields (each DepositWithdrawItem)

FieldAPI fieldC# typeDescription
IdidstringFund-transfer record ID.
RefIdrefIdstringReference ID.
TypetypestringTransfer type.
TypeDesctypeDescstringTransfer type description.
CurrencycurrencystringTransfer currency.
AmountamountdoubleTransfer amount.
BusinessDatebusinessDatestringBusiness date.
CompletedStatuscompletedStatusstringCompletion status.
UpdatedAtupdatedAtlongLast update timestamp.
CreatedAtcreatedAtlongCreation timestamp.

Response Example

{
  "code": 0,
  "message": "success",
  "timestamp": 1785528000000,
  "data": {
    "id": 10002
  }
}

Rate limit

Base tier: 60 requests per minute.

Related APIs

See Requests, responses, and operations.

Fund Details

Operation

TradeApiService.FUND_DETAILS = fund_details. Use this constant for TigerRequest.ApiMethodName.

Request

TigerRequest<FundDetailsResponse>

ModelValue: FundDetailsModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullAuto-filled if emptyIf empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty
SecretKeystringsecret_keynullno
SegTypeslist of stringseg_typesnullOptional
FundTypestringfund_typenullOptional
CurrencystringcurrencynullOptional
StartDatestringstart_datenullOptionalTimestamp or date format; maintain chronological order
EndDatestringend_datenullOptionalTimestamp or date format; maintain chronological order
Startlong (nullable)startnullOptional
Limitlong (nullable)limitnullOptionalPositive integer

Return

FundDetailsResponse inherits TigerResponse; its Data is FundDetailsPageItem.

Example

TigerRequest<FundDetailsResponse> request = new()
{
    ApiMethodName = TradeApiService.FUND_DETAILS,
    ModelValue = new FundDetailsModel { Account = tradeClient.GetDefaultAccount, SegTypes = new List<string> { "SEC" }, Currency = "USD", StartDate = "2026-01-01", EndDate = "2026-01-31" }
};
FundDetailsResponse? response = await tradeClient.ExecuteAsync(request);

Response type

FundDetailsPageItem? data = response?.Data; // null when response or data is absent

Data fields (FundDetailsPageItem)

FieldAPI fieldC# typeDescription
PagepageintCurrent page number.
LimitlimitintRecords per page.
ItemCountitemCountintTotal record count.
PageCountpageCountintTotal page count.
TimestamptimestamplongResponse timestamp.
ItemsitemsList<FundDetailsItem>Fund-detail records.
FundDetailsItem fieldAPI fieldC# typeDescription
IdidlongFund-detail record ID.
CurrencycurrencystringRecord currency.
TypetypestringFund-detail type.
DescdescstringFund-detail description.
ContractNamecontractNamestringAssociated contract name.
SegTypesegTypestringSegment type.
AmountamountdoubleRecord amount.
BusinessDatebusinessDatestringBusiness date.
UpdatedAtupdatedAtlongLast update timestamp.

Response Example

{
  "code": 0,
  "message": "success",
  "timestamp": 1785528000000,
  "data": {
    "netLiquidation": 125000.0,
    "totalCashValue": 50000.0,
    "settledCash": 48000.0,
    "buyingPower": 100000.0
  }
}

Rate limit

Base tier: 10 requests per minute.

Related APIs

See Requests, responses, and operations.

Transfer Segment Fund

Operation

TradeApiService.TRANSFER_SEGMENT_FUND = transfer_segment_fund. Use this constant for TigerRequest.ApiMethodName.

Request

TigerRequest<SegmentFundResponse>

ModelValue: SegmentFundModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullAuto-filled if emptyIf empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty
SecretKeystringsecret_keynullno
FromSegmentSegmentTypefrom_segmentCLR default; omitted during serializationOptional
ToSegmentSegmentTypeto_segmentCLR default; omitted during serializationOptional
CurrencyCurrencycurrencyCLR default; omitted during serializationOptional
AmountDoubleamountCLR default; omitted during serializationOptional

Return

SegmentFundResponse inherits TigerResponse; its Data is SegmentFundItem.

Example

TigerRequest<SegmentFundResponse> request = new()
{
    ApiMethodName = TradeApiService.TRANSFER_SEGMENT_FUND,
    ModelValue = new SegmentFundModel { Account = tradeClient.GetDefaultAccount, FromSegment = SegmentType.SEC, ToSegment = SegmentType.FUT, Currency = Currency.USD, Amount = 1 }
};
SegmentFundResponse? response = await tradeClient.ExecuteAsync(request);

Response type

SegmentFundItem? data = response?.Data; // null when response or data is absent

Data fields

Data shapeDescription
SegmentFundItemSee Transfer history Data fields for all fields.

Response Example

{
  "code": 0,
  "message": "success",
  "timestamp": 1785528000000,
  "data": {
    "id": 10003
  }
}

Rate limit

Base tier: 60 requests per minute.

Related APIs

See Requests, responses, and operations.

Cancel Segment Transfer

Operation

TradeApiService.CANCEL_SEGMENT_FUND = cancel_segment_fund. Use this constant for TigerRequest.ApiMethodName.

Request

TigerRequest<SegmentFundResponse>

ModelValue: SegmentFundModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullAuto-filled if emptyIf empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty
SecretKeystringsecret_keynullno
FromSegmentSegmentTypefrom_segmentCLR default; omitted during serializationOptional
ToSegmentSegmentTypeto_segmentCLR default; omitted during serializationOptional
CurrencyCurrencycurrencyCLR default; omitted during serializationOptional
AmountDoubleamountCLR default; omitted during serializationOptional

Return

SegmentFundResponse inherits TigerResponse; its Data is SegmentFundItem.

Example

TigerRequest<SegmentFundResponse> request = new()
{
    ApiMethodName = TradeApiService.CANCEL_SEGMENT_FUND,
    ModelValue = new SegmentFundModel { Account = tradeClient.GetDefaultAccount, FromSegment = SegmentType.SEC, ToSegment = SegmentType.FUT, Currency = Currency.USD, Amount = 1 }
};
SegmentFundResponse? response = await tradeClient.ExecuteAsync(request);

Response type

SegmentFundItem? data = response?.Data; // null when response or data is absent

Data fields

Data shapeDescription
SegmentFundItemSee Transfer history Data fields for all fields.

Response Example

{
  "code": 0,
  "message": "success",
  "timestamp": 1785528000000,
  "data": {
    "id": 10003,
    "status": "CANCELLED"
  }
}

Rate limit

Base tier: 60 requests per minute.

Related APIs

See Requests, responses, and operations.

Place Forex Order

Operation

TradeApiService.PLACE_FOREX_ORDER = place_forex_order. Use this constant for TigerRequest.ApiMethodName.

Request

TigerRequest<ForexTradeOrderResponse>

ModelValue: ForexTradeOrderModel.

Parameters

SDK propertyC# typeAPI fieldSDK defaultRequiredConstraints
LangLanguagelangCLR default; omitted during serializationno
Accountstring (nullable)accountnullAuto-filled if emptyIf empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty
SecretKeystringsecret_keynullno
SourceCurrencyCurrencysource_currencyCLR default; omitted during serializationOptional
SourceAmountDoublesource_amountCLR default; omitted during serializationOptional
TargetCurrencyCurrencytarget_currencyCLR default; omitted during serializationOptional
SegTypeSegmentTypeseg_typeCLR default; omitted during serializationOptional
TimeInForceTimeInForcetime_in_forceTimeInForce.DAYOptional

Return

ForexTradeOrderResponse inherits TigerResponse; its Data is TradeOrder.

Example

TigerRequest<ForexTradeOrderResponse> request = new()
{
    ApiMethodName = TradeApiService.PLACE_FOREX_ORDER,
    ModelValue = new ForexTradeOrderModel { Account = tradeClient.GetDefaultAccount, SourceCurrency = Currency.USD, SourceAmount = 1, TargetCurrency = Currency.HKD, SegType = SegmentType.SEC }
};
ForexTradeOrderResponse? response = await tradeClient.ExecuteAsync(request);

Response type

TradeOrder? data = response?.Data; // null when response or data is absent

Data fields

Data is TradeOrder:

FieldAPI fieldC# typeDescription
SymbolsymbolstringContract symbol.
MarketmarketstringMarket.
SecTypesecTypestringSecurity type.
CurrencycurrencystringTrading currency.
ExpiryexpirystringContract expiry date.
StrikestrikestringOption strike price.
RightrightstringOption right.
MultipliermultiplierdoubleContract multiplier.
IdentifieridentifierstringContract identifier.
IdidInt64Order identifier.
OrderIdorderIdintOrder number.
ExternalIdexternalIdstringExternal order identifier.
ParentIdparentIdInt64Parent order identifier.
AccountaccountstringAccount identifier.
ActionactionstringOrder action.
OrderTypeorderTypestringOrder type.
LimitPricelimitPriceDoubleLimit price.
AuxPriceauxPriceDoubleAuxiliary price.
TrailingPercenttrailingPercentDoubleTrailing percentage.
TotalQuantitytotalQuantityInt64Total order quantity.
TotalQuantityScaletotalQuantityScaleInt32Decimal scale for total quantity.
FilledQuantityfilledQuantityInt64Filled quantity.
FilledQuantityScalefilledQuantityScaleInt32Decimal scale for filled quantity.
TotalCashAmounttotalCashAmountDoubleTotal cash amount.
FilledCashAmountfilledCashAmountDoubleFilled cash amount.
RefundCashAmountrefundCashAmountDoubleRefunded cash amount.
LastFillPricelastFillPriceDoubleLast fill price.
AvgFillPriceavgFillPriceDoubleAverage fill price.
TimeInForcetimeInForcestringTime-in-force instruction.
ExpireTimeexpireTimeInt64Order expiry timestamp.
GoodTillDategoodTillDatestringGood-until date.
OutsideRthoutsideRthBooleanWhether execution outside regular trading hours is allowed.
TradingSessionTypetradingSessionTypestringTrading session type.
CommissioncommissionDoubleCommission amount.
GstgstDoubleGoods and Services Tax amount.
RealizedPnlrealizedPnlDoubleRealized profit or loss.
RemarkremarkstringOrder remark.
LiquidationliquidationBooleanWhether this is a forced liquidation order.
TriggerStatustriggerStatusstringTrigger status.
OpenTimeopenTimeInt64Order open timestamp.
UpdateTimeupdateTimeInt64Order update timestamp.
LatestTimelatestTimeInt64Latest order timestamp.
NamenamestringContract name.
LatestPricelatestPriceDoubleLatest price.
AttrDescattrDescstringOrder attribute description.
UserMarkuserMarkstringUser-defined order mark.
AttrListattrListList<string>Order attributes.
OcaGroupIdocaGroupIdintOne-cancels-all group identifier.
ComboLegscomboLegsstringCombination-leg information.
AllocAccountsallocAccountsList<string>Allocated account identifiers.
AllocSharesallocSharesList<Double>Allocated share quantities.
AlgoStrategyalgoStrategystringAlgorithmic strategy.
AlgoParametersalgoParametersList<TagValue>Algorithmic strategy parameters.
StatusstatusOrderStatusOrder status.
ReplaceStatusreplaceStatusstringOrder replacement status.
CancelStatuscancelStatusstringOrder cancellation status.
SourcesourcestringOrder source.
DiscountdiscountInt32Discount value.
CanModifycanModifyBooleanWhether the order can be modified.
CanCancelcanCancelBooleanWhether the order can be canceled.
IsOpenisOpenBooleanWhether the order is open.
ComboTypecomboTypestringCombination order type.
ComboTypeDesccomboTypeDescstringCombination order type description.
LegslegsList<OrderLeg>Multi-leg order details.

Each TagValue:

FieldAPI fieldC# typeDescription
TagtagstringParameter name.
Valuevaluestring?Parameter value.

Each OrderLeg:

FieldAPI fieldC# typeDescription
MarketmarketstringMarket.
CurrencycurrencystringTrading currency.
MultipliermultiplierDoubleContract multiplier.
TotalQuantitytotalQuantityDoubleTotal leg quantity.
FilledQuantityfilledQuantityDoubleFilled leg quantity.
AvgFilledPriceavgFilledPriceDoubleAverage leg fill price.
CreatedAtcreatedAtInt64Creation timestamp.
UpdatedAtupdatedAtInt64Last update timestamp.

Response Example

{
  "code": 0,
  "message": "success",
  "timestamp": 1785528000000,
  "data": {
    "id": 10004,
    "orderId": 890001
  }
}

Related APIs

See Requests, responses, and operations.


Did this page help you?