The Tigers and free-agent outfielder Justin Upton have agreed to a six-year deal worth $132.75 million, a source told ESPN's Jerry Crasnick. 

The contract includes an opt-out after the second year, which would allow Upton to go back on the market as a free agent at age 30, a source confirmed to Crasnick.