Hanigan will get a $300,000 signing bonus with a $450,000 salary for this year. He'll then make a base salary of $1.2 million in 2012 with the possibility of another $400,000 in base escalators.
Hanigan's base salary for 2013 will be $2.05 million, plus another $400,000 in possible escalators.
"This gives him some security," Reds manager Dusty Baker said on Monday.
"He's worked hard on learning how to drive in runs. He's always
ready and always helpful."
The way the deal is structured, the more playing time he gets, the more he'll be paid like a starter.
The negotiations between the Reds and agent Tom O'Connell had been ongoing over the last six months.
Buster Olney is a senior MLB writer for ESPN The Magazine. Information from The Associated Press was used in this report.