Vaulks was born in Wirral, Merseyside and grew up supporting Newcastle United. He began his career with local League One club Tranmere Rovers. He was called up for one senior match, a 2–1 extra-time win at Chesterfield in the League Cup first round on 13 August 2012, in which he was an unused substitute. Later that month, he was loaned for a month to Workington of the Conference North. He made his senior debut on 22 August in a 1–0 loss at Chester, as a 65th-minute substitute for Mark Boyd. He made 20 total appearances for the Cumbrian club, scoring the equaliser in a 2–1 win over Droylsden at Borough Park.
Falkirk
Vaulks was released from his six-month professional contract at Tranmere in November 2012, and signed with Workington; in February 2013, due to a clause in his contract that allowed him to leave for a professional club, he signed for Scottish Football League First Division side Falkirk. He made his debut on 9 March in a 2–0 loss at Greenock Morton, and ended the season with six appearances. On 9 November 2013, Vaulks scored his first goal for the Bairns, to open a 4–1 win over Livingston at Falkirk Stadium. In January 2014, Vaulks was called to a trial by English Championship club Blackburn Rovers. He played 42 games over the season, including all four of the play-off games as the club lost 2–1 to Hamilton Academical in the final. He was named in the PFA Scotland Team of the Year for the Scottish Championship in 2013–14. On 10 May 2014, he extended his contract with Falkirk until the end of May 2017. Vaulks played the full 90 minutes of the 2015 Scottish Cup Final at Hampden Park on 30 May 2015, a 2–1 loss to Inverness Caledonian Thistle. A year later, he played again the play-offs as Falkirk were beaten to a place in the Scottish Premiership by Kilmarnock.
On 22 July 2016 Vaulks signed for Rotherham United on a three-year deal for an undisclosed fee. He scored on his Rotherham debut in a 2–2 draw with Wolverhampton Wanderers on 6 August. He played 42 times in all competitions during the 2016–17 season as The Millers were relegated to League One. Vaulks' goal against Blackpoolon the last day of the regular season was his 7th goal in 49 games in all competitions as Rotherham finished the 2017–18 season in fourth place hence qualifying for play-offs. After drawing 2–2 away at Scunthorpe United in the first leg, he scored Rotherham's second in the return fixture as they progressed to the final 4–2 on aggregate. In the final he played the full 120 minutes as The Millers beat Shrewsbury Town to win the 2018 EFL League One play-off Final and promotion back to the Championship. At the end of the season Vaulks was given the Rotherham United's Player of the Year award. On 6 March 2019, Vaulks signed a one-year contract extension. Three days later as captain, he was sent off in the 28th minute of a 2–0 loss at South Yorkshire rivals Sheffield United, for a foul on George Baldock.
Cardiff City
On 27 June 2019, Vaulks signed for Cardiff City for an undisclosed fee on a three-year deal, in a record sale for Rotherham. He made his debut on 10 August in a 2–1 victory over Luton Town as a second-half substitute in place of Gavin Whyte.