The Cincinnati Reds and Mike Moustakas have agreed to terms on a four-year, $64 million contract, according to league sources.

The 31-year-old has been a free agent in each of the last three offseasons.

The Reds intend to play Moustakas at second base.