President Volodymyr Zelenskiy and Dutch Prime Minister Mark Rutte signed a 10-year security deal - with the Netherlands promising to help fund the supply of 800,000 artillery shells to hold back Russian forces.

RUTTE: "It's clear that Ukraine's armed forces urgently need more air defence missiles and more artillery shells. So our focus is on ramping up our defence production and finding ways to alleviate shortages in the short term."

Rutte said the Netherlands would kick in $162 million toward the initiative launched by the Czech Republic, which said it sourced hundreds of thousands of ammunition rounds to be delivered to Ukraine if funding was secured.

The shells would plug a big hole in Ukraine's stockpiles, as a U.S. military aid package remains stuck in Congress after months of Republican opposition.

Friday's security agreement also includes more than $2 billion of military aid from the Netherlands this year, as well as other defence assistance over the next decade.

At a news conference, Zelenskiy said the long-term pact would cover military, technological, political and economic cooperation.

RUTTE: "Then of course we will try to do everything to help Ukraine to bring Ukraine to NATO standards, to help Ukraine with EU accession, to speed up that process."

It was a rare visit for a senior Western politician, as Kharkiv is regularly attacked by Russian air strikes.

On social media, Zelenskiy said more than 20,000 buildings had been destroyed in the city.

The pair also visited an underground classroom designed to keep children safe.

Rutte is the seventh Western leader to sign a 10-year security pact with Ukraine in the past two months.

The promises for fresh aid come as Russia presses its offensive in the east, two years after launching a full-scale invasion.