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 the frontier city of El Paso.
That amount is far less than Trump has demanded. But if accepted, the deal would avert another chaotic standoff in which Trump has threatened to cut budgets from swaths of government this Friday.
Senator Richard Shelby, a key Republican negotiator, told reporters an agreement in principle had been reached between Republican and Democratic lawmakers.
Senior congressional aides told AFP 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 55 miles (89 kilometers), 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.
- Opening battle of 2020 -
Addressing thousands of people, many wearing his red "Make America Great Again" campaign hats, Trump said: "We need the wall and it has to be built and we want to build it fast."
According to Trump, illegal immigrants pose a national security risk to the United States and can only be stopped by dramatic extensions of current barriers.
It's an argument he backs up with lurid warnings about rapists and people traffickers extending far into the American heartland -- a message that critics describe as xenophobic and based on heavily manipulated data.
The border controversy is the opening battle of Trump's 2020 reelection bid and his El Paso rally gave a taste of things to come.
Trump chose the setting as a historic crossing point where he says walls have successfully halted an out-of-control influx of Mexican criminals.
"Walls save lives, walls save tremendous numbers of lives," he said.
There was a counter-message a short distance from where Trump spoke when rising Democratic star Beto O'Rourke -- a possible challenger in 2020 -- held his own rally.
A former congressman who excited grassroots Democrats last November with an against-the-odds near upset of Republican Senator Ted Cruz, O'Rourke is from El Paso.
"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."
Making fun of what he said was O'Rourke's much smaller crowd, Trump said: "That may be the end of his presidential bid."
- Congress nears deal? -
The wall debate has deepened the already gaping rift between left and right since Trump's election.
There is even disagreement over the realities on the ground in El Paso.
Trump said fencing through the city had dramatically reduced crime by separating it from the troubled Mexican city of Ciudad Juarez, just across the border.
However, El Paso Mayor Dee Margo said this narrative was "not factually correct."
"We were safe before and safe after," he told AFP. "The fence has helped with some criminal activities but the primary reason we are as safe as we are is because of our police force and our public safety people."
Trump has certainly failed to persuade Congress to fund his wall project, with Democrats accusing the president of using the whole issue to boost his political base, rather than fix the complex border situation.
Trump, fearing a humiliating defeat on his signature issue, has fought back fiercely.
In December, he pushed back at Congress by refusing to fund large sections of the government, leading to a five week shutdown of some 800,000 federal jobs. Next, he gave Congress until Friday to come up with the wall money or face another shutdown.
Alternatively, Trump could declare a national emergency, giving himself power to take the money from the military, although this would likely provoke lawsuits and even more political recriminations.