Result | W–L | Date | Tournament | Tier | Surface | Partner | Opponents | Score |
Win | 1–0 | Sep 2015 | Turkey F38, Antalya | Futures | Hard | Robbie Mudge | Kirill Dmitriev
Andrei Plotniy | 1–6, 6–4, [10–5] |
Win | 2–0 | Oct 2015 | Turkey F39, Antalya | Futures | Hard | Robbie Mudge | Daniel Dutra da Silva
Eduardo Russi | 6–4, 3–6, [10–5] |
Loss | 2–1 | Jul 2016 | USA F22, Pittsburgh | Futures | Clay | Robbie Mudge | Connor Smith
Danny Thomas | 6–3, 4–6, [6–10] |
Win | 3–1 | Aug 2016 | Spain F25, Ourense | Futures | Hard | Dennis Uspensky | Ryota Kishi
Yusuke Watanuki | 6–4, 6–1 |
Win | 4–1 | Nov 2016 | USA F37, Pensacola, Florida | Futures | Clay | Dominic Cotrone | Pedro Dumont
Alexandre Peyrot | 7–5, 6–3 |
Win | 5–1 | Dec 2016 | USA F40, Tallahassee, Florida | Futures | Hard (i) | Nathaniel Lammons | Aziz Dougaz
Guy Orly Iradukunda | 6–4, 5–7, [10–8] |
Loss | 5–2 | Apr 2017 | Greece F5, Heraklion | Futures | Hard | Nick Chappell | Benjamin Bonzi
Rémi Boutillier | 3–6, 7–6(10–8), [6–10] |
Win | 6–2 | Jun 2017 | Spain F17, Martos | Futures | Hard | Evan King | JC Aragone
Daniel Nolan | 6–4, 6–4 |
Loss | 6–3 | Aug 2017 | USA F27, Edwardsville, Illinois | Futures | Hard | Alex Lawson | Hunter Callahan
Gustav Hansson | 3–6, 4–6 |
Win | 7–3 | Nov 2017 | Kuwait F1, Mishref | Futures | Hard | Benjamin Lock | Chandril Sood
Lakshit Sood | 7–6(8–6), 7–5 |
Win | 8–3 | Nov 2017 | Kuwait F2, Mishref | Futures | Hard | Benjamin Lock | Baptiste Crepatte
Lény Mitjana | 6–3, 6–2 |
Win | 9–3 | Nov 2017 | Kuwait F3, Mishref | Futures | Hard | Benjamin Lock | Marc Dijkhuizen
Darko Jandrić | 6–2, 6–1 |
Win | 10–3 | Nov 2017 | South Africa F1, Stellenbosch | Futures | Hard | Benjamin Lock | Peter Heller
George von Massow | 5–7, 6–2, [10–5] |
Win | 11–3 | Dec 2017 | South Africa F2, Stellenbosch | Futures | Hard | Benjamin Lock | Michiel de Krom
Ryan Nijboer | 6–3, 6–3 |
Win | 12–3 | Dec 2017 | South Africa F3, Stellenbosch | Futures | Hard | Benjamin Lock | Jaime Pulgar-García
Javier Pulgar-García | 7–6(7–3), 6–7(4–7), [10–5] |
Loss | 12–4 | Mar 2018 | Egypt F8, Sharm El Sheikh | Futures | Hard | Benjamin Lock | Christopher Díaz Figueroa
Wilfredo González | 4–6, 6–4, [10–12] |
Loss | 12–5 | Mar 2018 | Bahrain F1, Manama | Futures | Hard | Anderson Reed | Marek Gengel
Dominik Kellovský | 3–6, 6–3, [6–10] |
Win | 13–5 | Apr 2018 | Tallahassee, USA | Challenger | Clay | Denis Kudla | Enrique López Pérez
Jeevan Nedunchezhiyan | 6–3, 6–1 |
Win | 14–5 | Jul 2018 | Gatineau, Canada | Challenger | Hard | Bradley Klahn | Darian King
Peter Polansky | 7–6(7–4), 4–6, [10–8] |
Win | 15–5 | Aug 2018 | Lexington, USA | Challenger | Hard | Roberto Maytín | Joris De Loore
Marc Polmans | 6–3, 6–1 |
Win | 16–5 | Oct 2018 | Calgary, Canada | Challenger | Hard (i) | Nathan Pasha | Matt Reid
John-Patrick Smith | 6–4, 4–6, [10–6] |
Loss | 16–6 | Oct 2018 | Las Vegas, USA | Challenger | Hard | Nathan Pasha | Marcelo Arévalo
Roberto Maytín | 3–6, 3–6 |
Loss | 16–7 | Jan 2019 | Columbus, USA | Challenger | Hard (i) | Nathaniel Lammons | Maxime Cressy
Bernardo Saraiva | 5–7, 6–7(3–7) |
Win | 17–7 | Jan 2019 | Newport Beach, USA | Challenger | Hard | Nathaniel Lammons | Romain Arneodo
Andrei Vasilevski | 7–5, 7–6(7–1) |
Loss | 17–8 | Feb 2019 | Cleveland, USA | Challenger | Hard | Nathaniel Lammons | Romain Arneodo
Andrei Vasilevski | 4–6, 6–7(4–7) |
Win | 18–8 | Feb 2019 | Cherbourg, France | Challenger | Hard (i) | Nathaniel Lammons | Raúl Brancaccio
Javier Barranco Cosano | 4–6, 7–6(7–4), [10–8] |
Win | 19–8 | Sep 2019 | New Haven, USA | Challenger | Hard | Nathaniel Lammons | Sander Gillé
Joran Vliegen | 7–5, 6–4 |
Win | 20–8 | Sep 2019 | Tiburon, USA | Challenger | Hard | Roberto Maytín | Darian King
JC Aragone | 6–2, 7–5 |
Win | 21–8 | Jan 2020 | Ann Arbor, USA | Challenger | Hard | Hans Hach Verdugo | Nicolás Barrientos
Alejandro Gómez | 4–6, 6–4, [10–8] |
Loss | 21-9 | Sep 2020 | Sibiu, Romania | Challenger | Clay | Hans Hach Verdugo | Jan Zieliński
Hunter Reese | 4–6, 2–6 |
Loss | 21-10 | Oct 2020 | Istanbul, Turkey | Challenger | Hard | Nathaniel Lammons | Ariel Behar
Gonzalo Escobar | 6–4, 3–6, [7–10] |
Loss | 21-11 | Feb 2021 | Antalya, Turkey | Challenger | Clay | Alex Lawson | Denys Molchanov
Aleksandr Nedovyesov | 4–6, 6–7(2–7) |
Win | 22–11 | Mar 2021 | Cleveland, USA | Challenger | Hard (i) | Alex Lawson | Evan King
Hunter Reese | 7–5, 6–7(5–7), [11–9] |
Loss | 22-12 | June 2021 | Aix-en-Provence, France | Challenger | Clay | Alex Lawson | Sadio Doumbia
Fabien Reboul | 7–6(7–4), 5–7, [4–10] |
Loss | 22-13 | Jul 2021 | Salzburg, Austria | Challenger | Clay | Alex Lawson | Facundo Bagnis
Sergio Galdós | 0–6, 3–6 |
Win | 23–13 | Jul 2021 | Segovia, Spain | Challenger | Hard | Alex Lawson | JC Aragone
Nicolás Barrientos | 7–6(10–8), 6–4 |
Loss | 23–14 | Feb 2022 | Cleveland, USA | Challenger | Hard (i) | Jackson Withrow | William Blumberg
Max Schnur | 3–6, 6–7(4–7) |
Loss | 23–15 | Mar 2022 | Monterrey, Mexico | Challenger | Hard | John-Patrick Smith | Hans Hach Verdugo
Austin Krajicek | 0–6, 3–6 |
Win | 24–15 | Apr 2022 | Sarasota, USA | Challenger | Clay | Jackson Withrow | André Göransson
Nathaniel Lammons | 6–3, 7–6(7–3) |
Loss | 24–16 | May 2022 | Little Rock, USA | Challenger | Hard | Max Schnur | Andrew Harris
Christian Harrison | 3–6, 4–6 |
Loss | 24–17 | Jun 2022 | Oeiras, Portugal | Challenger | Clay | Alex Lawson | Sadio Doumbia
Fabien Reboul | 3–6, 6–3, [13–15] |
Win | 25–17 | Nov 2022 | Champaign, USA | Challenger | Hard (i) | Hans Hach Verdugo | Ezekiel Clark
Alfredo Perez | 3–6, 6–3, [10–5] |
Loss | 25–18 | Jan 2023 | Nonthaburi, Thailand | Challenger | Hard | Hans Hach Verdugo | Marek Gengel
Adam Pavlásek | 6–7(4–7), 4–6 |
Win | 26–18 | Feb 2023 | Cleveland, USA | Challenger | Hard (i) | Hans Hach Verdugo | Ruben Gonzales
Reese Stalder | 3–6, 7–5, [10–6] |
Win | 27–18 | Mar 2023 | Puerto Vallarta, Mexico | Challenger | Hard | Miguel Ángel Reyes-Varela | André Göransson
Ben McLachlan | 3–0 ret. |
Win | 28–18 | Apr 2023 | Ostrava, Czech Republic | Challenger | Clay | Miguel Ángel Reyes-Varela | Guido Andreozzi
Guillermo Durán | 7–5, 7–6(7–5) |
Loss | 28–19 | Jun 2023 | Ilkley, United Kingdom | Challenger | Grass | John-Patrick Smith | Gonzalo Escobar
Aleksandr Nedovyesov | 6–2, 5–7, [9–11] |
Win | 29–19 | Oct 2023 | Mouilleron-le-Captif, France | Challenger | Hard (i) | Julian Cash | Maxime Cressy
Otto Virtanen | 6–4, 5–7, [12–10] |
Win | 30–19 | Oct 2023 | Málaga, Spain | Challenger | Hard | Julian Cash | Andrew Harris
John-Patrick Smith | 7–5, 6–2 |
Loss | 30–20 | Oct 2023 | Brest, France | Challenger | Hard (i) | Albano Olivetti | Yuki Bhambri
Julian Cash | 7–6(7–5), 3–6, [5–10] |
Win | 31–20 | May 2024 | Bordeaux, France | Challenger | Clay | Julian Cash | Quentin Halys Nicolas Mahut | 6–3, 7–6(7–2) |
Win | 32–20 | Jun 2024 | Surbiton, United Kingdom | Challenger | Grass | Julian Cash | Nicolas Barrientos Diego Hidalgo | 6–4, 6–4 |