Cano, 31, had played his entire nine-season major league career with the New York Yankees but is moving to Seattle with the third richest contract in baseball history.
ESPN cited sources in reporting the agreement, which had not yet been confirmed by the Mariners.
On Monday in Seattle, Cano is to undergo a physical examination, after which the move may be formally announced, the report said.
Cano is a four-time all-star selection. He has hit .309 with 204 home runs and 822 runs-batted-in in his career. His first season with the Yankees was 2005 and he finished second in the American League Rookie of the Year voting. He's been in the Top 10 in the AL Most Valuable Player voting each of the last four seasons.
Cano hit .314 with 27 home runs and 107 RBI last season in New York.
He hasn't played in fewer than 159 games in a season since 2006.
Ray Liotta sues skin care company over use of likeness
NBC reportedly holds celebs hostage to Jimmy Fallon's show