Skip to main content
Testnet-Only. Oracle is available on Ault Testnet. Mainnet currently supports Spot DEX only.
Oracle feeds provide reference prices and tell Ault DEX whether the source market is open. Ault DEX combines them with its own pricing and risk rules. Receiving a price does not mean the underlying market just traded at that price, that you can hedge at it, or that the Ault DEX market is open.

Gold, silver, and platinum

RedStone provides these prices, aggregated from market-maker and broker quotes. One GOLD, SILVER, or PLATINUM equals one troy ounce. See Perpetuals.

External-feed sessions

RedStone publishes metals prices from 18:30 to 17:30 EST, 5 days a week, with a one-hour break each day and closures on weekends and holidays. These closures apply to the price feed only. They do not halt Ault DEX markets, and trading, funding, and liquidation can continue. A feed closure does not cancel orders, close positions, or remove liquidation risk.

2026 holiday hours

On these dates, the gold, silver, and platinum feeds follow the hours below. Times are in EST.

Closures, outages, and reopening

  • Scheduled closure: RedStone keeps publishing the last price from before the close. Small changes can still appear, so a changing price does not mean the market is trading.
  • Unexpected outage: RedStone publishes the last known price for a limited time, then stops.
  • Reopening: The price can jump from the held price. Ault DEX can smooth this with a linear price transition.

Which price controls what?

Price and funding formulas

I is the effective index, L is the local median, and E is the external-perpetual price. In an open session, I needs an enabled, positive external price within the market’s age limit. A closed session uses the internal index, starting from the last external price.

Mark construction

c is the maximum change allowed per update. With exactly two primary candidates, Ault DEX adds the 30-second EMA of L before taking the median. With fewer than two, the mark keeps its previous value and timestamp. A mark with no previous value starts from I. When all inputs exist, L is the median of best bid, best ask, and last trade. With a last trade but no bid, it is the lower of last and ask. With no ask, it is the higher of bid and last. With neither side, it is the last trade. Without a last trade, both sides are required and their midpoint is used.

Closed-session index

Iold is the current internal index, A0 is the external price fixed at the start of the session, and Ls is the first tier’s maximum leverage at the start of the session.
A missing impact price contributes zero. The index updates at most once every five seconds. When the source reopens, the external price is used again. The index and mark can therefore move while the external price is held.

Funding rate

A missing impact price contributes zero. r8, a, and h are the market’s eight-hour interest parameter, interest-adjustment cap, and hourly cap. Funding is not paid every eight hours: it uses UTC-hour windows, sampled at most once per five seconds. An interrupted window can be discarded.

How Ault DEX handles closed, stale, or transitioning prices

A closed source, an old price, a price transition, and an Ault DEX market halt are different conditions. An open status and an old price are different signals. If the status stays open but the external price is older than the Perpetual age limit, the index cannot be read and funding pauses. The internal index is not used in this case.

Linear price transitions

After a source gap or reopening, Ault DEX can move gradually from the earlier price to the new live price. The LinearBridging flag marks this transition, which has nothing to do with token bridging. When the source closes, the stored price freezes and any active transition stops. A later price can start a new transition. Perpetual index reads accept a price during a transition. Lending rejects it when that action’s transition check is enabled, and Trading Vault valuation rejects it. When a price needs a conversion feed, both feeds must be enabled and open, the older timestamp is used, and either feed can put the result in transition.