He'll earn $1.75 million, plus $250,000 in incentives if he makes the big-league team, reports MLB Network's Jon Heyman.
Solarte spent 2018 with the Toronto Blue Jays, hitting .226/.277/.378 with 17 home runs and 54 RBIs in 122 games.
The 31-year-old started hot in 2018, recording an .848 OPS with seven home runs and 15 RBIs in March and April. But he quickly faded after that early success.
The veteran appeared at four different defensive positions for Toronto last season and should provide the Giants with infield depth behind Brandon Crawford, Evan Longoria, Joe Panik, and Brandon Belt.
Over his five-year career, Solarte owns a .259/.317/.410 slash line with 74 home runs and 300 RBIs in 642 games.
The Giants will be his fourth big-league team after stints with the Blue Jays, New York Yankees, and San Diego Padres.