|Second one-day international, Wanderers, Johannesburg:|
|South Africa 439-2 (50 overs) beat West Indies 291-7 (50 overs) by 148 runs|
South Africa batsman AB de Villiers hit a century off 31 balls to record the fastest ever one-day international ton.
De Villiers, 30, set the new landmark during an innings of 149 against the West Indies in Johannesburg.
He smashed eight fours and 10 sixes in beating the previous ODI record of 36 balls by New Zealand all-rounder Corey Anderson against West Indies last year.
"I was on 92 when I realised it was going to be close. I wasn't going to take singles in the nineties," he said.
"I got really fired up in the changing room and sort of played my knock before I even came out to bat.
"Aggression was the main thing for me today - I just wanted to go right from the start."
Chris Gayle's 100 from 30 balls in the Indian Premier League in April 2013 is the fastest century in cricket history.
South Africa scored 439-2 as they registered their highest ever ODI score, beating the 438-9 in a win against Australia in March 2006.
The total was just four short of the all-time ODI record score of 443-9 set by Sri Lanka against Netherlands in July 2006.
|Fastest ODI centuries|
|1. AB de Villiers (South Africa) - 31 balls against West Indies in Johannesburg on 18 January, 2015.|
|2. Corey Anderson (New Zealand) - 36 balls against West Indies in Queenstown on 1 January, 2014.|
|3. Shahid Afridi (Pakistan) - 37 balls against Sri Lanka in Nairobi on 4 October, 1996.|
|4. Mark Boucher (South Africa) - 44 balls against Zimbabwe in Potchefstroom on 20 September, 2006.|
|5. Brian Lara (West Indies) - 45 balls against Bangladesh in Dhaka on 9 October, 1999.|
Openers Hashim Amla and Rilee Rossouw also both hit centuries but ODI captain De Villiers stole the show with his spectacular innings.
De Villiers raced to 50 off 16 deliveries to surpass Sanath Jayasuriya's 19-year record for the fastest ODI fifty.
He ended up with 149 off 44 balls, hitting nine fours and 16 sixes, the latter equalling the record for the most number of maximums in an ODI innings.
In the second of a five-match ODI series against Windies, De Villiers was eventually out when caught at deep extra cover with two balls left off the bowling of Andre Russell.
"He said he was going to have a look for one over," said Test captain Amla. "He is an amazing player."
|AB de Villiers in focus|
|Full name: Abraham Benjamin de Villiers|
|Test matches: 98 Runs: 7606 Average: 52.09|
|ODIs: 176 Runs: 7291 Average: 51.70|
|T20s: 57 Runs: 1007 Average: 22.37|
|*Statistics prior to De Villiers scoring 149 on 18/01/2015|
Reaction to AB de Villiers' century
Former England captain Michael Vaughan: "Have to say AB de Villiers is the definition of a cricketing genius. Absolutely incredible.
"When I watch him bat it reminds me that I really wasn't that good in comparison.
"And you still get some ex-players saying the game was better in the 1970s and 1980s."
Ex-England fast bowler Bob Willis: "AB de Villiers' record ODI hundred off 31 balls could make him the best batsman of all time.
"I've been saying for the last 30 years that Viv Richards has to be the best batsman of all time - even better than Sir Don Bradman in my book - but I'm going to have to reassess because this guy is something extraordinary."
Former South Africa batsman Herschelle Gibbs: "AB showing why he's simply the best."
Ex-India batsman Aakash Chopra: "I demand a DNA test of AB DeVilliers - this game is only for humans."