The Pirates and right-hander Vince Velasquez have agreed to a one-year, $3.15 million contract, sources told ESPN.