After making $505,700 this season under a one-year contract, Altuve will receive a $750,000 signing bonus, payable within 60 days, and salaries of $1.25 million next year, $2.5 million in 2015, $3.5 million in 2016 and $4.5 million in 2017. The Astros have options at $6 million in 2018 and $6.5 million in 2019.
The 23-year-old Altuve, an All-Star last year, is hitting .280 with 15 doubles, three homers, 28 RBIs and 21 steals this season.
He would have been eligible for salary arbitration after the 2014 season. If the options aren't exercised, he is on track to become a free agent after the 2017 season.