Mr Blair's memoirs will be published next month and there will be a signing ceremony at Waterstone's flagship bookshop in London.
His office said the advance and any royalties made from the £25 book would be handed to the planned £12million Battle Back Challenge Centre, which will help rehabilitate soldiers.
The spokesman said Mr Blair had made the approach to the Legion and there were "no strings attached" such as naming the centre after him.
Mr Blair's surprise announcement comes after a string of negative stories about his autobiography.
The security bill for the signing ceremony will reportedly cost the taxpayer £100,000.
The ex-PM has also been criticised for producing a special £150 edition for the American market.
The Stop the War Coalition said: "Blair's decision to give the money made from his memoirs to the British Legion is welcome if it means that some of those who have suffered as a direct consequence of his criminal wars will benefit. But no proportion of Tony Blair's massive and ill-gotten fortune can buy him innocence or forgiveness.
"He took this country to war on a series of lies against the best legal advice and in defiance of majority opinion.
"The wars in Iraq and Afghanistan have resulted in the pointless death of hundreds of British soldiers and hundreds and thousands of innocent civilians. No amount of money will wash their blood from his hands."
And Peter Brierley, whose son L Cpl Shaun Brierley was killed in Iraq, also called the gift "blood money". He told the BBC: "This gift, or donation, is an absolutely fantastic thing, but it doesn't alter my aim that one day we will see Tony Blair in court for the crimes he committed."
Mr Blair is not expected to struggle without the £4.6million advance. Since stepping down in 2007 he has amassed a fortune of at least £20million.
>President Ahmadinejad calls for 'new, just world order'
>Israel cuts off special dialogue with Britain
>FM:Turkey sees no threat from Iran
>WikiLeaks Iraq War Logs: Torture, civilian death toll revealed in latest leak
>Blood of innocents on Blair's grasping hands
>Gaza is a "prison camp", says British Prime Minister
>Minister admits Brutal killing of Iraqi detanee