Jarrod Saltalamacchia has agreed to terms with the Miami Marlins on a three-year deal worth $21 million, according to a major league source. The former Red Sox catcher selected the Marlins over the Minnesota Twins.

Saltalamacchia resides in Wellington, Fla., about 70 miles from Marlins Park.