According to Sportsnet's Elliotte Friedman and Chris Johnston, the deal is for four years and has an average annual value of $4.5 million.
Tanev, 30, had two goals and 18 assists along with a plus-4 rating in 69 games with the Vancouver Canucks this past season. He went on to register a goal and six assists in 17 appearances during the 2019-20 Stanley Cup Playoffs, helping the Canucks reach Game 7 of the Western Conference semifinals against the Vegas Golden Knights.
Tanev, who has spent his entire NHL career with the Canucks, departs with more than 500 regular-season games played for the Canucks, ranking him 10th all-time among defencemen in franchise history.
The Flames now have approximately $6.4 million in projected cap space remaining after signing Tanev and his Canucks teammate in goaltender Markstrom, who signed a six-year, $36-million contract earlier on Friday.