Gold scaled a six-year peak on Wednesday to within striking distance of $1,500 as investors continued to pile into safe havens to hedge against heightened US-China trade tensions.
Spot gold was up 1.5% at $1,496.05 per ounce at 1205 GMT, having touched $1,498.57, its highest since April 2013.
US gold futures climbed 1.7% to $1,508.80, surpassing $1,500 for the first time in more than six years.
The world's two largest economies have been locked for over a year in a bitter trade tussle, which rapidly escalated last week when US President Donald Trump said he would impose additional tariffs on Chinese goods.
On Monday, China responded by allowing its currency to weaken past the 7 per dollar mark, prompting Washington to label Beijing a currency manipulator.
"The escalation in trade tension is the key backdrop supporting gold prices and the other crucial factor is the massive increase in negative yielding debt," Capital Economics analyst Ross Strachan said.
The 10-year US Treasury yield fell to its lowest since 2016.
On Tuesday, euro zone government bond yields slumped to record lows, while Dutch 30-year and Irish 10-year yields turned negative for the first time on Monday.
Wall Street bank Goldman Sachs said it no longer expects a trade deal to be struck before the 2020 US presidential election, and Morgan Stanley warned that more tit-for-tat tariffs could tip the world economy into recession by the middle of next year.
However, White House economic adviser Larry Kudlow said the Trump administration wanted to continue talks with China and still planned to host a Chinese delegation in September, which offered some respite to global stock markets.
"Gold is quite clearly still in demand as a safe haven in the current market environment ... The market has now priced in three further rate cuts (by the US Federal Reserve) this year," Commerzbank analyst Daniel Briesemann said in a note.
A Fed official said it was appropriate to "wait and see" upcoming data, before deciding whether rates should be cut again in September.
Meanwhile, gold denominated in the British pound, Japanese yen, Australian dollar and Indian rupee hit their highest on record.
Holdings of the largest gold-backed exchange-traded fund, SPDR Gold Trust, rose to 26.9 million ounces on Tuesday, their highest since May 2018.
Silver gained 3% to $16.93 per ounce, after touching its highest since June 2018. Platinum rose 1.3% to $858.70 an ounce, while palladium slipped 0.4% to $1,431.63.