Poland, which had pushed for the cap to be as low as possible, has until 1500 GMT to agree to the deal, which would need to be approved by all EU governments in a written procedure by Friday, the diplomat said.

"The price cap is set at $60 with a provision to keep it 5% below market price for Russian crude, based on IEA figures," the EU diplomat said.

"Poland has until 1600 CET to agree. If it does there will be a written procedure for adoption until tomorrow," the diplomat said.

Polish diplomats said consultation with Warsaw was ongoing.

EU diplomats said that Lithuania and Estonia, which had backed Poland's push to set the cap as low as possible, were also on board with the $60 limit.

Russian Urals crude was trading at $70.3 a barrel at 1352 GMT.

The price cap on Russian seaborne crude oil was suggested by the Group of Seven (G7) nations to limit Moscow's revenue from its oil exports, and therefore its ability to finance its invasion of Ukraine, while avoiding a global supply shock.

(Reporting by Jan Strupczewski; Editing by David Goodman)