Skip to main content

Stock Transfer Application

TransferStock

Version

Available in v2.2.9 and later.

Usage limits
  • Applications are accepted on trading days from 08:00 to 14:30. Requests outside this window are rejected by the backend.
  • An application cannot be cancelled through the API after it is submitted.
  • Use the status returned by this method as the result (10 success; 90 failure). The transfer-record query does not reflect a newly submitted application immediately.
  • For the complete workflow, see Reservations and Transfers.
Finding target_branch_no

Enter the TDCC code for the receiving securities branch. Do not use a bank branch code or an internally assigned branch ID.

  1. Start with the TWSE securities firm directory to confirm the broker.
  2. For a Fubon Securities branch, use the Fubon branch-code details to confirm the specific branch code.
  3. Enter the code exactly as listed, including letters and digits (for example, 960C).

Parameters

FieldTypeDescription
accountAccountSource account
target_branch_nostringTDCC code for the receiving securities branch
target_accountstringReceiving account
stock_nostringStock symbol
quantityintNumber of shares to transfer. Unit: shares; must be greater than 0
marketMarket (optional)Market: TAIEX TWSE, TAISDAQ TPEx, TAIEMG Emerging. When omitted, the SDK resolves it automatically

Result

FieldTypeDescription
is_successboolWhether the request succeeded
dataTransferRecordStock transfer application details
messagestringError message when is_success is false

Transfer record: TransferRecord fields

Return type : Object

FieldTypeDescription
seq_nostringSequence number
datestringApplication date
timestringApplication time
stock_nostringStock symbol
marketMarketMarket: TAIEX TWSE, TAISDAQ TPEx, TAIEMG Emerging
quantityintTransferred shares
target_branch_nostringTDCC code for the receiving securities branch
target_accountstringReceiving account
statusintStatus: 10 success; 90 failure

Request example

auto transfer_response = sdk->stock->transfer_stock(target_account, "960C", "7654321", "006205", 1000, std::nullopt);


// Output using custom .cpp and .hpp helpers
if (!transfer_response.is_success) {
std::cout << "transfer stock failed reason: "
<< (transfer_response.message.has_value() ? transfer_response.message.value() : "No message")
<< std::endl;
}
else {
if (transfer_response.data.has_value()) {
std::cout << transfer_response.data.value() << std::endl;
}
else {
std::cout << "Transfer stock success but no data returned." << std::endl;
}
}

Response example

// Output using custom .cpp and .hpp helpers
[TransferRecord]
seq_no: 418181 // Sequence number (string)
date: 2026/07/28 // Application date (string)
time: 10:53:48.340 // Application time (string)
stock_no: 006205 // Stock symbol (string)
market: TAIEX // Market (Market)
quantity: 1000 // transferred shares (int)
target_branch_no: 960C // Receiving securities branch TDCC code (string)
target_account: 7654321 // Receiving account (string)
status: 10 // status (int)