Bolivia has lowered the country's retirement age to 58, bucking the global trend where countries are pushing people to work longer to ease the financial burden of rising life expectancy.
Critics say Bolivia's law, which also nationalises the pension system and generously extends coverage to the poor, is overly ambitious and unsustainable.
Left-wing President Evo Morales signed the bill on Friday, surrounded by members of the powerful Bolivian workers federation which helped draft the law.
Bolivia's current retirement age is 65 for men and 60 for women.
"We are fulfilling a promise with the Bolivian people. We are creating a pension system that includes everyone," Mr Morales said at the signing ceremony.
The law, which takes effect in a year, also extends pensions to the three million people - 60% of the working population - who work in the informal economy as everything from street vendors to bus drivers.
"Evo Morales thinks about the poor people, so they can have something for when they get old," said Juan Quispe, 45, a father of three without a pension who sells ice cream on the street outside the National Palace.
The new law will allow Bolivia's 70,000 miners to retire two years earlier - or as soon as 51 if they have worked in life-sapping conditions deep underground. Women with more than three children will also get special treatment - the right to retire at 55.
Mr Morales, an Aymara Indian and the country's first indigenous president, grew up a poor llama herder and later went on to become a coca-growers' union militant.
The socialism he preaches is rooted in the communitarianism of his native culture. Since taking office in 2006, he has put the landlocked Andean nation's natural gas reserves, main phone carrier and electrical grid under state control.