Free-agent shortstop Jhonny Peralta and the Cardinals have agreed on a four-year deal worth around $52M, a source told ESPN.com's Jim Bowden on Sunday.

Peralta is a two-time All-Star and .268 career hitter with 156 home runs in 11 seasons with the Indians and Tigers.