Odorizzi, who turns 31 this month, gets a $6 million signing bonus payable in equal installments each July 15 from 2021-23, a $6 million salary this season and a $5 million salary in 2022.
The deal includes a $6.5 million player option for 2023 with a $3.25 million buyout, and the 2023 option price would escalate by $2 million each and the buyout by $1 million apiece for 20, 25 and 30 points. He would get one point for each start as a pitcher or pitching appearance of 12 or more outs during 2021 and 2022.
He can earn $6.75 million in performance bonuses for innings in 2022: $500,000 for 100, $1 million each for 110, 120, 130, 140 and 150 and $1.25 million for 160.
If he exercises the option for 2023, he could earn $3 million in performance bonuses for innings that year: $500,000 each for 120 and 130, and $1 million apiece for 140 and 150.
Odorizzi was selected to his first All-Star team in 2019 when he made 30 starts and went a career-best 15-7 with a 3.51 ERA. He had 178 strikeouts and allowed 139 hits that season for the Twins.
Odorizzi spent the last three seasons with Minnesota and has also pitched for Tampa Bay and Kansas City during his nine-year major league career. He is 62-56 with a 3.92 ERA in 195 appearances (192 starts).
He’s won at least 10 games four times and has four seasons with at least 30 starts.
To clear a roster spot for Odorizzi, the Astros placed reliever Pedro Báez on the injured list.