| Result | W–L | Date | Tournament | Tier | Surface | Partner | Opponents | Score |
|---|
| Loss | 0–1 | Nov 2009 | USA F28,Niceville | Futures | Clay | Denis Kudla | Tigran Martirosyan
Artem Sitak | 4–6, 5–7 |
| Loss | 0–2 | Jul 2010 | USA F18,Peoria | Futures | Clay | Jack Sock | Taylor Fogleman
Benjamin Rogers | 2–6, 4–6 |
| Loss | 0–3 | May 2011 | Savannah, United States | Challenger | Clay | Jesse Witten | Izak van der Merwe
Rik de Voest | 3–6, 3–6 |
| Win | 1–3 | Jun 2011 | USA F13,Sacramento | Futures | Hard | Alexandre Lacroix | James Ludlow
Ty Trombetta | 6–4, 7–6(7–3) |
| Loss | 1–4 | Sep 2011 | Canada F5,Toronto | Futures | Clay | Darian King | Maciek Sykut
Denis Zivkovik | 2–6, 1–6 |
| Loss | 1–5 | Oct 2011 | USA F27,Mansfield | Futures | Hard | Blake Strode | Devin Britton
Jordan Cox | 6–2, 2–6, [7–10] |
| Loss | 1–6 | Oct 2011 | USA F28,Birmingham | Futures | Clay | Evan King | Andre Daescu
Milan Pokrajac | 2–6, 2–6 |
| Loss | 1–7 | Jan 2012 | USA F2,Sunrise | Futures | Clay | Edward Corrie | Ruben Gonzales
Chris Kwon | 3–6, 5–7 |
| Loss | 1–8 | Jul 2012 | USA F19,Rochester | Futures | Clay | Vahid Mirzadeh | Chase Buchanan
Drew Courtney | 3–6, 0–6 |
| Loss | 1–9 | Sep 2012 | Canada F7,Toronto | Futures | Clay | Bjorn Fratangelo | Carsten Ball
Peter Polansky | 7–6(7–2), 4–6, [9–11] |
| Win | 2–9 | Dec 2012 | Hong Kong F3 | Futures | Hard | Daniel Nguyen | Marcus Daniell
Kaden Hensel | 6–4, 6–2 |
| Loss | 2–10 | Jan 2013 | USA F3,Weston | Futures | Clay | Patrick Daciek | Daniel Dutra da Silva
Caio Zampieri | 6–7(4–7), 2–6 |
| Loss | 2–11 | Jun 2013 | USA F14,Innisbrook | Futures | Clay | Eric Quigley | Marcelo Arévalo
Roberto Maytín | 6–3, 4–6, [7–10] |
| Win | 3–11 | Sep 2013 | Canada F7,Toronto | Futures | Clay | Jean-Yves Aubone | Milan Pokrajak
Peter Polansky | 6–4, 6–4 |
| Win | 4–11 | Sep 2013 | Canada F9,Markham | Futures | Hard | Evan King | Hans Hach
Andrew Ochotta | 6–3, 6–2 |
| Loss | 4–12 | Oct 2013 | USA F28,Birmingham | Futures | Clay | Evan King | Romain Arneodo
Benjamin Belleret | 7–6(7–4), 4–6, [7–10] |
| Loss | 4–13 | Nov 2013 | USA F29,Pensacola | Futures | Clay | Devin McCarthy | Joseph Cadogan
Patrick Daciek | 3–6, 6–2, [3–10] |
| Win | 5–13 | Nov 2013 | USA F31,Bradenton | Futures | Clay | Stefan Kozlov | Tommy Mylnikov
Devin McCarthy | 6–2, 6–4 |
| Win | 6–13 | Mar 2014 | USA F8,Bakersfield | Futures | Hard | Evan King | Adam Chadaj
Marek Michalička | 5–7, 6–4, [10–5] |
| Win | 7–13 | Mar 2014 | USA F9,Calabasas | Futures | Hard | Evan King | Dennis Novikov
Connor Smith | 6–4, 6–4 |
| Loss | 7–14 | Jun 2014 | Italy F20,Busto Arsizio | Futures | Clay | Daniel Dutra da Silva | Fabrício Neis
Pedro Sakamoto | 6–4, 1–6, [8–10] |
| Win | 8–14 | Sep 2014 | Canada F9,Toronto | Futures | Clay | Evan King | Bjorn Fratangelo
Mitchell Krueger | 6–4, 4–6, [11–9] |
| Loss | 8–15 | Sep 2014 | Canada F10,Toronto | Futures | Hard | Pavel Krainik | Michael Bois
Isade Juneau | 4–6, 6–4, [5–10] |
| Win | 9–15 | Dec 2014 | Dominican Republic F4,Santo Domingo | Futures | Hard | Mitchell Krueger | Mauricio Echazú
Aleksandar Lazov | 6–7(1–7), 6–1, [10–8] |
| Win | 10–15 | Mar 2015 | USA F10,Bakersfield | Futures | Hard | Darian King | Mitchell Krueger
Connor Smith | 6–4, 4–6, [10–7] |
| Win | 11–15 | May 2015 | USA F16,Tampa | Futures | Clay | Brandon Anandan | Jean-Yves Aubone
Rhyne Williams | 7–6(7–4), 7–6(7–4) |
| Win | 12–15 | Jun 2015 | USA F17,Buffalo | Futures | Clay | Nathan Pasha | Maximiliano Estévez
Daniel Garza | walkover |
| Loss | 12–16 | Jul 2015 | Winnetka, United States | Challenger | Hard | Frank Dancevic | Johan Brunström
Nicholas Monroe | 6–4, 3–6, [8–10] |
| Loss | 12–17 | Nov 2015 | Knoxville, United States | Challenger | Hard | Matthew Seeberger | Johan Brunström
Fredrik Nielsen | 1–6, 2–6 |
| Win | 13–17 | Nov 2015 | USA F34,Waco | Futures | Hard | Matthew Seeberger | Julian Lenz
William Little | 1–6, 6–3, [10–6] |
| Loss | 13–18 | Feb 2016 | Dallas, United States | Challenger | Hard | Dean O'Brien | Eric Quigley
Nicolas Meister | 1–6, 1–6 |
| Loss | 13–19 | Mar 2016 | USA F10,Bakersfield | Futures | Hard | Ruben Gonzales | Adrien Puget
Nicolas Meister | 5–7, 3-6 |
| Win | 14–19 | Jul 2016 | USA F23,Wichita | Futures | Hard | Darian King | Eric Quigley
Nicolas Meister | 6–2, 6–3 |
| Loss | 14–20 | Jul 2016 | Winnetka, United States | Challenger | Hard | David O'Hare | Stefan Kozlov
John-Patrick Smith | 3–6, 3–6 |
| Loss | 14–21 | Oct 2016 | Fairfield, United States | Challenger | Hard | Eric Quigley | Brian Baker
Mackenzie McDonald | 3–6, 4–6 |
| Loss | 14–22 | Jun 2017 | Vicenza, Italy | Challenger | Clay | Tristan-Samuel Weissborn | Gero Kretschmer
Alexander Satschko | 4–6, 6–7(4–7) |
| Loss | 14–23 | Aug 2017 | Floridablanca, Colombia | Challenger | Clay | Evan King | Sergio Galdós
Nicolás Jarry | 3–6, 7–5, [1–10] |
| Loss | 14–24 | Feb 2018 | Launceston, Australia | Challenger | Hard | Nathan Pasha | Alex Bolt
Bradley Mousley | 6–7(6–8), 0-6 |
| Win | 15–24 | Apr 2018 | Italy F9, Santa Margherita | Futures | Clay | Szymon Walków | Vasile Antonescu
Patrick Grigoriu | 6–4, 6–4 |
| Win | 16–24 | May 2018 | Poland F3,Ustroń | Futures | Clay | Szymon Walków | Vít Kopřiva
David Poljak | 0–6, 6–1, [10–4] |
| Loss | 16–25 | Jul 2018 | Netherlands F3,Amstelveen | Futures | Clay | Vasile Antonescu | Michiel De Krom
Ryan Nijboer | 7–6(7–0), 3–6, [5–10] |
| Win | 17–25 | Mar 2019 | M25Calabasas, United States | World Tennis Tour | Hard | Boris Arias | Jack Findel-Hawkins
Ryan Peniston | 6–2, 6–2 |
| Loss | 17–26 | May 2019 | M25Vero Beach, United States | World Tennis Tour | Clay | Boris Arias | Lorenzo Frigerio
Adelchi Virgili | 4–6, 3–6 |
| Win | 18–26 | Sep 2019 | Cary, United States | Challenger | Hard | Michael Mmoh | Treat Huey
John-Patrick Smith | 4–6, 6–4, [10–8] |
| Win | 19–26 | Oct 2019 | M25Norman, United States | World Tennis Tour | Hard | Lloyd Glasspool | Yates Johnson
Hunter Johnson | 7–6(11–9), 6–2 |
| Loss | 19–27 | Nov 2019 | Charlottesville, United States | Challenger | Hard | Blaž Kavčič | Mitchell Krueger
Blaž Rola | 4–6, 1–6 |
| Loss | 19–28 | Jan 2020 | M25Rancho Santa Fe, United States | World Tennis Tour | Hard | Boris Arias | Lloyd Glasspool
Alex Lawson | 1–6, 6–7(1–7) |
| Loss | 19−29 | Apr 2021 | Tallahassee, United States | Challenger | Clay | Donald Young | Orlando Luz
Rafael Matos | 6–7(2–7), 2-6 |
| Loss | 19–30 | Sep 2021 | M15Fayetteville, United States | World Tennis Tour | Hard | Abraham Asaba | Alexandre Reco
Nicolas Rousset | 3–6, 6–3, [6−10] |
| Win | 20–30 | Oct 2021 | M15Lubbock, United States | World Tennis Tour | Hard | Gijs Brouwer | Constantin Frantzen
Sven Lah | 6–4, 4–6, [10−5] |
| Win | 21–30 | Apr 2022 | M15Orange Park, United States | World Tennis Tour | Clay | Abraham Asaba | Aidan Mayo
Govind Nanda | 7–6(2−7), 3–6, [11−9] |
| Loss | 21–31 | Jun 2022 | M25East Lansing, United States | World Tennis Tour | Hard | Noah Schachter | Shunsuke Mitsui
James Trotter | 5–7, 3–6 |
| Loss | 21–32 | Jun 2022 | M25Wichita, United States | World Tennis Tour | Hard | Abraham Asaba | Hsu Yu Hsiou
Yuta Shimizu | 4–6, 6–2, [5−10] |
| Loss | 21–33 | Jul 2022 | M15Fountain Valley, United States | World Tennis Tour | Hard | Abraham Asaba | Ethan Quinn
Adolfo Daniel Vallejo | 0–6, 6–3, [8−10] |
| Loss | 21–34 | Jan 2023 | M25Wesley Chapel, United States | World Tennis Tour | Hard | Roy Stepanov | Roberto Cid Subervi
Alfredo Perez | 3–6, 2–6 |
| Loss | 21–35 | Mar 2023 | M25Bakersfield, United States | World Tennis Tour | Hard | Blu Baker | Vasil Kirkov
Christian Langmo | 5–7, 6–7(2–7) |
| Win | 22–35 | Apr 2023 | M15Sunrise, United States | World Tennis Tour | Hard | Blu Baker | Jared Thompkins
Leonardo Vega | 6–3, 6–1 |
| Loss | 22–36 | May 2023 | M25Pensacola, United States | World Tennis Tour | Clay | Roy Stepanov | Vasil Kirkov
Benjamin Sigouin | 3–6, 6–4, [8–10] |