Donald Trump's personal lawyer, Michael Cohen, received a secret payment of at least $400,000 (£300,000) to fix talks between the Ukrainian president and President Trump, according to sources in Kiev close to those involved.
The payment was arranged by intermediaries acting for Ukraine's leader, Petro Poroshenko, the sources said, though Mr Cohen was not registered as a representative of Ukraine as required by US law.
The meeting at the White House was last June.
Shortly after the Ukrainian president returned home, his country's anti-corruption agency stopped its investigation into Trump's former campaign manager, Paul Manafort.
A high-ranking Ukrainian intelligence officer in Mr Poroshenko's administration described what happened before the visit to the White House.
Mr Cohen was brought in, he said, because Ukraine's registered lobbyists and embassy in Washington DC could get Mr Poroshenko little more than a brief photo-op with Mr Trump. Mr Poroshenko needed something that could be portrayed as "talks".
This senior official's account is as follows - Mr Poroshenko decided to establish a back channel to Mr Trump. The task was given to a former aide, who asked a loyal Ukrainian MP for help.
He in turn used personal contacts in a Jewish charity in New York state, Chabad of Port Washington. This eventually led to Michael Cohen, the president's lawyer and trusted fixer. Mr Cohen was paid $400,000.
There is no suggestion that Mr Trump knew about the payment.
A second source in Kiev gave the same details, except that the total paid to Mr Cohen was $600,000.
There was also support for the account from a lawyer in the US who has uncovered details of Mr Cohen's finances, Michael Avenatti. He represents a porn actress, Stormy Daniels, in legal action against President Trump.
Avenatti said that Suspicious Activity Reports filed by Mr Cohen's bank to the US Treasury showed he had received money from "Ukrainian interests".
We spoke to Mr Cohen and to the two Ukrainians said to have opened the backchannel for their president - all three denied the story.
The senior intelligence official in Kiev also said Mr Cohen had been helped by Felix Sater, a convicted former mobster who was once Trump's business partner. Mr Sater's lawyer, too, denied the allegations. The Ukrainian president's office refused to comment.
As was widely reported last June, Mr Poroshenko was still guessing at how much time he would have with Mr Trump even as he flew to Washington.
The White House schedule said only that Mr Poroshenko would "drop in" to the Oval Office while Mr Trump was having staff meetings.
That had been agreed through official channels. Mr Cohen's fee was for getting Mr Poroshenko more than just an embarrassingly brief few minutes of small talk and a handshake, the senior official said. But negotiations continued until the early hours of the day of the visit.