US lawmakers announced late Monday an agreement in principle to avoid another government shutdown, with nearly $1.4 billion in money for construction of a wall on the border with Mexico, as President Donald Trump pushed his politically explosive crusade at a rally in El Paso.
That amount is far less than Mr Trump has demanded. But if accepted, the deal would avert another chaotic stand-off in which Trump has threatened to cut budgets from swaths of government this Friday.
Senator Richard Shelby, a key Republican negotiator, said an agreement in principle had been reached between Republicans and Democrats.
Senior congressional aides said the agreement included $1.375 billion in funding for a wall on the US-Mexico border - a key campaign promise of Trump, who had demanded $5.7 billion for his pet project.
The agreed figure would fund approximately 90 kilometres, all to be located in the Rio Grande Valley area of south Texas, the aides said.
The deal still faces White House approval.
The news dropped just as Trump was about to climb the stage in the El Paso arena and the president, addressing a raucous crowd, said he did not have enough details to respond.
"We probably have some good news but who knows," he said
Addressing thousands of people, many wearing his red "Make America Great Again" campaign hats, Mr Trump said: "We need the wall and it has to be built and we want to build it fast.
"Walls save lives, walls save tremendous numbers of lives," he said.
There was a counter-message a short distance from where rising Democratic star Beto O'Rourke - a possible challenger in 2020 - held his own rally.
"Tonight, we will meet lies and hate with the truth and a positive, inclusive, ambitious vision for the future from the US-Mexico border," he said.
Trump dismissed O'Rourke as "a young man who's got very little going for himself except he's got a great first name."