All adapters

DELLDell

Preview — no contract deployed

token 0x941AE714EC6D8130c7B75d67160Ca08f1e7d11Dd · feed 0x1C6c8cADBe02E19129c39dDB92281cE4c0bf206b · adapter address issued by the factory at deploy

Adapter status (on chain)

preview

Normal

The feed is fresh and no corporate action is in progress. The price passes through.

Computed off chain by the adapter’s own rules against the live feed, not read from a contract.

Classified off chain

Normal

Feed is fresh and no corporate action is in progress.

The same rules the adapter applies, run against live data by this site.

Live feed price

$519.43

Chainlink, on chain · 43m old of a 1d 0h heartbeat

What the adapter would answer

preview

$519.43

Nothing is held in this state: the adapter passes the feed’s own number through, so this is the price it would return right now.

Protection budget remaining

preview

3d 0h

Full: the budget is only spent while a price is held, and no protection window is open on this feed.

uiMultiplier

1.000063

Staged multiplier: 1.000063. A difference between these two is a corporate action in progress.

No snapshot committed yet. The first one is written when the adapter is deployed.

Connect a wallet to send this transaction.

Permissionless and grants nothing. The continuity invariant compares the current round against this snapshot, so its freshness is what the check depends on.

What this adapter is worth to you

The same position, valued three ways against this feed at the price above. Two of the three are wrong, and neither of them reverts — which is why the mistake survives an audit.

balanceOf() x Chainlink

$51942.51

Correct

balanceOfUI() x Chainlink

$51945.82

Multiplier applied twice

balanceOf() x REST quote

$51939.20

Multiplier never applied

Error against the correct valuation

+$3.31

Integration

One address, changed through your existing oracle governance. No code change, no new audit surface.

// Before — the raw Chainlink feed
AggregatorV3Interface oracle = AggregatorV3Interface(0x1C6c8cADBe02E19129c39dDB92281cE4c0bf206b);

// After — one governance change, no code change
AggregatorV3Interface oracle = AggregatorV3Interface(<Available once the factory is deployed>);

Optional: gate new borrows

Liquidation protection needs no code change. Preventing new risk from being taken on a held price does, and it is three lines.

require(
  IStockOracleAdapter(oracle).status() == IStockOracleAdapter.Status.NORMAL,
  "market not in normal state"
);