The Royals announced the two-year deal on Wednesday.
On Monday, Heyman reported Moss has a third-year option and will be paid $3.75 million in 2017, $7.25 million in 2018 and holds a $1 million buyout on the 2019 option.
The 33-year-old has hit 123 home runs over the past five seasons while spending time with the St. Louis Cardinals, Cleveland Indians and Oakland Athletics, and he made his All-Star Game debut in 2014. He has also spent time with the Philadelphia Phillies, Pittsburgh Pirates and Boston Red Sox over the course of his 10-year career.
Moss has been traded twice over the last two years, but perhaps he'll find a long-term home in Kansas City.
The question will be whether the streaky hitter performs closer to how he did in the first half of 2016, when he averaged .256 with 17 home runs, or the second half when he batted just .191 with 11 homers. Moss hit only .084 during the month of September, and the Cardinals fell short of the playoffs.
His former manager, Mike Matheny, was well aware of Moss' ability to turn things around quickly.
"Brandon is always a click away," Matheny said in September, per Ben Frederickson of the St. Louis Post-Dispatch. "Whatever makes it go, can make it go in a hurry. And it can stick around for a while."
The Royals can only hope he'll have more hot streaks than slumps over the course of the 2017 season.
Additionally, Moss provides value with his defensive versatility, as he is capable of playing first base and each corner outfield spot. That will allow the Royals to move him around and get the most out of their lineup, although he will also spend a lot of time at designated hitter.
Jessica Kleinschmidt of FanGraphs believes Kansas City is a good fit for Moss:
Jessica Kleinschmidt @KleinschmidtJD
I love Brandon Moss to the Royals. Going to smash at Kauffman.2017-1-29 18:15:48
If he avoids any prolonged slumps, Moss should pay dividends for the Royals.