| Win | 1–0 | Sep 2009 | Burundi F1, Bujumbura | Futures | Clay | South Africa Hendrik Coertzen | Romania Bogdan-Victor Leonte India Rupesh Roy | 6–4, 6–2 |
| Win | 2–0 | Sep 2009 | Rwanda F1, Kigali | Futures | Clay | South Africa Hendrik Coertzen | Nigeria Sunday Emmanuel Uganda Duncan Mugabe | 6–3, 7–5 |
| Loss | 2–1 | Oct 2009 | South Africa F1, Pretoria | Futures | Hard | South Africa Hendrik Coertzen | South Africa Andrew Anderson South Africa Benjamin Janse van Rensburg | 3–6, 5–7 |
| Win | 3–1 | Sep 2010 | Uganda F1, Kampala | Futures | Clay | United Kingdom James Feaver | Zimbabwe Takanyi Garanganga Uganda Duncan Mugabe | 7–6(10–8), 6–2 |
| Loss | 3–2 | Oct 2010 | Nigeria F2, Lagos | Futures | Hard | South Africa Raven Klaasen | Israel Amir Weintraub Netherlands Boy Westerhof | 7–5, 4–6, [6–10] |
| Loss | 3–3 | Feb 2011 | Turkey F4, Antalya | Futures | Hard | Czech Republic Michal Konečný | Belarus Sergey Betov Ukraine Denys Molchanov | 4–6, 1–6 |
| Loss | 3–4 | Jul 2011 | Spain F22, Palma del Río | Futures | Hard | South Africa Nicolaas Scholtz | Spain Juan José Leal-Gómez Spain Borja Rodríguez Manzano | 3–6, 6–3, [10–12] |
| Win | 4–4 | Jul 2011 | Spain F23, Bakio | Futures | Hard | South Africa Nicolaas Scholtz | Italy Francesco Borgo Italy Claudio Grassi | 7–5, 6–3 |
| Loss | 4–5 | Aug 2011 | Great Britain F12, London | Futures | Hard | India Sanam Singh | United Kingdom David Rice United Kingdom Sean Thornley | 3–6, 2–6 |
| Win | 5–5 | Sep 2011 | Israel F7, Akko | Futures | Hard | Russia Mikhail Vasiliev | Italy Erik Crepaldi Italy Claudio Grassi | 6–3, 6–3 |
| Loss | 5–6 | Sep 2011 | Israel F9, Be'er Sheva | Futures | Hard | Russia Vitali Reshetnikov | Italy Francesco Borgo Slovakia Marko Daniš | 2–6, 3–6 |
| Win | 6–6 | Nov 2011 | Rwanda F1, Kigali | Futures | Clay | Austria Gerald Melzer | Egypt Omar Hedayet Egypt Karim-Mohamed Maamoun | 6–7(1–7), 7–6(7–4), [10–8] |
| Loss | 6–7 | Jan 2012 | Israel F1, Eilat | Futures | Hard | South Africa Jean Andersen | Italy Claudio Grassi Italy Matteo Volante | 4–6, 6–4, [9–11] |
| Loss | 6–8 | Jan 2012 | Israel F2, Eilat | Futures | Hard | South Africa Jean Andersen | Italy Claudio Grassi Netherlands Antal van der Duim | 3–6, 5–7 |
| Loss | 6–9 | Feb 2012 | Turkey F4, Antalya | Futures | Hard | Kuwait Abdullah Maqdes | Bosnia and Herzegovina Damir Džumhur Bosnia and Herzegovina Aldin Šetkić | 4–6, 6–4, [5–10] |
| Loss | 6–10 | Feb 2012 | Turkey F5, Antalya | Futures | Hard | South Africa Jean Andersen | Turkey Tuna Altuna Czech Republic Jiří Školoudík | 5–7, 6–7(4–7) |
| Loss | 6–11 | Mar 2012 | France F5, Poitiers | Futures | Hard (i) | France Gleb Sakharov | France Olivier Patience France Nicolas Renavand | 2–6, 3–6 |
| Win | 7–11 | Mar 2012 | France F6, Saint-Raphaël | Futures | Hard (i) | South Africa Jean Andersen | France Thomas le Boulch France Baptiste Maitre | 6–2, 6–4 |
| Loss | 7–12 | Jul 2012 | Anning, China, P.R. | Challenger | Clay | Thailand Kittiphong Wachiramanowong | Thailand Sanchai Ratiwatana Thailand Sonchat Ratiwatana | 6–4, 6–7(1–7), [11–13] |
| Win | 8–12 | Sep 2012 | Great Britain F14, Chiswick | Futures | Hard | United Kingdom David Rice | United Kingdom Harry Meehan United Kingdom Stefan Sterland-Markovic | 7–5, 7–6(9–7) |
| Win | 9–12 | Sep 2012 | Great Britain F15, London | Futures | Hard | South Africa Jean Andersen | New Zealand Marcus Daniell Mexico Manuel Sánchez | 6–2, 4–6, [12–10] |
| Win | 10–12 | Sep 2012 | Kuwait F2, Meshref | Futures | Hard | Kuwait Abdullah Maqdes | France Clément Reix France Romain Sichez | 6–4, 6–4 |
| Win | 11–12 | Oct 2012 | Kuwait F3, Meshref | Futures | Hard | United Kingdom Lewis Burton | Kuwait Mohammad Ghareeb Russia Mikhail Vasiliev | 7–6(7–5), 7–6(7–2) |
| Win | 12–12 | Oct 2012 | Nigeria F1, Lagos | Futures | Hard | Slovakia Kamil Čapkovič | Italy Alessandro Bega Spain Enrique López Pérez | 6–4, 6–2 |
| Win | 13–12 | Oct 2012 | Nigeria F2, Lagos | Futures | Hard | Slovakia Kamil Čapkovič | Italy Alessandro Bega Spain Enrique López Pérez | 6–1, 6–2 |
| Win | 14–12 | Nov 2012 | Zimbabwe F1, Harare | Futures | Hard | South Africa Keith-Patrick Crowley | United States Joel Kincaid United States Evan Song | 3–6, 6–3, [10–5] |
| Win | 15–12 | Dec 2012 | South Africa F1, Potchefstroom | Futures | Hard | South Africa Jean Andersen | France Simon Cauvard France Elie Rousset | 6–1, 4–6, [10–7] |
| Win | 16–12 | Dec 2012 | South Africa F2, Potchefstroom | Futures | Hard | South Africa Jean Andersen | France Simon Cauvard France Elie Rousset | 7–6(7–5), 4–6, [10–5] |
| Win | 17–12 | Feb 2013 | Burnie, Australia | Challenger | Hard | Australia John-Patrick Smith | Australia Brydan Klein Australia Dane Propoggia | 6–2, 6–2 |
| Loss | 17–13 | Feb 2013 | Australia F2, Mildura | Futures | Grass | Australia Colin Ebelthite | Australia Sam Groth Australia John-Patrick Smith | 3–6, 4–6 |
| Win | 18–13 | Mar 2013 | Bahrain F1, Manama | Futures | Hard | Switzerland Riccardo Maiga | Colombia Cristian Rodríguez Spain Jordi Samper Montaña | 6–3, 6–3 |
| Win | 19–13 | Jun 2013 | Turkey F25, Istanbul | Futures | Hard | South Africa Dean O'Brien | Turkey Barış Ergüden Turkey Barkın Yalçınkale | 6–1, 4–6, [11–9] |
| Loss | 19–14 | Jul 2013 | Istanbul, Turkey | Challenger | Hard | Australia Brydan Klein | Republic of Ireland James Cluskey France Fabrice Martin | 6–3, 3–6, [5–10] |
| Win | 20–14 | Aug 2013 | USA F22, Edwardsville | Futures | Hard | South Africa Keith-Patrick Crowley | United States Patrick Davidson Australia Leon Frost | 6–3, 6–1 |
| Win | 21–14 | Sep 2013 | Kuwait F2, Meshref | Futures | Hard | France Tak Khunn Wang | United Kingdom Lewis Burton United Kingdom Marcus Willis | 4–6, 6–3, [10–6] |
| Win | 22–14 | Oct 2013 | Nigeria F1, Lagos | Futures | Hard | Croatia Ante Pavić | Croatia Borna Ćorić Croatia Dino Marcan | 7–6(7–3), 6–2 |
| Win | 23–14 | Oct 2013 | Nigeria F2, Lagos | Futures | Hard | Croatia Ante Pavić | Croatia Borna Ćorić Croatia Dino Marcan | 7–5, 6–3 |
| Loss | 23–15 | Mar 2014 | China F2, Guangzhou | Futures | Hard | Chinese Taipei Chen Ti | Italy Riccardo Ghedin Italy Claudio Grassi | 4–6, 1–6 |
| Win | 24–15 | Apr 2014 | Qatar F2, Doha | Futures | Hard | Chinese Taipei Chen Ti | United Kingdom Luke Bambridge France Antoine Benneteau | 6–4, 6–3 |
| Win | 25–15 | Apr 2014 | Qatar F3, Doha | Futures | Hard | Chinese Taipei Chen Ti | United Kingdom Oliver Golding United Kingdom Joshua Ward-Hibbert | 6–1, 6–1 |
| Win | 26–15 | May 2014 | Korea F2, Seoul | Futures | Hard | Australia Dane Propoggia | South Korea Chung Hong South Korea Nam Ji-sung | 6–0, 6–3 |
| Win | 27–15 | May 2014 | South Africa F1, Sun City | Futures | Hard | South Africa Fritz Wolmarans | Sweden Jacob Adaktusson Sweden Milos Sekulic | 6–1, 6–4 |
| Win | 28–15 | Jun 2014 | South Africa F3, Sun City | Futures | Hard | South Africa Dean O'Brien | South Africa Nicolaas Scholtz South Africa Tucker Vorster | 7–6(8–6), 6–4 |
| Loss | 28–16 | Jul 2014 | Thailand F9, Bangkok | Futures | Hard | Chinese Taipei Chen Ti | Thailand Pruchya Isaro Thailand Nuttanon Kadchapanan | 4–6, 1–6 |
| Win | 29–16 | Jul 2014 | Hong Kong F2, Hong Kong | Futures | Hard | Japan Arata Onozawa | United States Peter Kobelt United States Devin McCarthy | 6–2, 4–6, [10–4] |
| Loss | 29–17 | Jul 2014 | Hong Kong F3, Hong Kong | Futures | Hard | Japan Arata Onozawa | United States Peter Kobelt United States Devin McCarthy | 7–5, 3–6, [4–10] |
| Win | 30–17 | Aug 2014 | Turkey F27, Ankara | Futures | Clay | Australia Gavin van Peperzeel | Turkey Tuna Altuna Turkey Anıl Yüksel | 6–1, 6–1 |
| Loss | 30–18 | Aug 2014 | Gabon F1, Libreville | Futures | Hard | Zimbabwe Mark Fynn | Republic of Ireland Sam Barry India Jeevan Nedunchezhiyan | 2–6, 2–6 |
| Loss | 30–19 | Aug 2014 | Gabon F2, Libreville | Futures | Hard | Zimbabwe Mark Fynn | Republic of Ireland Sam Barry India Jeevan Nedunchezhiyan | 6–7(5–7), 3–6 |
| Win | 31–19 | Sep 2014 | Turkey F31, Antalya | Futures | Hard | Syria Issam Haitham Taweel | France Bastien Favier France Hugo Grenier | 2–6, 6–1, [10–4] |
| Loss | 31–20 | Oct 2014 | Zimbabwe F2, Harare | Futures | Hard | South Africa Keith-Patrick Crowley | France Grégoire Barrère France Arthur Surreaux | 1–6, 2–6 |
| Loss | 31–21 | Jan 2015 | Turkey F3, Antalya | Futures | Hard | China Li Zhe | Austria Lucas Miedler Austria Maximilian Neuchrist | 4–6, 4–6 |
| Win | 32–21 | Feb 2015 | Turkey F4, Antalya | Futures | Hard | China Li Zhe | Germany Jan Choinski Germany Kevin Krawietz | 6–3, 4–6, [10–2] |
| Win | 33–21 | Feb 2015 | Turkey F6, Antalya | Futures | Hard | South Africa Tucker Vorster | France Gleb Sakharov Austria Tristan-Samuel Weissborn | 6–3, 2–6, [10–7] |
| Loss | 33–22 | Feb 2015 | Turkey F7, Antalya | Futures | Hard | South Africa Tucker Vorster | Ukraine Marat Deviatiarov Austria Tristan-Samuel Weissborn | 6–7(5–7), 2–6 |
| Win | 34–22 | Mar 2015 | Turkey F8, Antalya | Futures | Hard | South Africa Tucker Vorster | Ukraine Marat Deviatiarov Austria Tristan-Samuel Weissborn | 6–7(5–7), 7–6(7–4), [12–10] |
| Win | 35–22 | Mar 2015 | Israel F2, Herzlia | Futures | Hard | United States Matt Seeberger | United States Cameron Silverman United States Raleigh Smith | 2–6, 6–4, [12–10] |
| Loss | 35–23 | Mar 2015 | Bahrain F1, Manama | Futures | Hard | United States Matt Seeberger | Czech Republic Dominik Kellovský Slovenia Tom Kočevar-Dešman | 6–7(4–7), 6–4, [7–10] |
| Loss | 35–24 | May 2015 | Eskişehir, Turkey | Challenger | Hard | Chinese Taipei Chen Ti | Belarus Sergey Betov Russia Mikhail Elgin | 4–6, 7–6(7–2), [7–10] |
| Win | 36–24 | May 2015 | Turkey F21, Antalya | Futures | Hard | Venezuela Ricardo Rodríguez | Turkey Altuğ Çelikbilek Turkey Sefa Suluoğlu | 6–2, 6–2 |
| Loss | 36–25 | Jun 2015 | Gimcheon, Korea, Rep. | Challenger | Hard | South Africa Dean O'Brien | China Li Zhe New Zealand Jose Statham | 4–6, 2–6 |
| Win | 37–25 | Jun 2015 | Uzbekistan F4, Namangan | Futures | Hard | South Africa Dean O'Brien | Uzbekistan Sanjar Fayziev Uzbekistan Jurabek Karimov | 7–5, 6–4 |
| Win | 38–25 | Jul 2015 | Binghamton, USA | Challenger | Hard | South Africa Dean O'Brien | United States Daniel Nguyen United States Dennis Novikov | 6–1, 7–6(7–0) |
| Loss | 38–26 | Aug 2015 | Lexington, USA | Challenger | Hard | South Africa Dean O'Brien | Australia Carsten Ball United Kingdom Brydan Klein | 4–6, 6–7(4–7) |
| Loss | 38–27 | Oct 2015 | Las Vegas, USA | Challenger | Hard | South Africa Dean O'Brien | Australia Carsten Ball Germany Dustin Brown | 6–3, 3–6, [6–10] |
| Loss | 38–28 | May 2016 | Bangkok, Thailand | Challenger | Hard | South Africa Dean O'Brien | Chinese Taipei Chen Ti Chinese Taipei Jason Jung | 4–6, 6–3, [8–10] |
| Win | 39–28 | Oct 2016 | USA F34, Burlingame | Futures | Hard (i) | Philippines Ruben Gonzales | Republic of Ireland Sam Barry United States Peter Kobelt | 6–4, 6–4 |
| Loss | 39–29 | Nov 2016 | Charlottesville, USA | Challenger | Hard (i) | United Kingdom Brydan Klein | United States Brian Baker Australia Sam Groth | 3–6, 3–6 |
| Loss | 39–30 | Jan 2017 | France F2, Bressuire | Futures | Hard (i) | Croatia Ante Pavić | France Corentin Denolly France Hugo Nys | 4–6, 2–6 |
| Loss | 39–31 | Mar 2017 | Zhuhai, China, P.R. | Challenger | Hard | Chinese Taipei Yi Chu-huan | China Gong Maoxin China Zhang Ze | 3–6, 6–7(4–7) |
| Loss | 39–32 | May 2017 | Gimcheon, Korea, Rep. | Challenger | Hard | Chinese Taipei Yi Chu-huan | Switzerland Marco Chiudinelli Russia Teymuraz Gabashvili | 1–6, 3–6 |
| Win | 40–32 | Jun 2017 | Lisbon, Portugal | Challenger | Clay | Indonesia Christopher Rungkat | Portugal Fred Gil Portugal Gonçalo Oliveira | 7–6(9–7), 6–1 |
| Loss | 40–33 | Jul 2017 | Marburg, Germany | Challenger | Clay | Australia Rameez Junaid | Argentina Máximo González Brazil Fabrício Neis | 3–6, 6–7(4–7) |
| Loss | 40–34 | Nov 2017 | Champaign, USA | Challenger | Hard (i) | United Kingdom Joe Salisbury | India Leander Paes India Purav Raja | 3–6, 7–6(7–5), [5–10] |
| Win | 41–34 | Jan 2018 | Germany F2, Nußloch | Futures | Carpet (i) | Germany Kevin Krawietz | Argentina Pedro Cachin Germany Daniel Masur | 6–3, 6–3 |
| Loss | 41–35 | Apr 2018 | Guadalajara, Mexico | Challenger | Hard | United Kingdom Brydan Klein | El Salvador Marcelo Arévalo Mexico Miguel Ángel Reyes-Varela | 6–7(3–7), 5–7 |
| Win | 42–35 | May 2018 | Gimcheon, Korea, Rep. | Challenger | Hard | Australia John-Patrick Smith | Thailand Sanchai Ratiwatana Thailand Sonchat Ratiwatana | 6–2, 6–3 |
| Loss | 42–36 | May 2018 | Busan, Korea, Rep. | Challenger | Hard | Australia John-Patrick Smith | Chinese Taipei Hsieh Cheng-peng Indonesia Christopher Rungkat | 4–6, 3–6 |
| Loss | 42–37 | Feb 2019 | Dallas, USA | Challenger | Hard (i) | Croatia Ante Pavić | United States Marcos Giron United States Dennis Novikov | 4–6, 6–7(3–7) |
| Win | 43–37 | Aug 2019 | M15, Jakarta, Indonesia | World Tennis Tour | Hard | Indonesia Justin Barki | Japan Sho Shimabukuro Japan Hiroyasu Ehara | 7–6(7–3), 6–4 |
| Loss | 43-38 | Oct 2019 | Claremont M25, CA, USA | World Tennis Tour | Hard | Philippines Ruben Gonzales | Germany Milen Ianakiev Germany Hendrik Jebens | 4-6, 6-3, 15-17 |
| Win | 44-38 | Oct 2019 | Las Vegas, USA | Challenger | Hard | Philippines Ruben Gonzales | United States Max Schnur United States Nathan Pasha | 2-6, 6-3, 10-8 |
| Win | 45-38 | Feb 2021 | Potchefstroom, South Africa | Challenger | Hard | South Africa Raven Klaasen | Belgium Julien Cagnina Czech Republic Zdeněk Kolář | 6-4, 6-4 |
| Win | 46-38 | Jan 2022 | Weston, M25, FL, USA | World Tennis Tour | Hard | United States Dennis Novikov | Burundi Guy Orly Iradukunda Ghana Abraham Asaba | 7-5, 3-6, 10-3 |
| Loss | 46-39 | Mar 2022 | Bakersfield, M25, CA, USA | World Tennis Tour | Hard | Israel Daniel Cukierman | South Korea Jisung Nam South Korea Minkyu Song | 2-6, 0-6 |
| Win | 46-39 | Apr 2022 | Sunrise, M15, FL, USA | World Tennis Tour | Hard | Moldova Alexander Cozbinov | Netherlands Alec Deckers Luxembourg Alex Knaff | 6-4, 6-4 |