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
statusreturned by this method as the result (10success;90failure). The transfer-record query does not reflect a newly submitted application immediately. - For the complete workflow, see Reservations and Transfers.
Finding
target_branch_noEnter the TDCC code for the receiving securities branch. Do not use a bank branch code or an internally assigned branch ID.
- Start with the TWSE securities firm directory to confirm the broker.
- For a Fubon Securities branch, use the Fubon branch-code details to confirm the specific branch code.
- Enter the code exactly as listed, including letters and digits (for example,
960C).
Parameters
| Field | Type | Description |
|---|---|---|
| account | Account | Source account |
| target_branch_no | string | TDCC code for the receiving securities branch |
| target_account | string | Receiving account |
| stock_no | string | Stock symbol |
| quantity | int | Number of shares to transfer. Unit: shares; must be greater than 0 |
| market | Market (optional) | Market: TAIEX TWSE, TAISDAQ TPEx, TAIEMG Emerging. When omitted, the SDK resolves it automatically |
Result
| Field | Type | Description |
|---|---|---|
| is_success | bool | Whether the request succeeded |
| data | TransferRecord | Stock transfer application details |
| message | string | Error message when is_success is false |
Transfer record: TransferRecord fields
Return type : Object
| Field | Type | Description |
|---|---|---|
| seq_no | string | Sequence number |
| date | string | Application date |
| time | string | Application time |
| stock_no | string | Stock symbol |
| market | Market | Market: TAIEX TWSE, TAISDAQ TPEx, TAIEMG Emerging |
| quantity | int | Transferred shares |
| target_branch_no | string | TDCC code for the receiving securities branch |
| target_account | string | Receiving account |
| status | int | Status: 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)