| Result |
W–L |
Date |
Tournament |
Tier |
Surface |
Partner |
Opponents |
Score |
| Win |
1–0 |
Mar 2018 |
F3 Mornington, Australia |
Futures |
Clay |
Yu Hsiou Hsu |
Tom Evans / Max Purcell |
6–3, 6–3 |
| Win |
2–0 |
Jul 2018 |
Indonesia F1, Jakarta |
Futures |
Hard |
Michael Look |
Justin Barki / Christopher Rungkat |
7–6(8–6), 7–6(7–5) |
| Win |
3–0 |
May 2019 |
M15 Cancun, Mexico |
World Tennis Tour |
Hard |
Brandon Walkin |
Alexios Halebian / Paul Osterbaan |
6–2, 2–6, [8–10] |
| Loss |
3–1 |
Sep 2019 |
M25 Darwin, Australia |
World Tennis Tour |
Hard |
Thomas Fancutt |
Brydan Klein / Dayne Kelly |
5–7, 5–7 |
| Loss |
3–2 |
Jul 2021 |
M15 Esch-sur-Alzette, Luxembourg |
World Tennis Tour |
Clay |
Mick Veldheer |
Davide Pozzi / Alexander Weis |
1–6, 6–4, [8–10] |
| Loss |
3–3 |
Sep 2021 |
M15 Ulcinj, Montenegro |
World Tennis Tour |
Clay |
William Ma |
Marcello Serafini / Samuel Vincent Ruggeri |
3–6, 2–6 |
| Win |
4–3 |
Oct 2021 |
M15 Heraklion, Greece |
World Tennis Tour |
Hard |
Markus Eriksson |
Peter Vajta / Zsombor Velcz |
3–6, 7–6(7–5), [10–0] |
| Win |
5–3 |
Nov 2021 |
M15 Heraklion, Greece |
World Tennis Tour |
Hard |
Kai Lemstra |
Filip Bergevi / Kai Wehnelt |
4–6, 6–3, [12–10] |
| Loss |
5–4 |
Mar 2022 |
M25, Canberra, Australia |
World Tennis Tour |
Clay |
Eric Vanshelboim |
Dane Sweeny / Li Tu |
6–7(7–5), 6–3, [7–10] |
| Loss |
5–5 |
Mar 2022 |
M25, Canberra, Australia |
World Tennis Tour |
Clay |
Eric Vanshelboim |
Adam Taylor / Jason Taylor |
6–7(8–6), 6–3, [12–14] |
| Loss |
5–6 |
May 2022 |
M15, Antalya, Turkey |
World Tennis Tour |
Clay |
Brandon Walkin |
Vladimir Korolev / Maxim Ratniuk |
6–7(3–7), 6–4, [5–10] |
| Win |
6–6 |
Jun 2022 |
M25, Kiseljak, Bosnia and Herzegovina |
World Tennis Tour |
Clay |
Brandon Walkin |
Mattia Bellucci / Rémy Bertola |
6–3, 4–6, [10–6] |
| Loss |
6–7 |
Jun 2022 |
M15, Bytom, Poland |
World Tennis Tour |
Clay |
Brandon Walkin |
Jakub Menšík / Olaf Pieczkowski |
6–7(3–7), 5–7 |
| Loss |
6–8 |
Jul 2022 |
M15, Caloundra, Australia |
World Tennis Tour |
Hard |
Aaron Addison |
Jeremy Beale / Thomas Fancutt |
6–7(1–7), 3–6 |
| Win |
7–8 |
Jul 2022 |
M15, Caloundra, Australia |
World Tennis Tour |
Hard |
Aaron Addison |
Blake Bayldon / Jordan Smith |
6–4, 3–6, [10–5] |
| Loss |
7–9 |
Nov 2022 |
M25, Traralgon, Australia |
World Tennis Tour |
Hard |
Calum Puttergill |
James Frawley / Jeremy Beale |
3–6, 2–6 |
| Loss |
7–10 |
Mar 2023 |
M25 Swan Hill, Australia |
World Tennis Tour |
Hard |
Blake Ellis |
Tristan Schoolkate / Luke Saville |
3–6, 4–6 |
| Loss |
7–11 |
Mar 2023 |
M25 Canberra, Australia |
World Tennis Tour |
Clay |
Brandon Walkin |
Taisei Ichikawa / Daisuke Sumizawa |
6–7(6–8), 7–5, [3–10] |
| Win |
8–11 |
Apr 2023 |
M25 Jakarta, Indonesia |
World Tennis Tour |
Hard |
Brandon Walkin |
Ray Ho / Parikshit Somani |
7–5, 6–4 |
| Win |
9–11 |
Jun 2023 |
M25 Kiseljak, Bosnia & Herzegovina |
World Tennis Tour |
Clay |
Brandon Walkin |
Stefan Latinović / Andrej Radojicic |
6–2, 6–3 |
| Loss |
9–12 |
Jun 2023 |
M15 Sarajevo, Bosnia & Herzegovina |
World Tennis Tour |
Clay |
Brandon Walkin |
Juan Bautista Otegui / Matias Zukas |
6–7(0–7), 3–6 |
| Win |
10–12 |
Jul 2023 |
Trieste, Italy |
Challenger |
Clay |
Jason Taylor |
Marco Bortolotti / Andrea Pellegrino |
4–6, 7–5, [10–6] |
| Win |
11–12 |
Aug 2023 |
Zhangjiagang, China |
Challenger |
Hard |
Ray Ho |
Francis Alcantara / Sun Fajing |
6–3, 6–4 |
| Loss |
11–13 |
Sep 2023 |
Guangzhou, China |
Challenger |
Hard |
Ray Ho |
Antoine Bellier / Luca Castelnuovo |
3–6, 6–7 (5–7) |
| Loss |
11–14 |
Oct 2023 |
Shenzhen, China |
Challenger |
Hard |
Piotr Matuszewski |
Alexander Erler / Lucas Miedler |
3–6, 4–6 |
| Win |
12–14 |
Mar 2024 |
New Delhi, India |
Challenger |
Hard |
Piotr Matuszewski |
Jakob Schnaitter / Mark Wallner |
6–4, 6–4 |
| Loss |
12–15 |
Apr 2024 |
Cuernavaca, Mexico |
Challenger |
Hard |
Piotr Matuszewski |
Arjun Kadhe /
Jeevan Nedunchezhiyan |
6–7(5–7), 4–6 |
| Win |
13–15 |
Jun 2024 |
Sassuolo, Italy |
Challenger |
Clay |
Marco Bortolotti |
Ryan Seggerman / Patrik Trhac |
7–6(9–7), 2–6, [11–9] |
| Win |
14–15 |
Jul 2024 |
Trieste, Italy |
Challenger |
Clay |
Marco Bortolotti |
Daniel Dutra da Silva / Courtney John Lock |
6–2, 7–6(8–6) |
| Win |
15–15 |
Aug 2024 |
Cordenons, Italy |
Challenger |
Clay |
Marco Bortolotti |
Jiří Barnat / Andrew Paulson |
w/o |
| Win |
16–15 |
Sep 2024 |
Shanghai, China |
Challenger |
Hard |
Cristian Rodríguez |
Rithvik Choudary Bollipalli / Arjun Kadhe |
7–6(7–4), 1–6, [10–7] |
| Win |
17–15 |
Jan 2025 |
Brisbane, Australia |
Challenger |
Hard |
Colin Sinclair |
Joshua Charlton / Patrick Harper |
7–6(7–2), 7–5 |
| Loss |
17–16 |
Feb 2025 |
Pune, India |
Challenger |
Hard |
Blake Bayldon |
Jeevan Nedunchezhiyan / N Vijay Sundar Prashanth |
6–3, 3–6, [0–10] |
| Loss |
17–17 |
Feb 2025 |
Bengaluru, India |
Challenger |
Hard |
Blake Bayldon |
Anirudh Chandrasekar / Ray Ho |
2–6, 4–6 |
| Loss |
17–18 |
Apr 2025 |
Busan, South Korea |
Challenger |
Hard |
Ray Ho |
Rio Noguchi / Yuta Shimizu |
6–7(7–9), 4–6 |
| Win |
18–18 |
Apr 2025 |
Gwangju, South Korea |
Challenger |
Hard |
Ray Ho |
Vasil Kirkov / Bart Stevens |
6–3, 7–6(8–6) |
| Win |
19–18 |
Apr 2025 |
Guangzhou, China |
Challenger |
Hard |
Ray Ho |
Vasil Kirkov / Bart Stevens |
6–3, 6–4 |
| Loss |
19–19 |
May 2025 |
Wuxi, China |
Challenger |
Hard |
Ray Ho |
Vasil Kirkov / Bart Stevens |
6–3, 5–7, [6–10] |
| Win |
20–19 |
Jun 2025 |
Sassuolo, Italy |
Challenger |
Clay |
Ryan Seggerman |
Alexander Erler / Constantin Frantzen |
7–6(7–4), 3–6, [10–7] |
| Win |
21–19 |
Jun 2025 |
Milan, Italy |
Challenger |
Clay |
Ryan Seggerman |
George Goldhoff / Ray Ho |
3–6, 7–5, [10–8] |
| Win |
22–19 |
Sep 2025 |
Guangzhou, China |
Challenger |
Hard |
Ryan Seggerman |
Seita Watanabe / Kaito Uesugi |
6–1, 6–3 |