A day after the agreement on the export of Ukrainian grain across the Black Sea, Russia fired rockets at the key port of the city of Odessa, according to sources in Kyiv.

Ukrainian President Volodymyr Zelenskyy then accused Russia of breaching the treaty.

"Whatever Russia promises, it always finds a way not to fulfill it," he said on Saturday.

In response, the head of the Ukrainian presidential office, Andriy Yermak, called for "effective sanctions against Russia and more weapons for Ukraine".

According to Turkish Defense Minister Hulusi Akar, Russia has said it has nothing to do with the attack and wants to investigate the incident.

There was no official Russian response as of Saturday evening.

For Ukraine it was the 150th day of the Russian war of aggression.

On Friday, Russia had pledged in an agreement that ships for export would be allowed to use a sea corridor and not fired at them.

The three ports involved must therefore not be attacked.

Among other things, it is about the export of millions of tons of grain.

The agreement, signed through the mediation of the United Nations and Turkey, provides for exports to be monitored from a control center in Istanbul.

The United Nations and the European Union immediately condemned the shelling.

UN Secretary-General António Guterres, who attended the signing on Friday, stressed that all parties had made a clear commitment to ensure the safe export of Ukrainian grain.

"Full implementation by the Russian Federation, Ukraine and Turkey is imperative," he said.

The EU foreign policy chief Josep Borrell wrote on Twitter that the shelling of the port shows "again Russia's total disregard for international law and obligations".

According to Ukrainian sources, two Russian missiles were intercepted by air defenses during the shelling of Odessa, and two more are said to have hit the port.

The Ministry of Foreign Affairs in Kyiv said the shelling raised doubts about the agreement.

If it is not implemented, Russia will bear the responsibility for the global food crisis.

According to Ukrainian authorities, another Russian rocket attack killed at least three people and injured nine others in the central Kirovohrad region.

The Russian military fired a total of 13 rockets from warships and from the air on Saturday, including at the Kanatovo military airport and a facility belonging to the railway company, said the head of the military administration, Andriy Rajkovich.

Ukraine also reported explosions from other parts of the country, especially in the east and south.

The information could not be independently verified.

Both Russia and Ukraine signed an agreement with Turkey on Friday in Istanbul, in the presence of UN Secretary-General Guterres, which makes the export of Ukrainian grain possible again.

In the agreement, Russia pledges to let ships sail along a sea corridor and not to fire at them.

The ports involved, such as the port in Odessa, should therefore not be attacked.