Originally from Celbridge, County Kildare, in Ireland,[2] Masterson played for Lucan United before joining Liverpool on his 16th birthday for a reported fee of €1m after being spotted playing for a Dublin & District Schoolboys League select team in 2012.[3][4]
He made his U18s debut in 2014–15. Masterson went on to captain the under-18s and was an unused sub for Liverpool in their FA Cup tie at Exeter City in January 2016.[5] He moved to the U23s squad ahead of the 2017–18 season.[6]
He was named on the bench for Liverpool's UEFA Champions League 3–0 quarter final victory against Manchester City on 4 April 2018.[7][8] He was named in Liverpool's Premier League squad for the match against Everton on 7 April 2018 and was included on the substitutes' bench.[9]
Masterson was released by Liverpool at the end of the 2018–19 season.[10]
Queens Park Rangers
On 3 July 2019, Masterson signed a two-year deal with Queens Park Rangers.[11][12] On 5 January 2020, he made his debut for the club in an FA Cup third round 5–1 defeat of Swansea City.[13] On 18 July 2020, Masterson scored his first senior goal when he opened the scoring in an eventual 4–3 victory over Millwall.[14]
On 19 January 2021, Masterson joined League One side Swindon Town on loan until the end of the 2020-21 season[15] On 21 August 2021, Masterson joined another League One side, Cambridge United, on loan until January 2022.[16] Masterson was named in the starting line-up on the same day as the U's faced Burton Albion. On 4 January 2022, Masterson returned to QPR.[17] On 28 January 2022, Masterson joined a third League One club, Gillingham, on loan until 30 April 2022.[18] He again joined Gillingham on loan in January 2023.[19]
Gillingham
After Queens Park Rangers opted not to renew his contract at the end of the 2022–23 season, Masterson signed a permanent contract with Gillingham to take effect on 1 July.[20] He was named as the Kent side's Player of the Year for the 2023–24 season.[21]
Masterson graduated to the Under-19 side on 10 October 2015 as an unused substitute in a 1–1 friendly draw against Ukraine, before making his debut in a 1–2 loss against the same side two days later.[4]