| Result | W–L | Date | Tournament | Tier | Surface | Partner | Opponents | Score |
|---|
| Loss | 0–1 | Jul 2015 | Zimbabwe F3,Harare | Futures | Hard | Benjamin Lock | Evan King
Anderson Reed | 6–4, 4–6, [7–10] |
| Win | 1–1 | Jun 2016 | Mozambique F2,Maputo | Futures | Hard | Benjamin Lock | John Lamble
Bernardo Saraiva | 6–4, 6–3 |
| Loss | 1–2 | Jun 2016 | Zimbabwe F1, Harare | Futures | Hard | Benjamin Lock | Hugo Nys
Andrea Vavassori | 3–6, 3–6 |
| Loss | 1–3 | Jul 2016 | Zimbabwe F3, Harare | Futures | Hard | Benjamin Lock | Hugo Nys
Vishnu Vardhan | 7–6(7–5), 4–6, [5–10] |
| Win | 2–3 | Jul 2016 | Egypt F16,Sharm El Sheikh | Futures | Hard | Benjamin Lock | Jarmere Jenkins
Anderson Reed | 3–6, 6–3, [10–8] |
| Win | 3–3 | Jun 2018 | Zimbabwe F1, Harare | Futures | Hard | Benjamin Lock | Anirudh Chandrasekar
Vignesh Peranamallur | 6–3, 6–0 |
| Win | 4–3 | Jun 2018 | Zimbabwe F2, Harare | Futures | Hard | Benjamin Lock | Connor Farren
Milen Ianakiev | 6–2, 6–3 |
| Win | 5–3 | Jun 2018 | Zimbabwe F3, Harare | Futures | Hard | Benjamin Lock | Jordan Parker
Isaac Stoute | Walkover |
| Win | 6–3 | Oct 2018 | Nigeria F5,Lagos | Futures | Hard | Benjamin Lock | Tom Jomby
Alexis Klégou | 3–6, 6–4, [10–7] |
| Win | 7–3 | Nov 2018 | Mozambique F1, Maputo | Futures | Hard | Benjamin Lock | Luke Jacob Gamble
Tyler Lu | 5–7, 6–3, [10–4] |
| Loss | 7–4 | Nov 2018 | Mozambique F2, Maputo | Futures | Hard | Benjamin Lock | Luke Jacob Gamble
Tyler Lu | 7–5, 3–6, [6–10] |
| Loss | 7–5 | Dec 2018 | South Africa F2,Stellenbosch | Futures | Hard | Benjamin Lock | Gábor Borsos
Péter Nagy | 6–7(1–7), 2–6 |
| Loss | 7–6 | Feb 2019 | M15 Sharm El Sheikh, Egypt | World Tennis Tour | Hard | Benjamin Lock | Enrico Dalla Valle
Francesco Forti | 6–7(5–7), 7–6(7–5), [7–10] |
| Loss | 7–7 | Feb 2019 | M15 Sharm El Sheikh, Egypt | World Tennis Tour | Hard | Benjamin Lock | Michael Geerts
Vladyslav Manafov | 3–6, 6–7(10–12) |
| Win | 8–7 | Feb 2019 | M15 Sharm El Sheikh, Egypt | World Tennis Tour | Hard | Benjamin Lock | Ryan Nijboer
Pablo Vivero González | 7–6(7–4), 6–7(5–7), [11–9] |
| Loss | 8–8 | Apr 2019 | M25+HAbuja, Nigeria | World Tennis Tour | Hard | Benjamin Lock | Sadio Doumbia
Fabien Reboul | 7–6(7–5), 3–6, [7–10] |
| Win | 9–8 | May 2019 | M15Accra, Ghana | World Tennis Tour | Hard | Benjamin Lock | David Anthony Hale
Niklas Johansson | 6–4, 6–1 |
| Win | 10–8 | Jun 2019 | M15 Harare, Zimbabwe | World Tennis Tour | Hard | Benjamin Lock | Martin Beran
Joshua Paris | 6–3, 6–0 |
| Win | 11–8 | Sep 2019 | M15Johannesburg, South Africa | World Tennis Tour | Hard | Benjamin Lock | Alexander Donski
David Pichler | 6–3, 6–4 |
| Loss | 11–9 | Oct 2019 | M25+H Lagos, Nigeria | World Tennis Tour | Hard | Benjamin Lock | Aziz Dougaz
Skander Mansouri | 6–7(4–7), 3–6 |
| Win | 12–9 | Oct 2019 | M25+H Lagos, Nigeria | World Tennis Tour | Hard | Benjamin Lock | William Bushamuka
Aryan Goveas | 6–4, 6–4 |
| Win | 13–9 | Nov 2019 | M15 Maputo, Mozambique | World Tennis Tour | Hard | Benjamin Lock | Jake Delaney
Bruno Nhavene | 6–4, 6–3 |
| Win | 14–9 | Mar 2022 | M25Medellín, Colombia | World Tennis Tour | Clay | Benjamin Lock | Akira Santillan
Rubin Statham | 4–6, 6–4, [10–6] |
| Win | 15–9 | May 2022 | M25Santa Margherita di Pula, Italy | World Tennis Tour | Clay | Benjamin Lock | Adam Taylor
Jason Taylor | 6–4, 3–6, [10–8] |
| Loss | 15–10 | May 2022 | M15Oran, Algeria | World Tennis Tour | Clay | Benjamin Lock | Robin Bertrand
Mirko Martinez | 6–1, 4–6, [6–10] |
| Win | 16–10 | May 2022 | M15 Oran, Algeria | World Tennis Tour | Clay | Benjamin Lock | Robin Bertrand
Mirko Martinez | 6–1, 6–7(4–7), [10–3] |
| Loss | 16–11 | Jul 2022 | Segovia, Spain | Challenger | Hard | Benjamin Lock | Nicolás Álvarez Varona
Iñaki Montes de la Torre | 6–7(3–7), 3–6 |
| Loss | 16–12 | Oct 2022 | Ambato, Ecuador | Challenger | Clay | Benjamin Lock | Santiago Rodríguez Taverna
Thiago Agustín Tirante | 6–7(11–13), 3–6 |
| Win | 17–12 | Apr 2024 | M25Mosquera, Colombia | World Tennis Tour | Clay | Benjamin Lock | Peter Bertran
Thijmen Loof | 7–6(7–3), 7–5 |
| Loss | 17–13 | May 2024 | M25Anapoima, Colombia | World Tennis Tour | Clay | Benjamin Lock | Ivan Denisov
Daniel Antonio Nunez | 4–6, 2–6 |
| Win | 18–13 | May 2024 | M15Addis Ababa, Ethiopia | World Tennis Tour | Clay | Benjamin Lock | Chirag Duhan
Maik Steiner | 6–3, 7–6(7–4) |
| Win | 19–13 | May 2024 | M25Addis Ababa, Ethiopia | World Tennis Tour | Clay | Benjamin Lock | S D Prajwal Dev
Adil Kalyanpur | 3–6, 6–3, [10–8] |
| Win | 20–13 | Jun 2024 | Blois, France | Challenger | Hard (i) | Benjamin Lock | Corentin Denolly
Arthur Géa | 1–6, 6–3, [10–4] |