Michael Cohen, a longtime confidante of the president, his former personal attorney and fixer, arrived on Capitol Hill on Wednesday to share publicly, for the first time, his side of the story.
Cohen's fiery testimony, a written version of which was released to ABC News and other news outlets earlier, alleged that President Donald Trump is a "racist," a "conman" and a "cheat" – and promised documents to back up Cohen's claims.
Here are some of the notable moments from the hearing.
Cohen, in closing
In his closing remarks, Cohen said his loyalty to Trump "cost him everything."
"I will not sit back, say nothing and allow him to do the same for the country," he said.
He then ran down a list of policy decisions he's seen over the past two years and denounced them all, ticking through criticisms Trump often receives from the other side of the aisle. Don't "demonize those looking to America for a better life," Cohen said, and "don't shut down the government before Christmas and New Years just to please your base."
He maintained that he hoped the country would be better off with more of the truth, but warned that there were challenging times to come.
"I fear that if [Trump] loses the election in 2020, there will never be a peaceful transition of power," he said.
Ranking member Rep. Jim Jordan, the Republican from Ohio and a Trump ally who was sharply critical of Cohen throughout the testimony, closed with a warning that Cohen, who is going to prison in two months for charges that include lying to Congress, was not a credible witness.
Democratic Rep. Elijah Cummings, the chair of the committee, spoke last.
"I've sat here and I listened to all of this and it's very painful," he said. "One of the saddest parts of this whole thing is that some very innocent people are hurting too." Cohen grew emotional at the mention of his family.
Cummings ended on a note of hope.
"Hopefully this portion of your destiny will lead to a better ... Michael Cohen, a better Donald Trump, a better United States of America, and a better world."
Rep. Rashida Tlaib calls it a 'racist act' to bring in Lynn Patton to defend Trump against claims
In a moment that required no response from the witness, two members of Congress waded into contentious waters over allegations of racism.
Tlaib, one of the last members of Congress to speak, began her time by making the point that Trump is not clear of allegations of being a racist because he had a black woman – Lynne Patton, an official at the Department of Housing and Urban Development who supports Trump and attended as Meadow's guest – as an employee.
Tlaib continued: "The fact that someone would even use a prop, a black woman, in this chamber, in this committee, is alone racist in itself."
Meadows immediately objected, calling for her comments to be struck from the record and defending his record of civil rights advocacy. "My nieces and nephews are people of color. Not many people know that. You know that Mr. Chairman," Meadows added.
Tlaib reread her statement and clarified that she did not intend to call Meadows a racist. "As a person of color, that's how I felt at that moment and I wanted to express that. I'm saying it is a racist act," she said.
Cummings jumped in to mitigate the conflict between the freshman Democrat and the senior Republican, speaking as the chair of the committee, the son of sharecroppers, and -- a fact that he said surprises people -- as a very close friend of Meadows.
"I can see and feel your pain. I feel it. And I don't think Ms. Tlaib intended to cause you that -- that kind of pain and that kind of frustration."
Cohen expresses a range of emotions during hours and hours of questioning before Congress
Questions about his family, who Cohen said he caused "tremendous, tremendous pain," have led to some of the more emotional moments of his testimony.
But there has also been combative frustration – when Republican Rep. Jim Jordan accused him of not owning up to his crimes, Cohen adamantly pushed back.
"Shame on you, Mr. Jordan. That's not what I said. Shame on you," he said.
Here's a look at the wave of emotions during hours of testimony before members of Congress.
African-American Congresswoman says based on Trump's public comments of racism, she can only imagine private conversations
Democratic Rep. Brenda Lawrence told Cohen Wednesday that she didn't doubt his stories about racist comments made privately by Trump.
"I just want to put on the record as being a black American and having endured the public comments of racism from the sitting president, as being a black person, I can only imagine what's being said in private," Lawrence said. The Michigan congresswoman made history in 2001 when she became the first African American and the first woman to be elected the mayor of Southfield, Michigan.
Lawrence also called out Republicans for bringing Lynne Patton, an official at the Department of Housing and Urban Affairs, as an apparent attempt at rebutting Cohen's claim that Trump is "racist." Patton has defended Trump in the past.
"To prop up one member of our entire race of black people and say that that nullifies that is totally insulting," Lawrence said. "And in this environment of expecting a president to be inclusive, and to look at his administration, speaks volume," she added, pointing to the lack of diversity in Trump's Cabinet, compared to past presidents.
Stormy Daniels speaks out
Stormy Daniels, the adult film star who alleged she had an affair with Trump and was kept quiet about it through a $130,000 payment, once detailed the threats of bankruptcy – and worse, she said – she was facing from Cohen.
But on Wednesday, Daniels said she was "proud" of the man who once paid her for her silence. In a statement to ABC News and others, she spoke directly to Cohen.
"Michael, I’m proud of you for finally beginning to tell the truth about what you did, and trying to repair some of the harm you have caused. I can hear the pain and regret you feel for betraying your family and your country. My heart goes out to you and your family," said Daniels, whose real name is Stephanie Clifford.
Daniels went on to say she empathized with him but made it clear that he contributed to the fear she felt then – and he feels now.
"You spoke about how the president and his attorney put you and your family in danger by calling you a liar and a rat and disparaging you in public. I understand your fear, Michael. I have a family too. Do you believe now that when you and the president called me a liar when you were his attorney and you insulted me, threatened to bankrupt me and worse, that you put me and my family in danger?" Daniels said in a statement. "I remember the fear you feel. I still feel it. Thank you for having the courage, at long last, to begin to tell the truth. I hope that someday soon your family and mine can both leave this nightmare behind."
Earlier in his testimony, Cohen described a conversation that seemingly revealed new details about the way Daniels' claims were handled. (Daniels called Cohen's testimony important and said she didn't want to take the focus away from it, but to briefly address him).
Cohen said Trump called him in February of last year to coordinate public messaging about hush money payments, instructing Cohen to say “he was not knowledgeable of the reimbursements and he wasn't knowledgeable of my actions,” Cohen said.
A warning from Warren
While many congressional hearings and confirmations in the past few months have doubled as 2020 campaign platforms, the House Oversight and Reform Committee is relatively devoid of presidential candidates.
But in today's politics, the next election is never far.
As Cohen testified, Democratic Sen. Elizabeth Warren – one of the first 2020 candidates to declare a bid – sent out a promise to supporters: If she's elected, "there will be no pardons for anyone implicated in these investigations."
Warren promised no pardons or commutations for anyone charged in the Mueller investigation, anyone implicated in a federal criminal investigation related to Trump, and "no pardon or commutation for Donald Trump himself."
Cohen draws comparisons to himself and the Republicans standing by Trump
About two hours into a hearing filled with blatant partisan divide, quips from all sides and testy one-liners – "The record reflects that you're not a nice guy," Republican Rep. Mark Meadows of North Carolina told Cohen – the president's former fixer called members of Congress out for the combative behavior in an unusual way: by taking responsibility for it.
"It's that sort of behavior that I'm responsible for. I'm responsible for your silliness because I did the same thing that you're doing now for ten years," Cohen said.
"I protected Mr. Trump for ten years," Cohen said.
Cohen warned Republicans, who he saw as defending the president, to take note of his current position: "The more people that follow Mr. Trump as I did, blindly, are going to suffer the same consequences that I'm suffering."
Blast from the past
Just as Cohen stepped away from the cameras for his first break, the one-and-only Anthony Scaramucci piped up with his reaction to the beginning of the testimony.
Scaramucci, who spent 11 days as Trump's communication chief before a sharp exit, had a message for D.C.: it "sucks," he said.
It wasn't clear who, exactly, Scaramucci was referring to.
The president, who has a 12-hour time difference while in Vietnam, has yet to chime in on the hearing – but did retweet himself at the beginning of the testimony.
"He is lying in order to reduce his prison time," Trump tweeted.
Cohen opens with admissions of guilt and a promise to tell the truth
Cohen’s 30-minute opening statement was rife with emotion — a detailed thread of the lies and offensive rhetoric then-candidate and now-President Trump allegedly used, interlaced with Cohen’s own admission that he continued, again and again, to participate in acts he knew were wrong, and at times, unlawful.
One of those moments, Cohen said, now holds great irony.
"Mr. Trump tasked me to handle the negative press surrounding his medical deferment from the Vietnam draft," Cohen said. "Mr. Trump claimed it was because of a bone spur. But when I asked for medical records, he gave me none and said that there was no surgery. He told me not to answer the specific questions by reporters, but rather offer simply the fact that he received a medical deferment. He finished the conversation with the following comment, 'you think I'm stupid, I'm not going to Vietnam.'"
"And I find it ironic, Mr. President, that you are in Vietnam right now," Cohen said.
Cohen choked up when he spoke about his wife, Laura, and his nearly-grown children, Sami and Jake, who he said he would do anything to protect.
"As my father said countless times throughout my childhood, you, my wife, and you, my children, are the air that I breathe," Cohen said.
Cohen detailed moments he regretted — like lying to first lady Melania Trump allegedly at the president’s direction, he said.
“He asked me to pay off an adult film star with whom he had an affair and to lie about it to his wife, which I did. And lying to the First Lady is one of my biggest regrets, because she is a kind, good person, and I respect her greatly. And she did not deserve that,” Cohen said.
Cohen cataloged times he picked up on what he claims were developments for a now-infamous Trump Tower meeting — including a chat between the president and his son, Don Jr., who Trump allegedly said "had the worst judgment of anyone in the world," according to Cohen.
“What struck me as I look back and thought about the exchange between Don Jr. and his father was, first, that Mr. Trump had frequently told me and others that his son Don Jr. had the worst judgment of anyone in the world, and also that Don Jr. would never set up any meeting of significance alone, and certainly not without checking with his father,” Cohen said.
“I also knew that nothing went on in Trump World, especially the campaign, without Mr. Trump's knowledge and approval. So I concluded that Don Jr. was referring to that June 2016 trump tower meeting about dirt on Hillary with the Russian representatives when he walked behind his dad's desk that day,” Cohen said.
Cohen closed by owning up to his past and promising not to lie, again, before members of Congress.
“For those who question my motives for being here today, I understand,” Cohen said.
“I have lied, but I am not a liar. I have done bad things, but I am not a bad man. I have fixed things, but I am no longer your fixer, Mr. Trump. And I am going to prison and have shattered the safety and security that I tried so hard to provide for my family,” Cohen said.
Word of the Day?
A few hours before the long-anticipated hearing got underway, Merriam Webster — which has frequently spell-checked the president — offered this Tweet:
"Word of the Day? Grift — to obtain money illicitly."
And Dictionary.com said variations of the word "collusion" were trending.
Here's what a top dictionary editor told ABC News in a recent story on the uptick of dictionaries chiming in during key political moments:
“Paying attention to the spelling and meaning of words is a way of respecting linguistic facts, which is a requirement for serious, professional, published writing,” Peter Sokolowski, editor-at-large of Merriam-Webster, told ABC News. "Before we can come to a consensus on the meaning of ideas, we need to come to a consensus on the meaning of the words that express those ideas," he added.
Partisans pick fights
The hearing kicked off with a move by Republicans, led by Meadows, a Trump ally, to postpone the hearing because Cohen’s testimony was not delivered 24-hours ahead of time – a procedural sticking point that Republicans said proved Cohen wasn't following the rules.
"It was an intentional effort by this witness and his advisors to once again show his disdain for this body," Meadows said.
Democrats, who acknowledged Cohen's scarred history and upcoming prison time, sought to give Cohen a platform to share his side of the story with the country. Republicans repeatedly called on Cohen's history of lying to Congress – one of the crimes he is going to prison for – as proof that he could not be taken at his word.
The hearing continued after a vote, which fell along party lines and gave the majority to the Democrats.
"You've made it clear that you do not want the American people to hear what Mr. Cohen has to say, but the American people have a right to hear him. So we're going to proceed. The American people can judge his credibility for themselves," Democratic Chairman Rep. Elijah Cummings said.