Robinson Cano and the Seattle Mariners have agreed on a 10-year, $240 million contract, a source told on Friday.

Cano receives a full no-trade clause, a source told ESPN's Jim Bowden.

The player and his agents met Thursday night in Seattle with the Mariners' top executives, and the source said the team made them an offer they couldn't refuse.

The source said Cano, 31, will return to Seattle on Sunday and will undergo a physical Monday to complete what would be the third-largest contract in baseball history, tied with the one Albert Pujols signed with Los Angeles Angels  three years ago.

Alex Rodriquez has had baseball's top two contracts. In the winter of 2007, he signed a 10-year, $275 million extension with the New York Yankees. That deal replaced the 10-year, $252 million pact he signed with the Texas Rangers in December 2000, when Rodriguez left Seattle after spending his first seven major league seasons with the Mariners.