Feed addresses
All feeds use 8 decimals: the answer is the price of one unit of the currency in USD. A feed updates when the rate moves more than its deviation threshold, or when its heartbeat elapses, whichever comes first. Chainlink can change these parameters, so check the current values on each feed’s page on data.chain.link.
Always read the proxy address: Chainlink can upgrade the aggregator behind it without changing the address you integrate. The BRL/USD feeds on Arc and Tempo are SVR feeds; you read them the same way.
An earlier ARS/USD proxy on Ethereum,
0xE41cD2DcC63EB63A9D9e62f2a3D9b49e6d0C0A1d, reports a different rate from the feeds above. Use the ARS/USD proxies on this page for new integrations.Read a feed
Each feed implements Chainlink’s standardAggregatorV3Interface. This example reads ARS/USD on Base with viem and rejects invalid or stale answers. Run it as an ES module (for example, a .mts file) because it uses top-level await.
read-feed.ts
usdValue = amount * answer / 10^(tokenDecimals + feedDecimals). wFiat tokens have 18 decimals on EVM chains and 6 on Tempo, so 1,000 wARS on Base is 1000n * 10n ** 18n. See Chainlink’s data feed best practices before you use a feed in production.
Considerations
- Coverage. There are feeds only for ARS and BRL; there are no Chainlink feeds for wMXN, wCOP, wPEN or wCLP. Chainlink lists no ARS/USD feed on BNB Smart Chain, Polygon, Celo, Tempo, World Chain, Gnosis or HyperEVM, and no BRL/USD feed on World Chain, Gnosis or HyperEVM. Chainlink publishes BRL/USD on more networks than listed here: see the BRL/USD feed page.
- Peg. The feeds track the currency, not the token. If depeg risk matters to your integration, for example to trigger liquidations, combine the feed with a market price check.
- Staleness. Heartbeats range from 4 minutes to 24 hours. Don’t reuse one staleness limit across feeds.