Hamilton's former team, the Texas Rangers, had been in negotiations to retain the 2010 MVP. Hamilton's camp had also reportedly met with the Mariners at the winter meetings.
The Red Sox had been on the periphery of the Hamilton sweepstakes, able to offer him big money but not willing to give him more than a three-year deal. GM Ben Cherington and manager John Farrell had met with Hamilton at the winter meetings last week.
Hamilton, 31, has batted .304 in his big league career, all but 90 games of it in Texas. He has provided big power in the middle of the Rangers' lineup, helping the team to World Series appearances in 2010 and '11.
Hamilton hit .285 with 43 homers and 128 RBIs in an inconsistent 2012 season that didn't finish well; a vision problem caused him to miss five games, he struggled offensively and he had an error in the AL West-deciding loss to Oakland.