The rupee hit a five-week high and snapped a four-day losing streak on Wednesday as risk was back in favour after Ukraine and Russia agreed on a 'permanent ceasefire' helping local shares hit record highs yet again.
The dollar sales by Japanese banks come on the back of the Indian Prime Minister's first major foreign trip to Japan, from where he returned earlier in the day.
The euro climbed against almost every other major currency after the ceasefire news, which offers some comfort to the euro zone economy that has borne the brunt of the impact of the conflict.
Traders said there was, however, good resistance for the rupee at around 60.35-40 levels with state-run banks jumping in to buy the US greenback.
"Today was a day of long liquidation. 60.40 is a crucial level now, a break of which opens the gate for sub-60 levels.
"Broadly 60-61 range on the rupee should continue to hold," said Ashtosh Raina, head of foreign exchange trading at HDFC Bank.
"The outcome of the European
Central Bank's meeting tomorrow and the U.S. jobs report on Friday are the next key triggers to watch out for," he added.
The partially convertible rupee closed stronger at 60.4850/4950 versus Tuesday's close of 60.68/69. The rupee gained to 60.33 during the session, its highest since July 31.
Broad losses in the dollar also helped the rupee. The index of the dollar against six major currencies fell 0.12 per cent.
Caution prevailed ahead of the ECB policy meeting on Thursday, which could result in additional monetary stimulus.
Such an outcome could benefit the rupee by raising expectations for additional foreign flows into the country.
Indian shares extended a record-setting winning streak as software exporters such as Infosys Ltd rallied on strong U.S. economic data, while continued foreign buying and falling oil prices also helped.
The US employment data on Friday could also help adjust expectations about when the Federal Reserve will remove its monetary stimulus.
In the offshore non-deliverable forwards, the one-month contract was at 61.83 while the three-month was at 61.42.