The Diamondbacks have agreed to a $40M, four-year deal with Martin Prado just a week after acquiring the former All-Star infielder in a trade that sent Justin Upton to the Braves, according to an ESPN.com report on Thursday.