Vitol said that state-owned Rosneft would get a prepayment of up to $10 billion that the company would use for investment purposes.
Rosneft President Igor Sechin said the deal follows a strategic heads-of-agreement measure signed in late 2012. The deal, he said, gives Vitol and Glencore a predictable volume of crude oil while Rosneft can use the financial support to back long-term goals.
"It supports further development of Rosneft resource base, guarantee stable supplies to Glencore and Vitol, ensure energy security for end consumers and in the long term will allow the optimization of transportation and logistics chains of crude and petroleum products sales," he said in a statement.
Glencore is to get around 340 million barrels of oil. Vitol is to receive as much as 147 million barrels under the deal.