Nazem Kadri has agreed to a contract with the Calgary Flames, sources tell ESPN, as the free agent center ends weeks of speculation about his next NHL destination.

The contract is for seven years and carries a $7 million cap hit, according to a league source.

To make salary-cap space for Kadri, the Flames also are working on a trade to send center Sean Monahan to the Montreal Canadiens, according to multiple reports.