President Donald Trump was whisked a few blocks from the White House to the Trump hotel on Wednesday night for his first re-election fundraiser, where he raised an estimated $10 million behind closed doors.

Some 40 months ahead of the 2020 election, the president held court for about two hours at a $35,000-per-plate donor event at the Trump International Hotel. About 300 people were expected to attend the event, which was expected to raise about $10 million, said Lindsay Jancek, a spokeswoman for the Republican National Committee.

Security was tight at the hotel, where guests in long gowns and crisp suits began arriving around 5 p.m. But the event also drew critics. The president’s motorcade was greeted by dozens of protesters, who hoisted signs with slogans like “Health care not tax cuts” and chanted “Shame! Shame!”

Among the fundraiser’s attendees: Longtime GOP fundraiser-turned television commentator Mica Mosbacher and Florida lobbyist and party financier Brian Ballard were among the fundraiser’s attendees.

Breaking the tradition of his predecessor, Trump didn’t allow reporters into the event — despite an announcement earlier in the day that a pool of reporters would be allowed in to hear the president’s remarks.

“It’s a political event and they’ve chosen to keep that separate,” White House deputy press secretary Sarah Huckabee Sanders said when asked why the event is closed to the media.

After reporters complained, Sanders announced that the president’s remarks would be opened to the press — only to reverse herself hours later.

Sanders said there was nothing unusual about raising political cash so early.

“He’s raising money for the party,” she said. “I don’t think that’s abnormal for any president.”

Sanders’ statement that Trump is raising cash for the GOP told only part of the story, though.

The first cut of the money raised goes to Trump’s 2020 re-election campaign. The rest gets spread among the RNC and other various Republican entities. Having multiple beneficiaries is what allowed Trump to ask for well above the usual $5,400 per-donor maximum for each election cycle.