High Templar Tech Ltd
HTTdata completeness 88%9 fiscal years on fileData notes: no data for concept 'epsDiluted'; no data for concept 'interestExpense'
High Templar Tech Ltd earns about 3% on invested capital. The cash-flow models don't apply cleanly here — the ledger says why below.Whether it’s worth owning at today’s price is the last question — and yours to answer, below.
| Figure | FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 |
|---|---|---|---|---|---|
| Revenue | $259.6M1 | $83.7M2 | $17.8M3 | $29.7M4 | $5.86M5 |
| Net income | $92.4M6 | −$52.5M7 | $5.51M8 | $12.6M9 | $101.3M10 |
| Operating cash flow | $144.7M11 | $37.8M12 | $49.6M13 | −$15.2M14 | $98.2M15 |
| Capital expenditure | $75.1M16 | $39.7M17 | $79.6M18 | $43.6M19 | $16.7M20 |
| Free cash flow (derived) | $69.6M11 | −$1.85M12 | −$30M13 | −$58.8M14 | $81.6M15 |
| Total debt | — | — | — | $98.6M21 | $225.4M22 |
| Cash & equivalents | $324.1M23 | $505.5M24 | $1.02B25 | $584.1M26 | $791.1M27 |
| Diluted shares | — | — | — | — | — |
Superscripts are receipts. Each links to the SEC filing the number came from (full list at the bottom).
It earned an average 3% on invested capital over 5 years. Compare that to what it costs to fund the business.
seeing a moat in the numbers →Total debt has risen 128% over the same window.
reading capital allocation →Signals, not verdicts — read from the filings above. Numbers don’t prove a moat; they show its footprint. You decide.
Different models answer different questions — which to trust when →
- 20-F · period ending 2021-12-31 · accession 0001193125-22-133595 (Revenues)
- 20-F · period ending 2022-12-31 · accession 0001104659-23-051973 (Revenues)
- 20-F · period ending 2023-12-31 · accession 0001104659-24-053259 (Revenues)
- 20-F · period ending 2024-12-31 · accession 0001410578-25-000822 (Revenues)
- 20-F · period ending 2025-12-31 · accession 0001104659-26-041728 (Revenues)
- 20-F · period ending 2021-12-31 · accession 0001193125-22-133595 (NetIncomeLoss)
- 20-F · period ending 2022-12-31 · accession 0001104659-23-051973 (NetIncomeLoss)
- 20-F · period ending 2023-12-31 · accession 0001104659-24-053259 (NetIncomeLoss)
- 20-F · period ending 2024-12-31 · accession 0001410578-25-000822 (NetIncomeLoss)
- 20-F · period ending 2025-12-31 · accession 0001104659-26-041728 (NetIncomeLoss)
- 20-F · period ending 2021-12-31 · accession 0001193125-22-133595 (NetCashProvidedByUsedInOperatingActivities)
- 20-F · period ending 2022-12-31 · accession 0001104659-23-051973 (NetCashProvidedByUsedInOperatingActivities)
- 20-F · period ending 2023-12-31 · accession 0001104659-24-053259 (NetCashProvidedByUsedInOperatingActivities)
- 20-F · period ending 2024-12-31 · accession 0001410578-25-000822 (NetCashProvidedByUsedInOperatingActivities)
- 20-F · period ending 2025-12-31 · accession 0001104659-26-041728 (NetCashProvidedByUsedInOperatingActivities)
- 20-F · period ending 2021-12-31 · accession 0001193125-22-133595 (PaymentsToAcquireProductiveAssets)
- 20-F · period ending 2022-12-31 · accession 0001104659-23-051973 (PaymentsToAcquireProductiveAssets)
- 20-F · period ending 2023-12-31 · accession 0001104659-24-053259 (PaymentsToAcquireProductiveAssets)
- 20-F · period ending 2024-12-31 · accession 0001410578-25-000822 (PaymentsToAcquireProductiveAssets)
- 20-F · period ending 2025-12-31 · accession 0001104659-26-041728 (PaymentsToAcquireProductiveAssets)
- 20-F · period ending 2024-12-31 · accession 0001410578-25-000822 (ShortTermBorrowings)
- 20-F · period ending 2025-12-31 · accession 0001104659-26-041728 (ShortTermBorrowings)
- 20-F · period ending 2021-12-31 · accession 0001193125-22-133595 (CashAndCashEquivalentsAtCarryingValue)
- 20-F · period ending 2022-12-31 · accession 0001104659-23-051973 (CashAndCashEquivalentsAtCarryingValue)
- 20-F · period ending 2023-12-31 · accession 0001104659-24-053259 (CashAndCashEquivalentsAtCarryingValue)
- 20-F · period ending 2024-12-31 · accession 0001410578-25-000822 (CashAndCashEquivalentsAtCarryingValue)
- 20-F · period ending 2025-12-31 · accession 0001104659-26-041728 (CashAndCashEquivalentsAtCarryingValue)