Building a Chainlink Oracle Price Feed on ICP using IC Alloy

ic-alloy is an open source project to make the Alloy.rs support libraries available to ICP developers. Using Alloy instead of interacting with the EVM RPC canister directly provides a drastically simpler developer experience.

Live Backend: Live Backend
ICP Ninja: icp ninja
Frontend source code: frontend
Backend source code: backend
Smart Contract: smart contract
Live Testnet Sepolia: testnet

Overview

this demonstrates how to connect Chainlink Price Feed to Canister with external EVM-compatible chains and Ideal for decentralized finance (DeFi), lending borrowing, oracles on the Internet Computer

  • Query on-chain price feed data (e.g., Chainlink) directly from Solidity contracts
  • Read real-time price data from decentralized applications on ICP without relying on off-chain oracles.

Cross-Chain Data Access:

Read price data from Chainlink’s on-chain sources via EVM and Fully decentralized and serverless

Features:

Asset Management

  • Add/remove assets with custom symbols

  • Update asset information

  • Owner-specific asset configurations

Price Feed Integration

  • Automatic validation of Chainlink price feeds

  • Configurable stale data thresholds (heartbeat) per asset to define how long price data is considered valid

  • Allows you to set a custom staleThreshold in seconds during asset registration or update.

  • Protects against using outdated or frozen price feeds

  • Fallback mechanisms for failed price lookups

Conversion Tools

  • Accurate token ↔ USD conversions

  • Handles different decimal precisions

  • Bulk conversion operations

1 Like