Free agent infielder Omar Infante has agreed to a four-year deal worth about $30M with the Royals, sources told ESPN's Buster Olney.

Infante hit .318 with 10 home runs, 51 RBIs and a .795 OPS for the Tigers last season.