Botha had captained South Africa in 10 ODIs and took the team to the No 1 ranking in the ICC ODI Rankings after they defeated Australia 4-1 away in 2009. The 34-year-old also captained the national side in 11 T20s.
Having played his ODI for South Africa in 2011, Botha has been the captain of state side South Australia since 2012.
In early 2012, he had requested the South African cricket board- Cricket South Africa (CSA)-to release him from his contract after conceding T20 captaincy to AB de Villiers.
The Big Bash League (BBL) franchise Sydney Sixers on Wednesday confirmed that Botha, who has received his citizenship, would now be classified as a local player.
"It's been a bit of a process but very happy to finally get it over the line," Botha was quoted as saying by Sport24.
"I think when we came over four years ago this wasn't our main intention or main plan, but as time has gone on everyone has just settled really well and I suppose this was just the next step for us as a family and for our future," he added.
The 34-year-old all-rounder, who made his Test debut at the SCG in 2006, has played 78 ODIs and 40 T20 Internationals.
Du Plessis denies cheating, says made 'scapegoat' by ICC
BCCI furious as ICC penalises women's team for not playing Pakistan
Ponting interested in chairman of selectors role
Parthiv to replace injured Saha for Mohali Test
Claims of Kohli participating in ball tampering nullified