Travis Shaw and the Toronto Blue Jays have agreed to a one-year, $4 million contract, a source confirmed to ESPN.

The source said the deal includes $675,000 in performance bonuses.