Reliever J.J. Putz has agreed to a $13.5 million, two-year contract with the Arizona Diamondbacks, a deal that adds a $7 million salary for 2014.
Arizona exercised Putz's $6.5 million option on Oct. 20 and he would have been eligible for free agency after the 2013 season.
The 35-year-old right-hander had 32 saves in 37 chances and a 2.82 ERA last year, converting 19 straight save chances from late May through August. He had a 0.84 ERA from June 23 through the end of the season.
Putz has a 33-31 record with 183 saves in 514 big league games for Seattle (2003-08), the New York Mets (2009), the Chicago White Sox (2010) and Arizona (2011-12).