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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Auto-filled if empty | If empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty |
SecretKey | string | secret_key | null | no | — |
FromSegment | SegmentType | from_segment | CLR default; omitted during serialization | Optional | — |
ToSegment | SegmentType | to_segment | CLR default; omitted during serialization | Optional | — |
Currency | Currency | currency | CLR default; omitted during serialization | Optional | — |
Amount | Double | amount | CLR default; omitted during serialization | Optional | — |
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 absentData fields (each SegmentFundItem)
| Field | API field | C# type | Description |
|---|---|---|---|
Id | id | Int64 | Segment-fund transfer ID. |
FromSegment | fromSegment | string | Source segment. |
ToSegment | toSegment | string | Destination segment. |
Currency | currency | string | Transfer currency. |
Amount | amount | Double | Transfer amount. |
Status | status | SegmentFundStatus | Transfer status. |
StatusDesc | statusDesc | string | Transfer status description. |
Message | message | string | Transfer status message. |
SettledTime | settledAt | Int64 | Settlement timestamp. |
UpdatedTime | updatedAt | Int64 | Last update timestamp. |
CreatedTime | createdAt | Int64 | Creation 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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Auto-filled if empty | If empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty |
SecretKey | string | secret_key | null | no | — |
FromSegment | SegmentType | from_segment | CLR default; omitted during serialization | Optional | — |
ToSegment | SegmentType | to_segment | CLR default; omitted during serialization | Optional | — |
Currency | Currency | currency | CLR default; omitted during serialization | Optional | — |
Amount | Double | amount | CLR default; omitted during serialization | Optional | — |
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 absentData fields (each SegmentFundAvailableItem)
| Field | API field | C# type | Description |
|---|---|---|---|
FromSegment | fromSegment | string | Segment holding the available funds. |
Currency | currency | string | Funds currency. |
Amount | amount | Double | Available 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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Auto-filled if empty | If empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty |
SecretKey | string | secret_key | null | no | — |
SegType | SegmentType (nullable) | seg_type | null | Optional | — |
StartDate | string | start_date | null | Optional | Timestamp or date format; maintain chronological order |
EndDate | string | end_date | null | Optional | Timestamp or date format; maintain chronological order |
Currency | string | currency | null | Optional | — |
Limit | int (nullable) | limit | null | Optional | Positive integer |
Page | int (nullable) | page | null | Optional | Positive 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 absentData fields (each DepositWithdrawItem)
| Field | API field | C# type | Description |
|---|---|---|---|
Id | id | string | Fund-transfer record ID. |
RefId | refId | string | Reference ID. |
Type | type | string | Transfer type. |
TypeDesc | typeDesc | string | Transfer type description. |
Currency | currency | string | Transfer currency. |
Amount | amount | double | Transfer amount. |
BusinessDate | businessDate | string | Business date. |
CompletedStatus | completedStatus | string | Completion status. |
UpdatedAt | updatedAt | long | Last update timestamp. |
CreatedAt | createdAt | long | Creation 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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Auto-filled if empty | If empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty |
SecretKey | string | secret_key | null | no | — |
SegTypes | list of string | seg_types | null | Optional | — |
FundType | string | fund_type | null | Optional | — |
Currency | string | currency | null | Optional | — |
StartDate | string | start_date | null | Optional | Timestamp or date format; maintain chronological order |
EndDate | string | end_date | null | Optional | Timestamp or date format; maintain chronological order |
Start | long (nullable) | start | null | Optional | — |
Limit | long (nullable) | limit | null | Optional | Positive 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 absentData fields (FundDetailsPageItem)
| Field | API field | C# type | Description |
|---|---|---|---|
Page | page | int | Current page number. |
Limit | limit | int | Records per page. |
ItemCount | itemCount | int | Total record count. |
PageCount | pageCount | int | Total page count. |
Timestamp | timestamp | long | Response timestamp. |
Items | items | List<FundDetailsItem> | Fund-detail records. |
FundDetailsItem field | API field | C# type | Description |
|---|---|---|---|
Id | id | long | Fund-detail record ID. |
Currency | currency | string | Record currency. |
Type | type | string | Fund-detail type. |
Desc | desc | string | Fund-detail description. |
ContractName | contractName | string | Associated contract name. |
SegType | segType | string | Segment type. |
Amount | amount | double | Record amount. |
BusinessDate | businessDate | string | Business date. |
UpdatedAt | updatedAt | long | Last 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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Auto-filled if empty | If empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty |
SecretKey | string | secret_key | null | no | — |
FromSegment | SegmentType | from_segment | CLR default; omitted during serialization | Optional | — |
ToSegment | SegmentType | to_segment | CLR default; omitted during serialization | Optional | — |
Currency | Currency | currency | CLR default; omitted during serialization | Optional | — |
Amount | Double | amount | CLR default; omitted during serialization | Optional | — |
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 absentData fields
Data shape | Description |
|---|---|
SegmentFundItem | See 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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Auto-filled if empty | If empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty |
SecretKey | string | secret_key | null | no | — |
FromSegment | SegmentType | from_segment | CLR default; omitted during serialization | Optional | — |
ToSegment | SegmentType | to_segment | CLR default; omitted during serialization | Optional | — |
Currency | Currency | currency | CLR default; omitted during serialization | Optional | — |
Amount | Double | amount | CLR default; omitted during serialization | Optional | — |
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 absentData fields
Data shape | Description |
|---|---|
SegmentFundItem | See 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 property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no | — |
Account | string (nullable) | account | null | Auto-filled if empty | If empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty |
SecretKey | string | secret_key | null | no | — |
SourceCurrency | Currency | source_currency | CLR default; omitted during serialization | Optional | — |
SourceAmount | Double | source_amount | CLR default; omitted during serialization | Optional | — |
TargetCurrency | Currency | target_currency | CLR default; omitted during serialization | Optional | — |
SegType | SegmentType | seg_type | CLR default; omitted during serialization | Optional | — |
TimeInForce | TimeInForce | time_in_force | TimeInForce.DAY | Optional | — |
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 absentData fields
Data is TradeOrder:
| Field | API field | C# type | Description |
|---|---|---|---|
Symbol | symbol | string | Contract symbol. |
Market | market | string | Market. |
SecType | secType | string | Security type. |
Currency | currency | string | Trading currency. |
Expiry | expiry | string | Contract expiry date. |
Strike | strike | string | Option strike price. |
Right | right | string | Option right. |
Multiplier | multiplier | double | Contract multiplier. |
Identifier | identifier | string | Contract identifier. |
Id | id | Int64 | Order identifier. |
OrderId | orderId | int | Order number. |
ExternalId | externalId | string | External order identifier. |
ParentId | parentId | Int64 | Parent order identifier. |
Account | account | string | Account identifier. |
Action | action | string | Order action. |
OrderType | orderType | string | Order type. |
LimitPrice | limitPrice | Double | Limit price. |
AuxPrice | auxPrice | Double | Auxiliary price. |
TrailingPercent | trailingPercent | Double | Trailing percentage. |
TotalQuantity | totalQuantity | Int64 | Total order quantity. |
TotalQuantityScale | totalQuantityScale | Int32 | Decimal scale for total quantity. |
FilledQuantity | filledQuantity | Int64 | Filled quantity. |
FilledQuantityScale | filledQuantityScale | Int32 | Decimal scale for filled quantity. |
TotalCashAmount | totalCashAmount | Double | Total cash amount. |
FilledCashAmount | filledCashAmount | Double | Filled cash amount. |
RefundCashAmount | refundCashAmount | Double | Refunded cash amount. |
LastFillPrice | lastFillPrice | Double | Last fill price. |
AvgFillPrice | avgFillPrice | Double | Average fill price. |
TimeInForce | timeInForce | string | Time-in-force instruction. |
ExpireTime | expireTime | Int64 | Order expiry timestamp. |
GoodTillDate | goodTillDate | string | Good-until date. |
OutsideRth | outsideRth | Boolean | Whether execution outside regular trading hours is allowed. |
TradingSessionType | tradingSessionType | string | Trading session type. |
Commission | commission | Double | Commission amount. |
Gst | gst | Double | Goods and Services Tax amount. |
RealizedPnl | realizedPnl | Double | Realized profit or loss. |
Remark | remark | string | Order remark. |
Liquidation | liquidation | Boolean | Whether this is a forced liquidation order. |
TriggerStatus | triggerStatus | string | Trigger status. |
OpenTime | openTime | Int64 | Order open timestamp. |
UpdateTime | updateTime | Int64 | Order update timestamp. |
LatestTime | latestTime | Int64 | Latest order timestamp. |
Name | name | string | Contract name. |
LatestPrice | latestPrice | Double | Latest price. |
AttrDesc | attrDesc | string | Order attribute description. |
UserMark | userMark | string | User-defined order mark. |
AttrList | attrList | List<string> | Order attributes. |
OcaGroupId | ocaGroupId | int | One-cancels-all group identifier. |
ComboLegs | comboLegs | string | Combination-leg information. |
AllocAccounts | allocAccounts | List<string> | Allocated account identifiers. |
AllocShares | allocShares | List<Double> | Allocated share quantities. |
AlgoStrategy | algoStrategy | string | Algorithmic strategy. |
AlgoParameters | algoParameters | List<TagValue> | Algorithmic strategy parameters. |
Status | status | OrderStatus | Order status. |
ReplaceStatus | replaceStatus | string | Order replacement status. |
CancelStatus | cancelStatus | string | Order cancellation status. |
Source | source | string | Order source. |
Discount | discount | Int32 | Discount value. |
CanModify | canModify | Boolean | Whether the order can be modified. |
CanCancel | canCancel | Boolean | Whether the order can be canceled. |
IsOpen | isOpen | Boolean | Whether the order is open. |
ComboType | comboType | string | Combination order type. |
ComboTypeDesc | comboTypeDesc | string | Combination order type description. |
Legs | legs | List<OrderLeg> | Multi-leg order details. |
Each TagValue:
| Field | API field | C# type | Description |
|---|---|---|---|
Tag | tag | string | Parameter name. |
Value | value | string? | Parameter value. |
Each OrderLeg:
| Field | API field | C# type | Description |
|---|---|---|---|
Market | market | string | Market. |
Currency | currency | string | Trading currency. |
Multiplier | multiplier | Double | Contract multiplier. |
TotalQuantity | totalQuantity | Double | Total leg quantity. |
FilledQuantity | filledQuantity | Double | Filled leg quantity. |
AvgFilledPrice | avgFilledPrice | Double | Average leg fill price. |
CreatedAt | createdAt | Int64 | Creation timestamp. |
UpdatedAt | updatedAt | Int64 | Last update timestamp. |
Response Example
{
"code": 0,
"message": "success",
"timestamp": 1785528000000,
"data": {
"id": 10004,
"orderId": 890001
}
}Related APIs
Updated 23 days ago
