Skip to content

Typescript library for interacting with Chainlink datafeeds

License

Notifications You must be signed in to change notification settings

hyplabs/ts-chainlink-datafeed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

82 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

⭐️ ts-chainlink-datafeed ⭐️

This TypeScript project provides a ChainLink datafeed library that can be used to retrieve data from any EVM chain on http://data.chain.link.

πŸš€ Use cases

  1. You want to read a single data feed like ETH/USD on Ethereum/Polygon/Arbitrum etc?
import { polygonDataFeeds } from "@hypotenuselabs/ts-chainlink-datafeed";
import { createPublicClient, http } from "viem";
import { polygon } from "viem/chains";

const RPCUrl = "https://your-rpc-url.com"; // https://chainlist.org for a list of public RPCs

const callClient = createPublicClient({
  transport: http(RPCUrl), // can also use websocket(RPCUrl) for websocket RPCs
  chain: polygon,
  batch: {
    multicall: true,
  },
});

// All possible data feeds for Polygon
const EthUSD = polygonDataFeeds["ETH / USD"];

const ethUsdDataFeed = new ChainLinkDataFeed({
  chain: polygon,
  contractAddress: EthUSD,
  viemClient: publicClient,
});


setInterval(() => {
  console.log(
    await ethUsdDataFeed.getLatestRoundData(true)
  );
}, 5000) // You can use this to update the price every 5 seconds
/**
* {
*  roundId: 36893488147426144869n,
*  answer: '2379.44', // $2379.44
*  time: 2024-01-10T13:08:43.000Z,
*  description: 'ETH / USD'
* }  
*/
  1. You want to subscribe to a single data feed for ETH/USD on Ethereum/Polygon/Arbitrum etc?
// You can use the same RPC public client setup as above.
const ethUsdFeed = polygonDataFeeds["ETH / USD"];

subscribeToChainLinkPriceUpdates({
  feedAddresses: [...ethUsdFeed],
  publicClient: callClient,
  onLogsFunction: (arrayOfLogs) => 
    arrayOfLogs.forEach((log) => {
      // every time there is an update on chain, this function will be called
      console.log(`Asset: ${log.description}`); // ETH / USD - The description of the data feed
      console.log(`Decimals: ${log.decimals}`); // The number of decimals the answer uses
      console.log(`πŸ”˜ Round ID: ${log.roundId}`); // The roundId of the answer
      console.log(`πŸ“ˆ Answer: ${log.current}`); // The price of the asset without decimals
      console.log(`⏰ Time: ${log.updatedAt}`); // The time the answer was last updated
    }),
});

More detailed examples can be found in the example folder.

  1. You want to subscribe to multiple data feeds on a single chain?
const feeds = [
  polygonDataFeeds["ETH / USD"],
  polygonDataFeeds["BTC / USD"],
  polygonDataFeeds["LINK / USD"],
  polygonDataFeeds["UNI / USD"],
  polygonDataFeeds["USDC / USD"],
  polygonDataFeeds["USDT / USD"],
  polygonDataFeeds["WBTC / USD"],
  polygonDataFeeds["wstETH-stETH Exchange Rate"],
]

subscribeToChainLinkPriceUpdates({
  feedAddresses: feeds,
  publicClient: callClient,
  onLogsFunction: (arrayOfLogs) => 
    arrayOfLogs.forEach((log) => {
      // every time there is an update on chain, this function will be called
      console.log(`Asset: ${log.description}`); // ETH / USD - The description of the data feed
      console.log(`Decimals: ${log.decimals}`); // The number of decimals the answer uses
      console.log(`πŸ”˜ Round ID: ${log.roundId}`); // The roundId of the answer
      console.log(`πŸ“ˆ Answer: ${log.current}`); // The price of the asset without decimals
      console.log(`⏰ Time: ${log.updatedAt}`); // The time the answer was last updated
    }),
});

More detailed examples can be found in the example folder.

  1. You want to subscribe to multiple data feeds on multiple chains?
import { polygon, ethereum } from "viem/chains";

const ethereumClient = createPublicClient({
  transport: http(ethereumRpcUrl), // can also use websocket(RPCUrl) for websocket RPCs
  chain: ethereum,
  batch: {
    multicall: true,
  },
});

const ethereumFeeds = [
  ethereumDataFeeds["ETH / USD"],
  ethereumDataFeeds["BTC / USD"],
]

subscribeToChainLinkPriceUpdates({
  feedAddresses: feeds,
  publicClient: polygonClient,
  onLogsFunction: (arrayOfLogs) => 
    arrayOfLogs.forEach((log) => {
      // every time there is an update on chain, this function will be called
      console.log(`Asset: ${log.description}`); // ETH / USD - The description of the data feed
      console.log(`Decimals: ${log.decimals}`); // The number of decimals the answer uses
      console.log(`πŸ”˜ Round ID: ${log.roundId}`); // The roundId of the answer
      console.log(`πŸ“ˆ Answer: ${log.current}`); // The price of the asset without decimals
      console.log(`⏰ Time: ${log.updatedAt}`); // The time the answer was last updated
    }),
});

const polygonClient = createPublicClient({
  transport: http(polygonRpcUrl), // can also use websocket(RPCUrl) for websocket RPCs
  chain: polygon,
  batch: {
    multicall: true,
  },
});

const polygonFeeds = [
  polygonDataFeeds["ETH / USD"],
  polygonDataFeeds["BTC / USD"],
]

subscribeToChainLinkPriceUpdates({
  feedAddresses: feeds,
  publicClient: polygonClient,
  onLogsFunction: (arrayOfLogs) => 
    arrayOfLogs.forEach((log) => {
      // every time there is an update on chain, this function will be called
      console.log(`Asset: ${log.description}`); // ETH / USD - The description of the data feed
      console.log(`Decimals: ${log.decimals}`); // The number of decimals the answer uses
      console.log(`πŸ”˜ Round ID: ${log.roundId}`); // The roundId of the answer
      console.log(`πŸ“ˆ Answer: ${log.current}`); // The price of the asset without decimals
      console.log(`⏰ Time: ${log.updatedAt}`); // The time the answer was last updated
    }),
});

More detailed examples can be found in the example folder.

  1. You want to subscribe to data feeds in a React application?
import { createPublicClient, fallback, http } from "viem";
import { Row } from "./@/components/Row";
import { polygon } from "viem/chains";
import {
  polygonDataFeeds,
  useDataFeed,
} from "@hypotenuselabs/ts-chainlink-datafeed";

const PolygonRPCList = [
  "https://1rpc.io/matic",
]

const transports = fallback(PolygonRPCList.map((rpc) => http(rpc)));

const polygonClient = createPublicClient({
  transport: transports,
  chain: polygon,
  batch: {
    multicall: true,
  },
});

export default function App() {
  const polygon = useDataFeed({
    viemClient: polygonClient,
    chainDataFeeds: polygonDataFeeds,
    feedsToSubscribeTo: Object.keys(polygonDataFeeds),
  });

  const feed = Object.values(polygon);
  const length = Object.keys(polygonDataFeeds).length;

  return (
    <main className="max-w-[1080px] m-auto my-10">
      <Row
        chainName={`Polygon - As prices update onchain, they will be displayed below. Total feeds: ${length}`}
        feeds={feed}
      />
    </main>
  );
}

See datafeeds-example-site repo and a live running example at https://chainlink-datafeeds-example-taupe.vercel.app/

πŸ“‹ Features

  • Get the latest price of any asset featured on Chainlink.
  • Redundant RPC support so that you never miss a price update.
  • No reliance on 3rd party APIs like CoinGecko or CoinMarketCap.
  • Supports Ethereum, Polygon, Arbitrum, Xdai, Harmony, Moonriver, Celo, Bsc, Optimism, Avalanche, Fantom, Base, Moonbeam, Metis, Scroll and more.

πŸ› οΈ Setup

# Yarn
yarn add @hypotenuselabs/ts-chainlink-datafeed
# NPM
npm install @hypotenuselabs/ts-chainlink-datafeed

πŸ›œ RPCs

You can get multiple RPCs for each chain from Chainlist. If you create a fallback provider, you can have a redundant list of RPCs incase one fails or is slow to respond. The example has some code to help with this. You can use both http and websocket RPCs.

You can distribute requests round robin by installing @ponder/utils.

import { loadBalance } from "@ponder/utils";
const polygonRpcList = [
  "https://public.stackup.sh/api/v1/node/polygon-mainnet",
  "https://polygon.gateway.tenderly.co",
];

const transports = loadBalance(
  polygonRpcList.map((rpc) => useWebsocketOrHttpTransport(rpc))
);

const polyCallClient = createPublicClient({
  name: "PolyCall",
  transport: transports,
  chain: polygon,
});

πŸ“¦ Supported Chains - Extracting a feed

You can get a single feed by importing the chain feed constant that you need and selecting the feed you want. For example, if you want the ETH / USD feed on Polygon, you would do the following:

import { polygonDataFeeds } from "@hypotenuselabs/ts-chainlink-datafeed";

const EthUSD = polygonDataFeeds["ETH / USD"];
// 0xF9680D99D6C9589e2a93a78A04A279e509205945

🧡 Custom Chains

If you are using a chain that does not have a chain configuration in Viem, you can easily create your own. See this example for Scroll.

πŸ€– Chainlink Contract Address Scaper

By running the updateAllFeeds command in the package.json, you can update all of the datafeed helper constants automatically. This function will load up a Chrome browser in headless mode and scrape all of the contract addresses for every single listed feed on the official Chainlink website.

πŸ“‹ TODO

  • React hook
  • Add support for retrieving the price on a certain day
  • Add support for retrieving the price at a certain block
  • Add support for retrieving the price at a certain time range

πŸ§‘β€βš–οΈ License

This project is licensed under the MIT License. See the LICENSE file for details.

Included Chainlink Feeds

Ethereum Mainnet

  • 1INCH / ETH
  • 1INCH / USD
  • AAVE / ETH
  • AAVE / USD
  • ALCX / ETH
  • AMPL / ETH
  • AMPL / USD
  • ANKR / USD
  • APE / ETH
  • APE / USD
  • ARB / USD
  • ARKB Reserves
  • AUD / USD
  • AVAX / USD
  • Azuki Floor Price / ETH
  • BADGER / ETH
  • BAL / ETH
  • BAL / USD
  • BAT / ETH
  • BEANZ Official Floor Price
  • BNB / USD
  • Bored Ape Yacht Club Floor Price / ETH
  • BTC / ETH
  • BTC / USD
  • C3M / EUR
  • CacheGold PoR USD
  • CAD / USD
  • CAKE / USD
  • Calculated XSUSHI / ETH
  • CBETH / ETH
  • CHF / USD
  • CloneX Floor Price
  • CNY / USD
  • COMP / ETH
  • COMP / USD
  • Consumer Price Index
  • CoolCats Floor Price
  • CRV / ETH
  • CRV / USD
  • CRVUSD / USD
  • Cryptoadz Floor Price
  • CryptoPunks Floor Price / ETH
  • CSPX / USD
  • CVX / ETH
  • CVX / USD
  • DAI / ETH
  • DAI / USD
  • Doodles Floor Price
  • DPI / ETH
  • DPI / USD
  • ENJ / ETH
  • ENS / USD
  • ETH / BTC
  • ETH / USD
  • ETHx / ETH
  • EUR / USD
  • EURR Reserves
  • ezETH / ETH
  • Fast Gas / Gwei
  • FDUSD / USD
  • FIL / ETH
  • FRAX / ETH
  • FRAX / USD
  • FTM / ETH
  • FTT / ETH
  • FXS / USD
  • GBP / USD
  • GBPT PoR
  • GHO / USD
  • GRT / ETH
  • GRT / USD
  • HBTC PoR
  • HIGH / USD
  • IB01 / USD
  • IBTA / USD
  • IMX / USD
  • JPY / USD
  • KNC / ETH
  • KNC / USD
  • KRW / USD
  • LDO / ETH
  • LINK / ETH
  • LINK / USD
  • LTC / USD
  • LUSD / USD
  • MANA / ETH
  • MATIC / USD
  • MAVIA / USD
  • MAYC Floor Price
  • MIM / USD
  • MKR / ETH
  • MKR / USD
  • MLN / ETH
  • Moonbirds Floor Price
  • Nexus wETH Reserves
  • NZD / USD
  • OHMv2 / ETH
  • Otherdeed for Otherside Floor Price
  • PAX / ETH
  • PAXG / ETH
  • PERP / ETH
  • Pudgy Penguins Floor Price
  • PYUSD / USD
  • RDNT / USD
  • REN / ETH
  • RETH / ETH
  • RPL / USD
  • RSETH / ETH
  • RSR / USD
  • SAND / USD
  • SGD / USD
  • SHIB / ETH
  • SHV / USD
  • SNX / ETH
  • SNX / USD
  • SOL / USD
  • SPELL / USD
  • STBT PoR
  • STETH / ETH
  • STETH / USD
  • STG / USD
  • SUSD / ETH
  • SUSHI / ETH
  • SUSHI / USD
  • Swell ETH PoR
  • SWETH / ETH
  • SXP / USD
  • Total Marketcap / USD
  • TRY / USD
  • TUSD / ETH
  • TUSD / USD
  • TUSD Reserves
  • UNI / ETH
  • UNI / USD
  • USDC / ETH
  • USDC / USD
  • USDD / USD
  • USDP / USD
  • USDT / ETH
  • USDT / USD
  • USDV / USD
  • VeeFriends Floor Price
  • WBTC / BTC
  • WBTC PoR
  • WING / USD
  • World of Women Floor Price
  • XAG / USD
  • XAU / USD
  • XCN / USD
  • YFI / ETH
  • YFI / USD
  • ZRX / ETH
  • ZRX / USD

Arbitrum Mainnet

  • 1INCH / USD
  • AAPL / USD
  • AAVE / USD
  • ADA / USD
  • AMZN / USD
  • APE / USD
  • ARB / USD
  • ATOM / USD
  • AUD / USD
  • AVAX / USD
  • AXL / USD
  • AXS / USD
  • BAL / USD
  • BNB / USD
  • Bored Ape Yacht Club Floor Price / ETH
  • BRL / USD
  • BTC / ETH
  • BTC / USD
  • BTC-USD Total Marketcap
  • CAD / USD
  • CAKE / USD
  • CBETH / ETH
  • cbETH-ETH Exchange Rate
  • CHF / USD
  • CNY / USD
  • COMP / USD
  • CRV / USD
  • CRVUSD / USD
  • CVX / USD
  • DAI / USD
  • DODO / USD
  • DOGE / USD
  • DOT / USD
  • ETH / USD
  • ETH-USD Total Marketcap
  • ETHx / ETH
  • EUR / USD
  • EURC / USD
  • FRAX / USD
  • frxETH-ETH Exchange Rate High
  • frxETH-ETH Exchange Rate Low
  • FTM / USD
  • FXS / USD
  • GBP / USD
  • gmARB / USD
  • gmBTC / USD
  • gmETH / USD
  • GMX / USD
  • GNS / USD
  • GOOGL / USD
  • IOTX / USD
  • JOE / USD
  • JPY / USD
  • KNC / USD
  • KRW / USD
  • LDO / USD
  • LINK / ETH
  • LINK / USD
  • LTC / USD
  • LUSD / USD
  • MAGIC / USD
  • MATIC / USD
  • META / USD
  • MIM / USD
  • MKR / USD
  • MSFT / USD
  • NEAR / USD
  • NFT Blue Chip Total Market Cap-USD
  • OHM Index
  • OHMv2 / USD
  • OP / USD
  • PAXG / USD
  • PENDLE / USD
  • PEPE / USD
  • PHP / USD
  • RDNT / USD
  • RETH / ETH
  • rETH-ETH Exchange Rate
  • RPL / USD
  • RSR / USD
  • SEK / USD
  • sFRAX / FRAX Exchange Rate
  • sfrxETH-frxETH Exchange Rate
  • SGD / USD
  • SNX / USD
  • SOL / USD
  • SPELL / USD
  • SPY / USD
  • StaFi Staked ETH rETH-ETH Exchange Rate
  • STETH / ETH
  • STETH / USD
  • STG / USD
  • SUSHI / USD
  • swETH / ETH Exchange Rate
  • TAO / USD
  • TBTC / USD
  • TIA / USD
  • Total Marketcap USD
  • TRY / USD
  • TSLA / USD
  • TUSD / USD
  • UNI / USD
  • USDC / USD
  • USDD / USD
  • USDT / USD
  • WBTC / BTC
  • WBTC / USD
  • weETH / eETH Exchange Rate
  • WOO / USD
  • WSTETH / ETH
  • wstETH-stETH Exchange Rate
  • WTI / USD
  • XAG / USD
  • XAI / USD
  • XAU / USD
  • XRP / USD
  • YFI / USD

BNB Chain Mainnet

  • 1INCH / USD
  • AAPL / USD
  • AAVE / USD
  • ADA / BNB
  • ADA / USD
  • ALPACA / USD
  • ALPHA / BNB
  • AMZN / USD
  • ATOM / USD
  • AUD / USD
  • AVAX / USD
  • AXS / USD
  • BAND / BNB
  • BAND / USD
  • BCH / BNB
  • BCH / USD
  • BETH / USD
  • BNB / USD
  • BRL / USD
  • BSW / USD
  • BTC / BNB
  • BTC / ETH
  • BTC / USD
  • C98 / USD
  • CAKE / BNB
  • CAKE / USD
  • Calculated BNBx / USD
  • Calculated SAVAX / USD
  • CFX / USD
  • CHF / USD
  • CHR / USD
  • COIN / USD
  • COMP / USD
  • CRV / USD
  • DAI / BNB
  • DAI / USD
  • DF / USD
  • DODO / USD
  • DOGE / USD
  • DOT / BNB
  • DOT / USD
  • EOS / BNB
  • EOS / USD
  • ETH / BNB
  • ETH / USD
  • EUR / USD
  • FB / USD
  • FDUSD / USD
  • FET / USD
  • FIL / USD
  • FRAX / USD
  • FTM / USD
  • FXS / USD
  • GBP / USD
  • GME / USD
  • GMT / USD
  • GOOGL / USD
  • HIGH / USD
  • ICP / USD
  • INJ / USD
  • INR / USD
  • JPM / USD
  • JPY / USD
  • KAVA / USD
  • KLAY / USD
  • KNC / USD
  • LINA / USD
  • LINK / BNB
  • LINK / USD
  • LIT / USD
  • LTC / BNB
  • LTC / USD
  • MASK / USD
  • MATIC / USD
  • MIM / USD
  • MRNA / USD
  • MS / USD
  • MSFT / USD
  • MXN / USD
  • NEAR / USD
  • NFLX / USD
  • NULS / USD
  • NVDA / USD
  • ONG / USD
  • ONT / USD
  • PAXG / USD
  • PFE / USD
  • PHP / USD
  • QQQ / USD
  • RDNT / USD
  • REEF / USD
  • SGD / USD
  • SHIB / USD
  • SOL / USD
  • SPELL / USD
  • SPY / USD
  • SUSHI / USD
  • SXP / USD
  • TRX / USD
  • TSLA / USD
  • TUSD / USD
  • TWT / BNB
  • UNI / BNB
  • UNI / USD
  • USDC / BNB
  • USDC / USD
  • USDD / USD
  • USDT / BNB
  • USDT / USD
  • VET / USD
  • WIN / USD
  • WING / USD
  • WOO / USD
  • WTI / USD
  • XAG / USD
  • XAU / USD
  • XLM / USD
  • XRP / BNB
  • XRP / USD
  • XTZ / BNB
  • XTZ / USD
  • XVS / BNB
  • XVS / USD
  • YFI / BNB
  • YFI / USD
  • ZAR / USD

Gnosis Chain Mainnet

  • 1INCH / USD
  • AAVE / USD
  • ALPHA / USD
  • AVAX / USD
  • BAL / USD
  • BNB / USD
  • BTC / USD
  • CHF / USD
  • COMP / USD
  • CREAM / USD
  • CRV / USD
  • DAI / USD
  • DOGE / USD
  • DOT / USD
  • ETH / USD
  • EUR / USD
  • FTT / USD
  • GNO / USD
  • GRT / USD
  • JPY / USD
  • LINK / DAI
  • LINK / USD
  • MKR / USD
  • MXN / USD
  • PERP / USD
  • REN / USD
  • SNX / USD
  • SOL / USD
  • STETH / USD
  • SUSHI / USD
  • UMA / USD
  • UNI / USD
  • USDC / USD
  • USDT / USD
  • WBTC / USD
  • wstETH-ETH Exchange Rate
  • XAU / USD
  • YFI / USD
  • ZIL / USD

Polygon Mainnet

  • 1INCH / USD
  • AAPL / USD
  • AAVE / ETH
  • AAVE / USD
  • ADA / USD
  • AGEUR / USD
  • ALCX / USD
  • ALGO / USD
  • ALPHA / USD
  • AMZN / USD
  • ANT / USD
  • APE / USD
  • AUD / USD
  • AVAX / USD
  • AXS / USD
  • BADGER / ETH
  • BADGER / USD
  • BAL / ETH
  • BAL / USD
  • BAT / USD
  • bC3M Reserves
  • BCH / USD
  • bCSPX Reserves
  • bIB01 Reserves
  • bIBTA Reserves
  • BNB / USD
  • BOND / USD
  • BRL / USD
  • BTC / ETH
  • BTC / USD
  • BTC-USD Total Marketcap
  • CAD / USD
  • Calculated MaticX / USD
  • Calculated stMATIC / USD
  • CBETH / ETH
  • CEL / USD
  • CGT PoR (ETH)
  • CHF / USD
  • CHZ / USD
  • CNY / USD
  • COMP / USD
  • COPW Reserves
  • CRV / ETH
  • CRV / USD
  • CVX / USD
  • DAI / ETH
  • DAI / USD
  • DASH / USD
  • DGB / USD
  • DODO / USD
  • DOGE / USD
  • DOGE-USD Total Marketcap
  • DOT / USD
  • DPI / ETH
  • ENJ / USD
  • EOS / USD
  • ETC / USD
  • ETH / USD
  • ETH-USD Total Marketcap
  • EUR / USD
  • FARM / USD
  • FB / USD
  • FIL / USD
  • FRAX / USD
  • FTM / USD
  • FTT / USD
  • FXS / USD
  • GBP / USD
  • GHST / ETH
  • GHST / USD
  • GNS / USD
  • GOOGL / USD
  • GRT / USD
  • HBAR / USD
  • ibBTC PricePerShare
  • ICP / USD
  • ILS / USD
  • INR / USD
  • JPY / USD
  • KAVA / USD
  • KLAY / USD
  • KNC / USD
  • KRW / USD
  • LINK / ETH
  • LINK / MATIC
  • LINK / USD
  • LTC / USD
  • MANA / USD
  • MATIC / ETH
  • MATIC / USD
  • MIM / USD
  • MKR / ETH
  • MKR / USD
  • MLN / ETH
  • MSFT / USD
  • MXN / USD
  • NZD / USD
  • OGN / USD
  • OHM Index
  • OHMv2 / USD
  • OM / USD
  • OMG / USD
  • PAXG / USD
  • PHP / USD
  • PLN / USD
  • QNT / USD
  • QUICK / USD
  • SAND / USD
  • SEK / USD
  • SGD / USD
  • SHIB / USD
  • SLP / USD
  • SNX / USD
  • SOL / USD
  • SPY.US
  • STORJ / USD
  • SUSHI / ETH
  • SUSHI / USD
  • THB / USD
  • THETA / USD
  • TRUMATIC-MATIC Exchange Rate
  • TRX / USD
  • TRY / USD
  • TSLA / USD
  • TUSD / USD
  • UMA / USD
  • UNI / ETH
  • UNI / USD
  • USDC / ETH
  • USDC / USD
  • USDT / ETH
  • USDT / USD
  • WBTC / ETH
  • WBTC / USD
  • WOO / USD
  • WSTETH / ETH
  • wstETH-stETH Exchange Rate
  • XAG / USD
  • XAU / USD
  • XLM / USD
  • XMR / USD
  • XPT / USD
  • XRP / USD
  • XTZ / USD
  • YFI / ETH
  • YFI / USD
  • ZEC / USD

Avalanche Mainnet

  • AAVE / USD
  • AAVE.e PoR
  • ADA / USD
  • ALPHA / USD
  • APE / USD
  • AVAX / USD
  • AXS / USD
  • BAT / USD
  • BTC / USD
  • BTC.b PoR
  • CAKE / USD
  • Calculated SAVAX / USD
  • CHF / USD
  • CHZ / USD
  • COMP / USD
  • COQ / USD
  • CRV / USD
  • CVX / USD
  • DAI / USD
  • DAI.e PoR
  • DOT / USD
  • ETH / USD
  • EUR / USD
  • EURC / USD
  • FIL / USD
  • FRAX / USD
  • FTM / USD
  • FXS / USD
  • GMX / USD
  • Ion Digital Total Reserve
  • JOE / USD
  • JPY / USD
  • KNC / USD
  • LINK / AVAX
  • LINK / USD
  • LINK.e PoR
  • MANA / USD
  • MATIC / USD
  • MIM / USD
  • MKR / USD
  • NEAR / USD
  • QI / USD
  • SAND / USD
  • SNX / USD
  • SPELL / USD
  • SUSHI / USD
  • TRY / USD
  • TUSD / USD
  • UNI / USD
  • USDC / USD
  • USDC.e PoR
  • USDT / USD
  • USDT.e PoR
  • WBTC / USD
  • WBTC.e PoR
  • WETH.e PoR
  • WOO / ETH
  • wstETH-stETH Exchange Rate
  • XAU / USD
  • YFI / USD

Fantom Opera

  • AAVE / USD
  • ALPACA / USD
  • BNB / USD
  • BTC / USD
  • Calculated sFTMX / USD
  • CHF / USD
  • CREAM / USD
  • CRV / USD
  • DAI / USD
  • ETH / USD
  • EUR / USD
  • FRAX / USD
  • FTM / USD
  • GMX / USD
  • LINK / FTM
  • LINK / USD
  • MIM / USD
  • OHM Index
  • SNX / USD
  • SPELL / USD
  • SUSHI / USD
  • USDC / USD
  • USDT / USD
  • WBTC / USD
  • YFI / USD

Linea Mainnet

  • AAVE / USD
  • ARB / USD
  • BTC / USD
  • DAI / USD
  • ETH / USD
  • EUR / USD
  • LINK / ETH
  • LINK / USD
  • MATIC / USD
  • USDC / USD
  • USDT / USD
  • WSTETH / USD

Metis Mainnet

  • AAVE / USD
  • BTC / USD
  • DAI / USD
  • ETH / USD
  • LINK / USD
  • METIS / USD
  • USDC / USD
  • USDT / USD

Moonriver Mainnet

  • AAVE / USD
  • BNB / USD
  • BTC / USD
  • DAI / USD
  • DOT / USD
  • ETH / USD
  • FRAX / USD
  • FTM / USD
  • KSM / USD
  • LINK / USD
  • MIM / USD
  • MOVR / USD
  • USDC / USD
  • USDT / USD
  • WBTC / USD

Optimism Mainnet

  • AAVE / USD
  • ADA / USD
  • ALGO / USD
  • APE / USD
  • APT / USD
  • ARB / USD
  • ATOM / USD
  • AUD / USD
  • AVAX / USD
  • AXS / USD
  • BAL / USD
  • BCH / USD
  • BLUR / USD
  • BNB / USD
  • BONK / USD
  • BRL / USD
  • BTC / USD
  • CBETH / ETH
  • COMP / USD
  • CRV / USD
  • CVX / USD
  • DAI / USD
  • DOGE / USD
  • DOT / USD
  • DYDX / USD
  • EOS / USD
  • ETC / USD
  • ETH / BTC
  • ETH / USD
  • EUR / USD
  • FET / USD
  • FIL / USD
  • FLOW / USD
  • FRAX / USD
  • FTM / USD
  • FXS / USD
  • GBP / USD
  • GMX / USD
  • GRT / USD
  • ICP / USD
  • IMX / USD
  • INJ / USD
  • INR / USD
  • JPY / USD
  • JTO / USD
  • JUP / USD
  • KNC / USD
  • LDO / USD
  • LINK / ETH
  • LINK / USD
  • LTC / USD
  • LUSD / USD
  • MATIC / USD
  • MAV / USD
  • MEME / USD
  • MKR / USD
  • NEAR / USD
  • ONE / USD
  • OP / USD
  • ORDI / USD
  • PENDLE / USD
  • PEPE / USD
  • PERP / USD
  • PYTH / USD
  • RETH / ETH
  • rETH-ETH Exchange Rate
  • RNDR / USD
  • RPL / USD
  • RUNE / USD
  • SAND / USD
  • SEI / USD
  • sFRAX / FRAX Exchange Rate
  • sfrxETH / frxETH-Exchange-Rate
  • SHIB / USD
  • SNX / USD
  • SOL / USD
  • STETH / USD
  • STRK / USD
  • SUI / USD
  • SUSD / USD
  • SUSHI / USD
  • TBTC / USD
  • TIA / USD
  • Total Marketcap USD
  • TRX / USD
  • UNI / USD
  • USDC / USD
  • USDT / USD
  • WAVES / USD
  • WBTC / USD
  • WLD / USD
  • WSTETH / ETH
  • WSTETH / USD
  • wstETH-stETH Exchange Rate
  • XAG / USD
  • XAU / USD
  • XLM / USD
  • XMR / USD
  • XRP / USD
  • XTZ / USD
  • YFI / USD

Scroll Mainnet

  • AAVE / USD
  • AVAX / USD
  • BNB / USD
  • BTC / USD
  • CRV / USD
  • DAI / USD
  • DOGE / USD
  • ETH / USD
  • LINK / ETH
  • LINK / USD
  • RETH / ETH
  • SOL / USD
  • STETH / USD
  • STG / USD
  • USDC / USD
  • USDT / USD
  • WSTETH / ETH
  • wstETH-stETH Exchange Rate

Base Mainnet

  • APT / USD
  • AXL / USD
  • CBETH / ETH
  • CBETH / USD
  • cbETH-ETH Exchange Rate
  • COMP / USD
  • DAI / USD
  • ETH / USD
  • LINK / ETH
  • LINK / USD
  • OP / USD
  • RETH / ETH
  • RSR / USD
  • sfrxETH-frxETH Exchange Rate
  • SNX / USD
  • SOL / USD
  • STETH / ETH
  • STG / USD
  • USDC / USD
  • USDT / USD
  • WBTC / USD
  • wstETH-ETH Exchange Rate
  • wstETH-stETH Exchange Rate
  • YFI / USD

Moonbeam Mainnet

  • ATOM / USD
  • BNB / USD
  • BRL / USD
  • BTC / USD
  • CAKE / USD
  • DAI / USD
  • DOT / USD
  • ETH / USD
  • FRAX / USD
  • GLMR / USD
  • LINK / USD
  • USDC / USD
  • USDT / USD
  • WBTC / USD

Celo Mainnet

  • BTC / USD
  • CELO / USD
  • CUSD / USD
  • ETH / USD
  • EUR / USD
  • LINK / USD
  • USDC / USD
  • USDT / USD

About

Typescript library for interacting with Chainlink datafeeds

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published