A long-awaited truce has at last taken hold in east Ukraine, with the army reporting no combat fatalities for the first time in weeks, but the news did nothing to halt a currency collapse that forced the central bank to ban most trading.

The Ukrainian military said the past 24 hours were its first day without combat fatalities for several weeks, since long before the truce was meant to take effect on February 15. Only one soldier had been wounded.

In rebel-held eastern Ukraine, rebels withdrew heavy guns from the front. Kiev said it was too early to do likewise, but its acknowledgement that most of the front was quiet suggests it too could implement a truce that had appeared stillborn when the rebels launched a major offensive last week.

The cautious good news from the front has come amid dire economic consequences for a country teetering on bankruptcy.

With the hryvnia currency in free fall as investors flee, the central bank called a halt by banning banks from buying foreign currency on behalf of clients for the rest of this week.

Prime Minister Arseny Yatseniuk said the ban was bad for the economy. He had learned about it on the Internet and would demand an explanation from central bank chief Valeria Gontareva.

The central bank said the move was necessary to stabilise the currency amid "unfounded" demand for foreign exchange.

The decision left the true value of the currency in limbo. Although banks could still trade with each other, by noon there were no registered trades at any rate. Tiny trades were recorded in the afternoon at strong rates, but at volumes in the hundreds of thousands of dollars that gave little signal of the true price in a market normally worth hundreds of millions a day.

Exchange kiosks in Kiev were selling limited amounts of dollars for 39 hryvnias, around 20 per cent worse than rates advertised in the windows of commercial banks where dollars were not available.

News that no Ukrainian troops had died at the front was by far the most unambiguous signal yet that the Europe-brokered truce is now holding.

The rebels had initially spurned the ceasefire, insisting it did not apply to their main target, the town of Debaltseve, which they stormed last week in one of their biggest victories of the war.

Kiev has since accused the separatists of reinforcing for a possible further assault deeper into territory the Kremlin calls "New Russia". But for now, the fighters appear determined to be seen to implement the agreement.

A column of 24 self-propelled howitzers headed away from the front through the city of Makiyvka adjacent to the main rebel stronghold Donetsk. Another five were spotted driving away from the front near Yenakiyve further north.

The rebels have promised the Organisation for Security and Cooperation in Europe will soon be able to verify they have removed all heavy guns.

The OSCE says it cannot yet verify the withdrawal because the sides have not provided data on how many guns were in place before the truce. The European security body reported some shelling and shooting at various locations, including near Shyrokyne, a coastal town where Kiev has also reported fighting.

The Kiev military nevertheless said the number of ceasefire violations had "significantly decreased" for a second straight night.

Military spokesman Andriy Lysenko said: "For now there is still no order on the withdrawal of weapons, as the fighters have not yet fulfilled the first point of the Minsk agreement, to cease fire."

Kiev says it fears the rebels, backed by Russian troops, may be planning a further advance to capture Mariupol, a port of 500,000 people.

But the rebels, having achieved their main objective last week in capturing Debaltseve, may now be ready to stop.

Many Western countries believe Russian President Vladimir Putin's aim is to establish a "frozen conflict" with a breakaway territory outside Kiev's control.

Moscow denies aiding its sympathisers in east Ukraine.

With the battlefield quieter, the dispute between Russia and Ukraine has reopened on another front: natural gas. Moscow says it could cut Ukraine off within days over a payment dispute. Kiev says Russia failed to deliver gas already paid for.