Giants first baseman Brandon Belt has agreed to a $3.6 million, one-year contract that avoided salary arbitration.