The Rockies and utilityman Willi Castro have reached an agreement on a two-year, $12.8 million contract, sources told ESPN on Thursday.