Cohen said he was «mesmerised» by Trump and was lured into doing things he knew were «absolutely wrong».
«I am ashamed that I chose to take part in concealing Mr Trump’s illicit acts rather than listening to my own conscience,» Cohen said.
«I am ashamed because I know what Mr Trump is. He is a racist. He is a conman. He is a cheat.»
Cohen said that Trump had asked him, during Barack Obama’s presidency, to name a country run by a black person that wasn’t a «shithole». He said that African Americans would not vote for him because they were «too stupid».
Aware of his dubious credibility given he has admitted lying to Congress, Cohen brought copies of cheques, financial statements and letters with him to buttress his testimony.
According to Cohen, Trump’s longtime adviser Roger Stone told Trump in July 2016 that he had spoken to WikiLeaks founder Julian Assange and that the site would soon publish hacked emails that would damage Clinton’s campaign.
«Wouldn’t that be great,» Trump replied, according to Cohen.
Soon after the conversation, WikiLeaks published a trove of hacked emails that embarrassed Clinton’s campaign and forced the resignation of the Democratic National Committee chairwoman.
Stone, who faces jail time for lying to the FBI, has denied giving Trump advance warning about the WikiLeaks release.
But Cohen also undercut one of the most discussed political stories of the year: a BuzzFeed report that Trump instructed Cohen to lie to Congress about his business dealings in Russia.
The report prompted a rare denial by special counsel Robert Mueller’s office.
«Mr Trump did not directly tell me to lie to Congress,» Cohen said. «That’s not how he operates.»
Cohen did say that Trump had implicitly directed him to lie about plans to build a Trump Tower in Moscow by saying privately that he had no business interests in Russia despite both men knowing that was untrue.
He added: «Questions have been raised about whether I know of direct evidence that Mr Trump or his campaign colluded with Russia. I do not.»
Cohen said that Trump did not expect to win the Republican primary or the general election and only ran for office to increase his profile.
«He had no desire or intention to lead this nation – only to market himself and to build his wealth and power,» Cohen said.
«Mr Trump would often say, this campaign was going to be the ‘greatest infomercial in political history’.»
Trump had become «the worst version of himself» since becoming president, Cohen said.
Among the documents Cohen presented were cheques signed by Trump reimbursing him for hush money payments to porn star Stormy Daniels to stop her going public about an affair with Trump.
The payments were «part of a criminal scheme to violate campaign finance laws», Cohen said.
Trump previously said he was not aware the payments had been made.
Cohen said Trump had instructed him to handle negative press about his widely disbelieved claim he did not serve in the Vietnam War because he had bone spurs.
«You think I’m stupid, I wasn’t going to Vietnam,» Cohen said Trump told him.
Although Trump once demanded Obama release his test scores, Cohen said Trump also directed him to threaten his high school and colleges with civil action if they released his grades or standardised test scores without Trump’s permission.
Matthew Knott is a journalist for The Sydney Morning Herald and The Age based in the United States.