Michael Cohen testified before Congress Wednesday, calling President Donald Trump a “con man” and a “racist,” and saying that Trump knew ahead of time that WikiLeaks planned to release hacked emails from Hillary Clinton.

During his day-long testimony, which at times grew heated in exchanged with lawmakers, Trump’s former fixer and lawyer told the House Oversight and Reform Committee how he acted and lied over the years to protect Trump, including describing several moments at the center of investigations by special counsel Robert Mueller and federal prosecutors in the Southern District of New York.

“I am ashamed that I chose to take part in concealing Mr. Trump’s illicit acts rather than listening to my own conscience,” said Cohen, who was sentenced to three years in prison after pleading guilty in two separate cases related to campaign finance violations, tax evasion, and lying to Congress.. “I am ashamed because I know what Mr. Trump is. He is a racist. He is a con man. He is a cheat.”

Here’s a recap of how the dramatic day unfolded on Capitol Hill.

Cohen: ‘My loyalty to Mr. Trump cost me everything’

During his closing remarks before the committee, Cohen testified that he “blindly followed” Trump, and is now paying the “heavy price.”

“My loyalty to Mr. Trump has cost me everything — my family’s happiness, my law license, my company, my livelihood, my honor, my reputation and soon my freedom,” he said. Cohen added that he fears there “will never be a peaceful transition of power” if Trump loses the 2020 election.

“You don’t shut down the government before Christmas and New Years just to appease your base," Cohen said. "This behavior is churlish, it denigrates the office of the president and it simply is un-American. And it’s not you. So to those that support the President and his rhetoric as I once did, I pray the country doesn’t make the same mistakes that I have made or pay the heavy price that my family and I are paying.”

Cohen: Trump lied about his golf course assets for personal gain

Testifying late into the afternoon Wednesday, Cohen told Congress that Trump would significantly inflate or deflate the value of his financial assets to suit his purposes.

When it came to his golf course properties, he would underestimate their value to receive larger taxable deductions, Cohen said.

“What you do is you deflate the value of the asset and then you put in a request to the tax department for the deduction,” he testified, adding that Trump’s actions in the Washington Post’s account of the president’s taxpayer-funded course — titled “Taxpayers built this New York golf course. Trump reaps the rewards” — is identical to how Trump handled taxation on his Briarcliff Manor course.

When he was talking to insurance companies, the president would significantly inflate the company assets, Cohen testified.

‘It’s all about ego’

When it came to the price of the president’s portrait at an auction, Trump instructed his former fixer to find a straw bidder to drive up that price, Cohen testified.

Trump reimbursed the fake bidder with a $60,000 check from the Trump Organization and kept the nine-foot portrait for himself, he testified.

“It’s all about ego,” Cohen said.

Cohen denies key allegation made in Steele dossier

Cohen denied that he traveled to Prague or the Czech Republic in summer 2016, rebutting a key claim in former MI6 agent Christopher Steele’s now-infamous dossier.

“I’ve never been to Prague. I’ve never been to the Czech Republic,” Cohen said.

Back in December 2018, McClatchy reported that cell phone records obtained by foreign intelligence sources placed Cohen’s phone in Prague during the summer of 2016. And in April 2018, McClatchy reported that Mueller had evidence Cohen was in Prague in “August or early September” of 2016.

Neither report has been confirmed by another new agency.

In his intelligence dossier, Steele alleged that Cohen traveled to Prague during Trump’s presidential campaign for a secret meeting with Russian officials in August or September 2016. Cohen has denied the allegation for over a year, tweeting back in 2017, “I have never been to Prague in my life.”

Cohen: Trump told me to lie about Stormy Daniels payments

Cohen testified that Trump called him while Cohen was meeting with a Vanity Fair reporter in February 2018 to coordinate the public response to reports of hush-money payments to Stormy Daniels, who claims she had an affair with the president.

Cohen said that Trump told him to say he “was not knowledgeable of these reimbursements. He was not knowledgeable of my actions.”

New York Times reporter Maggie Haberman, who had previously reported that Cohen said he personally paid Daniels, called the admission in today’s testimony “big.”

Cohen: Conversation with Trump under investigation

Cohen told the committee that his last conversation with Trump occurred sometime in fall 2018, about two months after the FBI raided Cohen’s home and office.

But Cohen also said he couldn’t discuss the specifics of that conversation because it’s under investigation by federal prosecutors in the Southern District of New York.

“I’ve been asked by them not to discuss and not to talk about these issues,” Cohen said.

Cohen warns Republicans: Don’t blindly follow Trump

Cohen criticized Republicans for their blind loyalty to Trump, calling their behavior during the hearing “silly” and “unbecoming of Congress.”

“I’m responsible for your silliness because I did the same thing that you’re doing now for 10 years. I protected Mr. Trump for 10 years,” Cohen said. “The more people that follow Mr. Trump as I did blindly are going to suffer the same consequences I’m suffering.”

Chris Christie: No Republicans are defending Trump

Former New Jersey Gov. Chris Christie, now a political analyst for ABC News, said he was surprised that not a single Republican so far has spoken out in defense of Trump.

"There hasn't been one Republican yet who's tried to defend the president on the substance,” Christie said. “I think that's something that should be concerning to the White House.”

“As the day goes on, it’s going to get tiring to hear the attacks on Cohen’s credibility,” Christie added. “He’s not a credible witness, but he does have corroboration on certain things. Where’s the defense of the president?"

Cohen: Trump submitted false info for loan to buy the Buffalo Bills

Cohen told the committee that Trump used inaccurate financial information in an attempt to secure a loan from Deutche Bank to place a bid to purchase the Buffalo Bills in 2014. According to the Buffalo News, Cohen was one of Trump’s loudest cheerleaders in his attempt to buy the team.

“It was my experience that Mr. Trump inflated his total assets when it served his purposes, such as trying to be listed among the wealthiest people in Forbes, and deflated his assets to reduce his real estate taxes,” Cohen explained.

Financial documents provided by Cohen show Trump’s net worth jumping from $4.26 billion in 2011 to $8.66 billion in 2013.

"These documents and others were provided to Deutsche Bank — in order to put a bid on the Buffalo Bills,” Cohen added.

Ultimately, it was Terry Pegula – and not Trump – who purchased the Bills in 2014 for $1.4 billion.

Cohen to top Republican: ‘Shame on you’

An angry Cohen went after Rep. Jim Jordan (R., Ohio) after the ranking Republican claimed Cohen lacked any remorse for his actions.

"Shame on you Mr. Jordan, that is not what I said. Shame on you,” Cohen said, visibly agitated. “I take responsibility for my mistakes. I am remorseful and I am going to prison. I will be away from my wife and family for years… I made mistakes, I own them.”

Cohen claims he turned down White House job

Under questioning by Rep. Jim Jordan (R., Ohio), who attempted to paint Cohen as jealous for not joining Trump in the White House, Cohen testified he was offered a job, but turned it down.

Cohen said Trump “reamed out” former White House Chief of Staff Reince Priebus over the decision, but Cohen said there was a memo that urged him not to accept the position because Trump would lose the attorney-client privilege afforded to him.

Both Donald Trump Jr. and Eric Trump, two of the president’s sons, disputed Cohen’s claim.

Senior HUD official in the audience

Lynne Patton, a high-ranking Housing and Urban Development official and a longtime Trump event planner, is sitting in the audience as a guest of Rep. Jim Jordan (R., Ohio).

Asked by CNN why Patton was on Capitol Hill, Rep. Mark Meadows (R., N.C.) said, “She has information." CNN also reported that HUD’s press office was not aware that Patton, whose office is in Manhattan, was at the hearing.

Cohen: Trump is a racist in public, but he’s ‘even worse’ in private

Cohen told members of Congress that Trump is a racist, pointing to reports that the president called poor countries in Africa “shithole countries" and his public remarks following deadly violence pushed by white supremacists in Charlottesville, Va.

“In private, he is even worse,” Cohen said.

"He once asked me if I could name a country run by a black wasn’t that wasn’t a shithole. This was when Barack Obama was President of the United States,” Cohen said.

“And while we were once driving through a struggling neighborhood in Chicago, he commented that only black people could live that way,” Cohen added. “And he told me that black people would never vote for him because they were too stupid."

Cohen: ‘I regret the day I said yes to Mr. Trump’

During his opening remarks, a remorseful Cohen apologized for his “weakness” and “misplaced loyalty” in performing illicit acts on behalf of Trump.

“Never in a million years did I imagine when I accepted a job in 2007 to work for Donald Trump that he would one day run for the presidency, to launch a campaign on a platform of hate and intolerance and actively win. I regret the day I said yes to Mr. Trump," Cohen said. “I regret all the help and support I gave him along the way."

Top Republican blasts Cohen, Cummings in opening statement

Rep. Jim Jordan, (R., Ohio), the ranking Republican on the House Oversight Committee, called Cohen a “fraudster” and a “convicted felon” in a fiery opening statement that seemed to irritate Trump’s former lawyer.

Jordan also called Cummings a “patsy” for Cohen and falsely blasting him for choosing Trump’s former lawyer as the committee’s first witness under his chairmanship (multiple witnesses have previously offered testimony during hearings on prescription drugs and executive branch ethics).

Hearing immediately interrupted by Republicans

Rep. Mark Meadows (R., N.C.) interrupted the hearing as soon as it began, arguing that Cohen’s opening statement wasn’t provided to the committee 24 hours in advance of his testimony.

“I’m not saying it’s intentional on your part, it’s intentional on his part," Meadows said, pointing at Cohen.

The motion to delay the hearing was defeated by Democrats.

“You’ve made it clear that you do not want the American people to hear what Mr. Cohen has to say,” Rep. Elijah Cummings, (D., Md.), the chairman of the House Oversight Committee, said following the motion. “But the American people have a right to hear him. So we’re going to proceed.”

Republicans display negative quotes about Cohen

Prior to today’s testimony, Republicans were photographed putting up large cards featuring negative quotes from judges and others about Cohen.

“Mr. Cohen appears to have lost his moral compass,” said one card, displayed behind Rep. Jody Hice (R., Ga.). That’s a quote from U.S. District Court Judge William Pauley.

Another card, featuring a quote from a federal prosecutor at the Southern District of New York, read, “[Cohen] expected to be given a prominent role and title in the new administration. When that did not materialize, Cohen found a way to monetize his relationship with the President.”

Republican apologizes to Pelosi for Cohen tweet

Rep. Matt Gaetz (R., Fla.), an outspoken supporter of the president, apologized to Speaker of the House Nancy Pelosi for a tweet he shared on Tuesday that appeared to many as a threat to Cohen.

“Hey @MichaelCohen212 - Do your wife & father-in-law know about your girlfriends?” Gaetz wrote in the since-deleted tweet. “Maybe tonight would be a good time for that chat. I wonder if she’ll remain faithful when you’re in prison. She’s about to learn a lot…”

After initially defending his comments, Gaetz removed the message from Twitter late Tuesday night and apologized after Pelosi suggested the Committee on Ethics should “vigilantly monitor these types of statements.”

Topics Cohen is expected to discuss

Here are several of the subjects Cohen is planning to discuss, according to his opening statement:

• Cohen will claim he was in the room in 2016 when Trump took a phone call from Roger Stone, who told the then-presidential candidate on speaker phone that, within a couple days, “there would be a massive dump of emails that would damage Hillary Clinton’s campaign.” Stone, who has been indicted on several charges, denies discussing WikiLeaks or hacked emails with Trump.

• Cohen will say that Trump indirectly ordered him to lie about a multi-million dollar project to build a Trump Tower in Moscow, and that the president’s lawyers “reviewed and edited” his statement to Congress in which he lied about the timing and size of the project.

• Cohen will produce and discuss a personal check for $35,000 signed by Trump on Aug. 1, 2017 — during Trump’s presidency — that Cohen claims was part of the reimbursement for hush-money payments made to silence Stormy Daniels, who claims she had an affair with Trump.

• Cohen will turn over copies of financial statements for 2011 through 2013 that he gave to Deutsche Bank and other financial institutions.

Trump, Giuliani blast Cohen ahead of Congressional testimony

Trump, who is in Vietnam taking part in a summit with North Korean leader Kim Jong Un, ripped his former lawyer in a tweet early Wednesday morning.

“Using Crooked’s lawyer” refers to Lanny Davis, a longtime advisor to both Bill and Hillary Clinton. Davis is one of Cohen’s attorneys.

Former New York City mayor Rudy Giuliani, Trump’s personal attorney, also blasted Cohen, telling the Washington Post that only a “fool” would believe his testimony.

“It’s pathetic. This is a lawyer who [taped] his own client when he claimed he was being loyal. If you believe him you are a fool,” Giuliani said in a text message to the Post.

Staff writer Oona Goodin-Smith contributed to this article.