Russian President Vladimir Putin announced a surprise one-day ceasefire in Ukraine for Easter on Saturday, but Kyiv said attacks continued, Putin couldn't be trusted and Moscow should instead accept a 30-day truce Kyiv had agreed to last month.
Putin's unilateral move followed Washington's announcement that it could abandon peace talks within days unless Moscow and Kyiv showed they were serious about negotiating.
Putin ordered fighting to stop as of 6pm Moscow time (1500 GMT) on Saturday until midnight on Sunday night.
"Based on humanitarian considerations ... the Russian side announces an Easter truce. I order a stop to all military activities for this period," Putin told Valery Gerasimov, Chief of Russia's General Staff, at a televised meeting.
"We assume that Ukraine will follow our example. At the same time, our troops should be prepared to repel possible violations of the truce and provocations by the enemy, any aggressive actions."
Shortly after the announcement, around an hour before it was due to take effect, air raid sirens rang out in Kyiv.
Ukraine's President Volodymyr Zelenskiy dismissed the proposal as "yet another attempt by Putin to play with human lives". As of 45 minutes before the truce was meant to start, Ukrainian planes were repelling Russian air strikes, Zelenskiy said in a post on X.
"Shahed drones in our skies reveal Putin's true attitude toward Easter and toward human life," he said, referring to Iranian-made attack drones used widely by Russia in the war to attack Ukrainian cities far from the front.
Andriy Kovalenko, head of Ukraine's Centre for Countering Disinformation, said Russian forces continued to fire on Ukrainian positions after the truce order was meant to take effect.
The governor of Kherson province in southern Ukraine said Russian airstrikes began shortly before the truce was due to start and continued after. He posted a picture of a damaged building.
"Unfortunately, we are not seeing any sort of calm here. The shelling continues and our civilians are under fire," he wrote on Telegram.
Reuters could not independently verify the situation at the front, but Ukrainian bloggers who cover the war said firing continued along the entire line of contact.
Ukraine's Foreign Minister Andrii Sybiha noted that Ukraine had agreed to a proposal last month made by Trump for a 30-day ceasefire, which Moscow had rejected.
"Putin has now made statements about his alleged readiness for a ceasefire. 30 hours instead of 30 days. Russia can agree at any time to the proposal for a full and unconditional 30-day ceasefire, which has been on the table since March," Sybiha wrote on Telegram.
The Russian Defence Ministry said its troops had been instructed about the ceasefire and would adhere to it, provided it was "mutually respected" by Ukraine.
US President Donald Trump and Secretary of State Marco Rubio had said on Friday the United States would walk away from efforts to broker a Russia-Ukraine peace deal unless there were clear signs of progress soon.
Kirill Dmitriev, an envoy for Putin who travelled to Washington this month, posted news of the ceasefire on X, adding: "One step closer to peace" and an emoji of a dove.
Trump has vowed to bring a swift end to the war, while shifting US policy from firmly supporting Kyiv towards accepting Moscow's account of the conflict.
Last month, after Ukraine accepted Trump's proposal for a 30-day truce but Moscow rejected it, the sides agreed only to limited pauses of attacks on energy targets and at sea, which both accuse the other of breaking.
Putin's announcement of an Easter truce comes a week after a Russian missile attack killed 35 people and wounded nearly 120 in the Ukrainian city of Sumy, including Christians heading to celebrate Palm Sunday.
That attack, the deadliest against civilians of the year so far, spurred Kyiv and its European allies to press Washington to take a tougher line towards Moscow.
Putin has proclaimed unilateral pauses in fighting in the past with little impact on the battlefield, including a 36-hour proposed truce for Orthodox Christmas in January 2023 which Kyiv rejected.
Separately, Russia and Ukraine both confirmed a swap of prisoners of war on Saturday, mediated by the UAE. Each released 246 prisoners, while a further 31 wounded Ukrainians were transferred in exchange for 15 injured Russian soldiers, the Russian defence ministry said.