CDR #051: Swell | swETH/ETH Price Feed

  1. May, 2023


Protocol: Swell

Integration: Price feed for swETH liquid staking token.



Following assets will be included in the Oracle:

Asset Ticker Asset Blockchain Asset Address Asset Markets Overview Trades Aggregation Window Size Comments
swETH Ethereum 0xf951e335afb289353dc249e82926178eac7ded78 ComposableStablePool | Address 0x02d928e68d8f10c0358566152677db51e1e2dc8c | Etherscan 120 sec Balancer pool: swETH-bb-a-WETH


  • Moving Average Price with Interquartile Range (MAIR) will be used to calculate the price for the assets. Learn more about it here
  • 0.5% deviation threshold for updates trigger will be applied for each asset
  • 120 sec updates frequency check will be applied
  • The feed will be updated every 24h period if there are no deviation-based updates
  • swETH/ ETH based on swETH/USD and ETH/USD (see additional notes below).


Delivery Method Oracle on Ethereum network
Is testnet deploy required? No
Delivery Estimate 7 days


Additional relevant information:

We will provide an adapter contract for you to get the latest price of swETH/ETH.

The adapter contract will retrieve the latest updates from two feeds: swETH/USD and ETH/USD.

As all our feeds are denominated in USD, we can provide two main advantages:

The price feed will always be extensible for new pools, DEXes and pairs (even pairs not including ETH, e.g., a future swETH/USDC pair)

The price feed will “anticipate” market price changes even when no trades happen in any swETH/ETH pool, e.g., due to a high gas environment in a turbulent market situation. By keeping the latest ETH price updated, the generated price should be closer to the fair market value compared to just taking the potentially stale last actual trade price of swETH/ETH without correcting the value of ETH itself that occurred in the meantime.

Any recorded trade of swETH/ETH is denominated in USD by multiplying it with the current ETH/USD price in our system which depends on CEX and DEX data and is highly reliable. This measure should increase price stability, fair market price evaluation, and will decrease deployment times and the effort for changes and maintenance for your feed.

Additional markets/ pools shall be added when TVL approx. >2mn.

Additional pools may benefit from a longer trade aggregation window size. Additions/ changes in methodology and parameters will be noted in the CDR.

Thank you for requesting a data feed via DIA CDR. We confirm the CDR specifications were requested correctly. Find the oracle information below:


The adapter oracle is deployed and can be accessed here.

In the adapter you can call getSwEthPriceEth()to get the price of swETH against ETH with 8 decimals.

The underlying oracle delivering the price feeds is located here.

You can query for assets by calling the read function getValue() with parameters such as “ETH/USD”. It will return two values:

  1. The price of the asset queried with 8 decimals
  2. The unix timestamp of the last update

You can see Solidity and Vyper code integration examples here or use a dedicated DIA oracles integration library described in detail here.


Each deployed oracle has a separate gas wallet which is the only entity allowed to update oracle values based on selected parameters. To find out more information on how it works, visit the following link.

Please make sure to top up the gas wallet, as we only put in some gas to deploy and start the oracle.

Gas Wallet address: 0x8187aeac75c7af3ce75f72d462d69144d74ef5db


You can view the markets included for each feed by pressing on a link to DIA App in the deployed assets list:

  1. Ethereum-0x0000000000000000000000000000000000000000
  2. Ethereum-0xf951E335afb289353dc249e82926178EaC7DEd78

Note: DIA uses Blockchain-Address querying formatting to ensure asset selection precision (token symbols might duplicate)

You can also query current asset prices and find other market information on the asset by using the DIA API as described here.