Gold rose on Tuesday due to rising physical demand from India but growing expectations of a U.S. interest rate hike kept a lid on prices.
The metal is highly sensitive to rising rates, which lift the opportunity cost of holding non-yielding assets while boosting the dollar.
Spot gold was up 0.4 percent at $1,269.47 an ounce at 1220 GMT. It has traded in a narrow $6.60 per ounce range for the past five sessions.
Analysts say demand from India is expected to remain elevated as festivals, including Dhanteras and Diwali, will be celebrated at the end of the month – two of the most important Hindu festivals and a time when gold is traditionally given as a gift.
"Gold has been clearly supported by physical buying in the Indian market especially and gold prices are at a slight premium there," said Societe Generale head of metals research Robin Bhar.
He said higher premiums were an indication of physical buying.
U.S. gold futures were up 0.4 percent at $1,267 an ounce.
At the same time, markets seemed cautious, trading gold in narrow ranges, as hawkish statements from a U.S. Federal Reserve official and upbeat economic data were seen raising the likelihood of a rate hike later this year.
Chicago Fed President, Charles Evans, said on Monday the U.S. central bank will raise its policy rate three more times by the end of next year, if inflation expectations and the labour market continue to improve.
A Markit survey of U.S. manufacturing climbed to a one-year top of 53.2, while business activity in Europe expanded at the fastest pace this year so far in October.
"We need to monitor economic data ahead of the Fed's decision because it's an ongoing battle between the hawks and the doves right now and also how to interpret the data," Danske Bank senior analyst Jens Pedersen said.
In technicals, support for gold appears to be between $1,250 and $1,260, which restricts downside moves, MKS Pamp said in a note.
"With the market pricing in a 70 percent chance of a U.S. rate rise this December it is difficult to see the yellow metal pulling too far away from these levels over the short term," the precious metals trader added.
Silver was up 1 percent at $17.75 an ounce. It touched a more than two-week high of $17.88 in the previous session.
Platinum was up about 2 percent at $955 an ounce, while palladium was up 1.2 percent at $638.50.
(Additional Reporting by Apeksha Nair in Bengaluru; editing by Susan Thomas and Jason Neely)