One national guard member has been killed and more than 100 injured in violent protests outside Ukraine's parliament, the interior ministry said.
Clashes between nationalists and riot police erupted after MPs gave initial backing to reforms for more autonomy in the rebel-held east.
Some in the crowd lobbed what police said were live grenades at officers protecting parliament.
The reforms are part of a peace plan to end fighting in eastern Ukraine.
The Ukrainian President, Petro Poroshenko, said the violence was "a stab in the back".
Protesters led by the populist Radical Party and the ultra-nationalist Svoboda (Freedom) party - who oppose any concession to the Russian-backed separatists - gathered outside parliament early on Monday.
After a rowdy debate, 265 MPs out of 450 backed the first reading of the decentralisation bill, granting more powers to areas of Donetsk and Luhansk.
Initially, there were only minor clashes but a BBC correspondent then heard small explosions followed by a much larger one - apparently from a grenade.
The Ukrainian Interior Minister, Arsen Avakov, said some 30 people have been detained, including a Svoboda member who confessed to throwing a grenade.
Of the 122 people hospitalised, more than 11 were in a critical condition, the minister added.
He bitterly criticised Svoboda leader Oleh Tyahnybok, writing on Facebook that several explosive devices had been thrown by people wearing Svoboda T-shirts.
A policeman's leg was torn off below the knee in the blast, Interfax Ukraine reported, while journalists at the scene were also reported injured.
Almost 7,000 people have died since the conflict in eastern Ukraine broke out in March 2014, after Russia's annexation of the Ukrainian peninsula of Crimea.
Pushing through greater autonomy for the rebel-held areas is a key part of the Minsk peace deal, originally signed in February.
During the summer, fighting between Ukrainian army forces and the rebels has escalated. But the two sides agreed last week to halt the violence on 1 September, the day children in the region return to school.
Although the number of ceasefire violations appears to have fallen in recent days, OSCE monitors have warned that neither side was respecting the truce.
Under the draft constitutional changes going through parliament, there will be a special law covering local government in rebel-held areas.
However, parliament speaker Volodymyr Hroysman was adamant that would not mean special status for Donetsk and Luhansk, which rebel leaders have declared republics.
In a national address late on Monday, President Poroshenko said if the proposals had been voted down, Ukraine would have been left "one-to-one against the aggressor".
The reforms must still pass a second reading, which correspondents say will be a tall order for the Ukrainian leader.