Sources told ESPN that Clay's deal is worth up to $3.25 million and includes a $350,000 signing bonus. The veteran tight end was entering the final season of a five-year, $38 million contract he signed in 2015.
The Bills released Clay last week. He had 21 catches for 184 yards in 13 games last season.
The 30-year-old Clay is going into his ninth NFL season. The Miami Dolphins drafted him in the sixth round of the 2011 NFL Draft.
Clay spent four years with the Dolphins, then signed with the Bills in free agency on March 19, 2015. He played four seasons in Buffalo. In eight seasons with the Dolphins and Bills, he has recorded 339 catches for 3,631 yards and 23 touchdowns.
Clay becomes the Cardinals' third veteran free-agent acquisition this month. The franchise also signed former Falcons cornerback Robert Alford and defensive end Brooks Reed.