v3.26.1
CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS’ EQUITY - USD ($)
$ in Thousands
Total
Net unrealized loss on available-for-sale investments
Treasury Shares
Additional paid-in capital
Accumulated other comprehensive income (loss)
Retained earnings
Class A ordinary shares
Class A ordinary shares
Common stock
Class A ordinary shares
Common stock
Net unrealized loss on available-for-sale investments
Class B ordinary shares
Class B ordinary shares
Common stock
Class B ordinary shares
Common stock
Net unrealized loss on available-for-sale investments
Beginning balance (in shares) at Dec. 31, 2024               32,269,345     8,076,732  
Beginning balance at Dec. 31, 2024 $ 405,217   $ (11,816) $ 120,262 $ (4,136) $ 298,861   $ 1,643     $ 403  
Treasury shares at the beginning of the period (in shares) at Dec. 31, 2024     609,390                  
Increase (Decrease) in Stockholders' Equity [Roll Forward]                        
Net income 61,698         61,698            
Share-based compensation (in shares)     (44,657)         (389,555)        
Share-based compensation 4,254     4,235       $ 19        
Share repurchase (in shares)     (3,069,569)         (3,069,569)        
Share repurchase (46,029)   $ (46,029)                  
Retirement of shares (in shares)     (3,227,376)                  
Retirement of shares 0   $ 50,550 (30,172)   (20,217)   $ (161)        
Foreign currency translation adjustment, net of nil income taxes 1,290       1,290              
Net unrealized gain (loss) on available-for-sale investments (7)       (7)              
Intra-entity foreign currency transactions gain (loss) 5,022       5,022              
Release of foreign currency translation reserve related to liquidation of subsidiaries (1)       (1)              
Ending balance (in shares) at Jun. 30, 2025               29,589,331     8,076,732  
Ending balance at Jun. 30, 2025 431,444   $ (7,295) 94,325 2,168 340,342   $ 1,501     $ 403  
Treasury shares at the end of the period (in shares) at Jun. 30, 2025     406,926                  
Beginning balance (in shares) at Mar. 31, 2025               30,872,535     8,076,732  
Beginning balance at Mar. 31, 2025 412,897   $ (34,550) 121,490 (2,096) 326,007   $ 1,643     $ 403  
Treasury shares at the beginning of the period (in shares) at Mar. 31, 2025     2,008,984                  
Increase (Decrease) in Stockholders' Equity [Roll Forward]                        
Net income 34,552         34,552            
Share-based compensation (in shares)     (43,265)         (385,379)        
Share-based compensation 3,026     3,007       $ 19        
Share repurchase (in shares)     (1,668,583)         (1,668,583)        
Share repurchase (23,295)   $ (23,295)                  
Retirement of shares (in shares)     (3,227,376)                  
Retirement of shares 0   $ 50,550 (30,172)   (20,217)   $ (161)        
Foreign currency translation adjustment, net of nil income taxes 879       879              
Net unrealized gain (loss) on available-for-sale investments (1)       (1)              
Intra-entity foreign currency transactions gain (loss) 3,386       3,386              
Release of foreign currency translation reserve related to liquidation of subsidiaries 0                      
Ending balance (in shares) at Jun. 30, 2025               29,589,331     8,076,732  
Ending balance at Jun. 30, 2025 431,444   $ (7,295) 94,325 2,168 340,342   $ 1,501     $ 403  
Treasury shares at the end of the period (in shares) at Jun. 30, 2025     406,926                  
Beginning balance (in shares) at Dec. 31, 2025             29,637,687 29,637,687   7,276,732 7,276,732  
Beginning balance at Dec. 31, 2025 $ 485,799   $ (7,126) 88,674 1,527 400,866   $ 1,495     $ 363  
Treasury shares at the beginning of the period (in shares) at Dec. 31, 2025 237,269   237,269                  
Increase (Decrease) in Stockholders' Equity [Roll Forward]                        
Net income $ 80,459         80,459            
Share-based compensation (in shares)     0         (350,582)        
Share-based compensation 11,701     11,684       $ 17        
Share repurchase (in shares)     (1,062,933)         (1,062,933)        
Share repurchase (42,298)   $ (42,298)                  
Retirement of shares (in shares)     (1,300,202)                  
Retirement of shares 0   $ 49,424 (8,904)   (40,455)   $ (65)        
Re-designated ordinary shares from Class B to Class A (in shares)                 406,058     (406,058)
Re-designated ordinary shares from Class B to Class A   $ 0             $ 20     $ (20)
Foreign currency translation adjustment, net of nil income taxes 265       265              
Net unrealized gain (loss) on available-for-sale investments (3)       (3)              
Intra-entity foreign currency transactions gain (loss) (1,849)       (1,849)              
Release of foreign currency translation reserve related to liquidation of subsidiaries (51)       (51)              
Ending balance (in shares) at Jun. 30, 2026             29,331,394 29,331,394   6,870,674 6,870,674  
Ending balance at Jun. 30, 2026 $ 534,023   $ 0 91,454 (111) 440,870   $ 1,467     $ 343  
Treasury shares at the end of the period (in shares) at Jun. 30, 2026 0   0                  
Beginning balance (in shares) at Mar. 31, 2026               29,455,790     7,156,732  
Beginning balance at Mar. 31, 2026 $ 510,299   $ (12,267) 87,395 (175) 433,500   $ 1,489     $ 357  
Treasury shares at the beginning of the period (in shares) at Mar. 31, 2026     304,321                  
Increase (Decrease) in Stockholders' Equity [Roll Forward]                        
Net income 42,335     0   42,335            
Share-based compensation (in shares)     0         (348,158)        
Share-based compensation 11,356     11,339       $ 17        
Share repurchase (in shares)     (758,612)       (758,612) (758,612)        
Share repurchase (30,031)   $ (30,031)       $ (30,000)          
Retirement of shares (in shares)     (1,062,933)                  
Retirement of shares 0   $ 42,298 (7,280)   (34,965)   $ (53)        
Re-designated ordinary shares from Class B to Class A (in shares)                 286,058     (286,058)
Re-designated ordinary shares from Class B to Class A   $ 0             $ 14     $ (14)
Foreign currency translation adjustment, net of nil income taxes 317       317              
Net unrealized gain (loss) on available-for-sale investments 5       5              
Intra-entity foreign currency transactions gain (loss) (240)       (240)              
Release of foreign currency translation reserve related to liquidation of subsidiaries (18)       (18)              
Ending balance (in shares) at Jun. 30, 2026             29,331,394 29,331,394   6,870,674 6,870,674  
Ending balance at Jun. 30, 2026 $ 534,023   $ 0 $ 91,454 $ (111) $ 440,870   $ 1,467     $ 343  
Treasury shares at the end of the period (in shares) at Jun. 30, 2026 0   0