tossctl
Reference

Support Scope

Coverage vs the official Open API

Compare implemented official Open API and WTS-only capabilities. Implementation is not a guarantee of availability: credentials, eligibility, market hours, and server state can restrict calls. See the Hybrid guide for setup.

  • ✅ supported · ❌ not supported · 🔸 partial · 🆕 added within 30 days or not yet released
  • The Official API column describes the public contract. Actual routing follows each command's policy and configuration.
  • Official ❌ rows are WTS additions or local features; CSV output and preview are not themselves WTS endpoints.

The README's 30+ extra capabilities count rows below where the official API is ❌ and tossctl is ✅, excluding local CSV export, order preview, and experimental paper trading. A capability can combine several calls, so this is not a distinct endpoint count.

Compared against the official Open API specification 1.2.15 on 2026-09-12. The official API also provides Korean investor-trading data, volume/value/price-change rankings, selected market indicators, and batch quotes. These overlap with WTS but differ in scope or fields; they are marked partial below and excluded from the extra-capability count.

Product domain ≠ access channel

Securities, Banking, and MyData are product domains. Official Open API, WTS, and mobile are access channels. WTS is the Toss Securities Web Trading System, not a web app for general Toss Banking.

Product domainAccess channelCurrent support
Toss Securitiesofficial, WTS, Securities mobile surface inside Tossofficial + WTS
General Bankinggeneral Toss mobile API (no corresponding WTS)unsupported — separate mobile auth required
MyData cards/spendinggeneral Toss mobile APIpartially confirmed statically; unsupported
Systemlogin, Open API IP, change monitoringsupported

The canonical accumulate funding-status command is the funding connection for Securities stock accumulation, so it is securities + wts, not general Banking. The old banking status spelling is a deprecated alias. Its automated-order funding flag is also a narrow Securities workflow state, not access to general Banking records.

The absence of a web UI is not itself a reason an API is unsupported. A WTS contract can be called without a UI once its current web-session contract is verified. General Banking/MyData is unsupported because the main-app session, app/device headers, and request/response cipher connector are not implemented—not because those APIs do not exist.

openapi commands

CommandDescription
tossctl initOnboarding wizard — step-by-step session, official key, and trading setup
tossctl openapi loginRegister your key (env vars TOSSCTL_OPENAPI_KEY/TOSSCTL_OPENAPI_SECRET or flags)
tossctl openapi statusDiagnose key · token · allowed IPs · routing state
tossctl openapi testValidate connectivity with a real API call
tossctl openapi ip listList allowed IPs (WTS session required)
tossctl openapi ip replace-currentPreview/confirm replacement with the current public IP
tossctl openapi logoutDelete the credentials file

Use the global --backend auto|wts|openapi flag to override routing per request.

Reads and settings

Some rows include both reads and changes. add/remove, hide/show, and watchlist mutations are writes governed by the Safety Model.

FeatureCommandOfficial APItossctl
Accounts / summaryaccount list, account summary✅✅
🆕 All-account overviewaccount overview [--full]❌✅
🆕 Securities trading settingsaccount trading-settings [--account <key>] (only simple trade is account-specific)❌✅
🆕 Securities transfer accountsaccount transfer-accounts [--account <key>] [--full] (masked by default; never initiates a transfer)❌✅
🆕 Securities access and account restrictionsaccount access-status [--account <key>] (last login, margin freeze, accident-account count; no mutation)❌✅
Portfolioportfolio positions, portfolio allocation✅✅
🆕 Portfolio foldersportfolio folders [--account] (the app's folder/holding organization; read-only)❌✅
🆕 Portfolio valuation historyportfolio performance, portfolio snapshots, portfolio snapshot <date> (Securities WTS read with no current web UI; all accounts by default)❌✅
Trade ticks / orderbookquote trades, quote orderbook✅✅
Price limits / buy cautionsquote limits, quote warnings✅✅
Sellable qty / commissionquote sellable, quote commission✅✅
Quote / candlesquote get, quote chart🔸✅
Multi-quote / live refreshquote batch --live🔸 (batch quotes for up to 200 stocks)✅
Investor flowsquote flows (WTS), quote supply (official)🔸 (Korean daily trading volumes)✅
Market indices / index detailmarket index [<code|name>] (WTS), market indicator (official)🔸 (8 Korean index/bond indicators)✅
Live popularity rankingmarket ranking (WTS), market rankings (official)🔸 (volume/value/price-change rankings)✅
Net-buy by investormarket investors❌✅
Sector movements & detailmarket sectors, market sector <id>❌✅
Earnings calendar & detailmarket earnings [event-id] (--major: major companies)❌✅
Personalized news briefingmarket briefing (asset, return, reasoning, news)❌✅
Market, holdings, and watchlist newsmarket news --type <scope>❌✅
🆕 Key earnings & economic releasesmarket key-events❌✅
🆕 Securities stock-accumulation funding statusaccumulate funding-status [--full] (banking status is a deprecated alias; not general Banking/MyData; internal ID omitted)❌✅
🆕 Notification preferences and statusnotifications list, notifications status (canonical preferences, inbox unread state, and AI-analysis agreement; no mutation)❌✅
Target-price alert read & managementquote alert list/add/remove❌✅
Hidden-holding read & managementportfolio hidden list/hide/show❌✅
Toss AI signalsmarket signals, market signal <symbol>❌✅
Stock-move explanations and signal cardsquote reasoning, quote reasons, quote signals❌✅
Screenermarket screener❌✅
US-options expiries and chainsquote options <symbol> [--expiry <date>] (no prices; read-only)❌✅
Dividend reportportfolio dividends❌✅
Deposit-interest payment historyaccount interest --year N❌✅
Expected stock-lending income and rankingslending expected, lending top (read-only)❌✅
Cumulative realized profitprofit❌✅
Overseas transfer income (tax)tax overseas --year N❌✅
RIA tax-saving reporttax ria❌✅
Stock accumulation 📱accumulate list/status❌ (no web UI; found in Securities mobile UI, then WTS-verified)✅
Community rankingscommunity rankings❌✅
Watchlist read & managementwatchlist ...❌✅
Transaction ledger / cash overviewtransactions list/overview❌✅
CSV exportexport ...❌✅

Trading

FeatureCommandOfficial APItossctl
Buy/sell ordersorder place✅✅
Cancel / amendorder cancel, order amend✅✅
dry-run previeworder preview❌✅
Fractional orders (US, amount/qty)order place --fractional✅✅
Fractional orders — KRW settlementorder place --fractional --currency-mode KRW❌✅
Real-time push (SSE)push listen❌✅

Fractional sell (beta)

Implements the US market fractional-quantity SELL added in official Open API 1.1.5 (order place --fractional --side sell --qty 0.5, up to 6 decimals). Contract-tested, but not yet live-verified — run order preview before any live trade. Fractional buy remains amount-based (--amount).

Experimental US-options paper trading

Hidden by default; opt in with tossctl config experimental paper-trading --enable. CLI commands include paper status/init/deposit, paper order place/cancel/live-preview, and paper orders pending/completed/cancel-all. MCP gains eight operations and monitor gains four probes.

Observations from 2026-09-03 verified simulated order creation/cancellation but recorded initialization 500s and inconsistent education state. This does not establish stability or availability to every user. Check rolling_features in the WTS inventory below for current observations. Paper and live authorization remain separate.

Verification basis

The Official API column is verified against a specific version of the official Open API docs. The verified version and last-checked date are recorded in .openapi-snapshot.json; the full spec is mirrored daily and changes are auto-detected.

The full WTS web API catalog (implemented / next candidate / intentionally excluded) is continuously tracked in wts-endpoints.json.

On this page