According to Rosenthal, the sides have agreed to a three-year, $24.5 million contract.
Castro had been one of the hottest names on the catching market to open up the offseason and had reportedly received multiple three-year deal. The Astros, Braves, and Orioles had been mentioned as other possible suitors before his signing.
As for Minnesota, the deal gives them flexibility behind the plate. Castro, a left-handed hitter, could serve in a platoon to John Ryan Murphy. Both catchers, in particular, are good defenders.
Not known as an offensive force, the ability of Castro to secure a long-term deal demonstrates the increased importance of defensive prowess in a player's game, something that has been specifically exploited at catcher with pitch framing.
MLBTradeRumors.com projected a two-year, $15 million deal for Castro, and in this deal, his actual earnings surpass the projection both in terms of annual average value (AAV) and total guarantee.
According to Baseball Prospectus, Castro saved 17 runs due to his pitching framing abilities alone in 2016, making him the 3rd best catcher in the Majors in framing (as per this metric).
Offensively, though, Castro leaves a lot to be desired. In 2016, he hit .210/.307/.377 with 11 home runs and 32 RBI over 376 plate appearances. According to FanGraphs, he was worth 1.1 Wins Above Replacement.