È un centrocampista difensivo[2] ambidestro e molto abile nel recupero palla, con buone qualità fisiche,[3] tecniche[2] e atletiche.[2] La sua aggressività lo rende un buon marcatore,[4] oltre che bravo nei contrasti e nel pressing.[4] Pur essendo un mediano, partecipa spesso alle manovre offensive (anche inserendosi nelle linee difensive),[4] nelle quali fa valere le sue doti balistiche e la sua visione periferica. In alcune occasioni è stato utilizzato anche come difensore centrale.[2]
Carriera
Club
Grêmio
Ha esordito nella massima serie brasiliana col Grêmio nel 2014; nel 2016 ha esordito in Copa Libertadores, competizione nella quale ha realizzato un gol in 4 presenze.
Amburgo
Nel mercato di gennaio 2017 passa all'Amburgo per una cifra intorno ai 10 milioni di euro.[5] L'11 febbraio 2017 realizza la prima rete con la nuova squadra nel successo per 0-3 contro il Lipsia.[6] Dopo i primi 6 mesi in cui gioca solo 9 volte,[3] l'anno successivo trova più spazio.[3] Tuttavia a fine stagione il club biancoblù retrocede.
Hannover
Nel giugno 2018, Walace si è unito ai rivali del campionato del Hannover 96.[7] con un contratto quadriennale fino al 2022. Il trasferimento pagato all'Amburgo è stato stimato in 6 milioni di euro, di cui il 10% destinato all'ex club Grêmio. Tuttavia anche al Hannover Walace retrocede.
Udinese
L'8 agosto 2019 viene acquistato dall'Udinese.[3] Il 14 settembre seguente debutta con i bianconeri nella sconfitta per 1-0 contro l'Inter, in cui ha giocato da titolare prima di venire sostituito da Rolando Mandragora dopo 81 minuti.[8] Trova la sua prima marcatura il 27 aprile 2022, durante l'incontro di campionato con la Fiorentina, poi vinto 4-0.[9] Nel corso della stagione 2023-2024, indossa in più occasioni la fascia da capitano, in assenza di Roberto Pereyra.[10]
Complessivamente, Walace ha collezionato 165 presenze e tre gol con il club friulano.[11]
Cruzeiro
Il 2 luglio 2024, Walace viene ceduto a titolo definitivo al Cruzeiro, nella massima serie brasiliana,[12][13] per circa 6 milioni di euro (più due di bonus), firmando un contratto valido fino alla fine del 2026.[13]
Nazionale
Nel 2015 è stato convocato dal Brasile per disputare il Campionato sudamericano Under-20. Ha giocato 5 partite in Under-20 (nel campionato sudamericano di categoria del 2015) e 3 partite in Under-23.
Viene convocato per la Copa América Centenario (2016) negli Stati Uniti[14] per sostituire l'infortunato Luiz Gustavo; debutta con i verdeoro nel corso della competizione nel 7-1 contro Haiti.[15] Nella stessa estate viene convocato anche per le Olimpiadi 2016 in Brasile in sostituzione di Fred[16] il cui club di appartenenza, lo Shakhtar Donetsk, ha rifiutato di liberarlo per il torneo. È sceso in campo quattro volte durante il torneo, con la sua squadra che è risultata vincitrice.