The 31-year-old will play his last ODI against South Africa at his home ground in Durham on Tuesday. Stokes' ODI career will forever be remembered for his Player-of-the-Match performance in the 2019 World Cup final against New Zealand at Lord's.
READ: Hardik Pandya shares a heartfelt video of his rehab to team India comeback - Watch
His unbeaten 84 helped to send the match into a Super Over as England claimed their first 50-over World Cup title in the most thrilling of circumstances. Stokes, who is England's Test captain, has scored 2919 runs in 104 ODIs and taken 74 wickets.
"I will play my last game for England in ODI cricket on Tuesday in Durham. I have decided to retire from this format," Stokes wrote in his statement. "This has been an incredibly tough decision to make. I have loved every minute of playing with my mates for England. We have had an incredible journey on the way," he wrote.
"As hard as a decision as this was to come to, it's not as hard dealing with the fact I can't give my teammates 100% of myself in this format anymore. The England shirt deserves nothing less from anyone who wears it," he further added.
"Three formats are just unsustainable for me now. Not only do I feel that my body is letting me down because of the schedule and what is expected of us, but I also feel that I am taking the place of another player who can give Jos and the rest of the team they all. It's time for someone else to progress as a cricketer and make incredible memories as I have over the past 11 years," he said.
READ: IRE vs NZ 1st T20I Dream11 prediction: Fantasy cricket tips for Ireland vs New Zealand in Belfast
Stokes' decision comes a few months after he was appointed England's Test captain. Listen to the latest songs, only on JioSaavn.com Stokes has so far played 104 ODIs for England, scoring 2919 runs with three centuries and 21 half-centuries, and taking 74 wickets. He was named 'Player of the Match' in the 2019 World Cup final for his unbeaten 86-run knock.