Merrin, 30, spent this year with the Leeds Rhinos in the Super League, but is back with the club he started his career at in 2009.
The former Australia and New South Wales representative played 133 NRL games for the Dragons, including the 2010 Grand Final win, before joining the Penrith Panthers in 2016.
Merrin replaces Luciano Leilua, who was released from the final year of his contract, in the Dragons squad.