Los Angeles - Daniel Craig is the highest-paid James Bond star ever.
The 44-year-old actor - who reprised his role as the iconic British spy for the third time in Skyfall - will earn £31m to portray the suave secret agent in two more movies, dwarfing the pay cheques received by his predecessors.
Sir Sean Connery was the first actor to play Bond in 1962, earning £10 000 to star in Dr. No. His salary steadily rose, with the average pay for his work on six films in the franchise averaging at £218 000 - around £3m in today's prices.
George Lazenby earned £340 000 - the equivalent of £460 000 today - for his one outing as 007 in On Her Majesty's Secret Service, while Sir Roger Moore brought home an average of £1.4m, or £6.3m today, from his seven films.
Timothy Dalton also averaged £1.4m for his two films, while Pierce Brosnan's average amounted to £6.1m, or £8.7m in today's prices.
Daniel's new deal brings his pay average to £9.6m per film.
The huge contract surpasses the £10.7m he earned for Skyfall, which at the time overtook the £10.3m Pierce Brosnan took home for starring in 2002 Bond movie Die Another Day.
Daniel - who is married to Rachel Weisz - has seen his salary in the role take a huge jump, having earned £1.9m for his 2006 debut Casino Royale and £4.4m for 2008's Quantum of Solace.