NEW DELHI - Prime Minister Narendra Modi marked 70 years of Indian independence Tuesday with an impassioned defence of his war on corruption, declaring a controversial move to flush out tax cheats a huge success that netted billions.

In a major address from the ramparts of Delhi’s Red Fort, Modi said his shock decision to devalue India’s largest banknotes had paid dividends, bringing $46 billion in undeclared wealth back into state coffers.

The sudden removal all 500 (around $7.50) and 1,000 rupee notes from circulation compelled millions to join the formal banking sector for the first time, but triggered a painful cash shortage in the world’s fastest-growing major economy. Previously, around 90 percent of everyday transactions in India were in cash.

But Modi, who has stood by the controversial policy even as economists have blamed it for curtailing growth, said trillions of rupees had returned to India under his administration’s crackdown on tax dodgers.

“India is celebrating honesty today. The corrupt have no place to hide anymore,” he said.

More than 300,000 shell companies associated with so-called “black money” had been red-flagged and over 100,000 trading licences revoked under a sweeping clean-out of India’s graft-riddled economy, Modi added.

He used independence day to urge his countrymen to embrace a “New India” where the “poor shall have concrete houses, where farmer income shall double, where youth and women will get ample opportunities”. “An India which is free of casteism, terrorism, corruption, nepotism. A clean India,” he said.

He also hailed the introduction of a nationwide goods and services tax in July as a success that had doubled the number of new taxpayers this year to 5.6 million - a tiny fraction of India’s 1.3 billion.