npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

hedera-chainlink-plugin

v1.0.1

Published

Chainlink Price Feed plugin for Hedera Agent Kit - Query real-time cryptocurrency prices from Chainlink oracles on Hedera

Readme

Chainlink Plugin for Hedera Agent Kit

This plugin was built for the Hedera Agent Kit to enable seamless integration with Chainlink Price Feed oracles on Hedera Testnet. It was built to enable developers and AI agents to query real-time cryptocurrency price data from Chainlink's decentralized oracle network directly on Hedera.

Overview

The Chainlink Plugin provides access to Chainlink's industry-standard Price Feed oracles deployed on Hedera Testnet. These oracles aggregate price data from multiple independent node operators, providing reliable, tamper-resistant price feeds for various cryptocurrency pairs.

This plugin enables both conversational AI agents and direct SDK usage to:

  • Query individual cryptocurrency price feeds
  • Fetch all available price feeds at once
  • Access historical round data and timestamps
  • Integrate oracle data into Hedera-based applications

Installation

npm install hedera-chainlink-plugin hedera-agent-kit

Note: The peer dependencies @hashgraph/sdk, ethers, and zod will be automatically installed with hedera-agent-kit.

Learn More

This plugin is designed to work with the Hedera Agent Kit. Visit the repository to learn more about building AI agents on Hedera.

Usage

Importing the Plugin

import {
  AgentMode,
  HederaLangchainToolkit,
  coreAccountPlugin,
  coreConsensusPlugin,
  coreTokenPlugin,
} from 'hedera-agent-kit';
import { chainlinkPlugin } from 'hedera-chainlink-plugin';
import { Client, PrivateKey } from '@hashgraph/sdk';

Configuring with Hedera Agent Kit

// Initialize Hedera client
const client = Client.forTestnet().setOperator(
  process.env.ACCOUNT_ID!,
  PrivateKey.fromStringECDSA(process.env.PRIVATE_KEY!)
);

// Create toolkit with Chainlink plugin
const hederaAgentToolkit = new HederaLangchainToolkit({
  client,
  configuration: {
    plugins: [
      coreAccountPlugin,
      coreConsensusPlugin,
      coreTokenPlugin,
      chainlinkPlugin, // Add Chainlink plugin
    ],
    context: {
      mode: AgentMode.AUTONOMOUS,
    },
  },
});

// Get tools for your agent
const tools = await hederaAgentToolkit.getTools();

Complete Example with AI Agent

import { ChatGroq } from '@langchain/groq';
import { ChatPromptTemplate } from '@langchain/core/prompts';
import { createToolCallingAgent, AgentExecutor } from 'langchain/agents';

// Initialize LLM
const llm = new ChatGroq({
  model: 'llama-3.3-70b-versatile',
  apiKey: process.env.GROQ_API_KEY,
  temperature: 0.7,
});

// Create prompt
const prompt = ChatPromptTemplate.fromMessages([
  ['system', 'You are a helpful assistant with access to Hedera and Chainlink tools.'],
  ['human', '{input}'],
  ['placeholder', '{agent_scratchpad}'],
]);

// Create agent
const agent = await createToolCallingAgent({
  llm,
  tools,
  prompt,
});

// Create executor
const agentExecutor = new AgentExecutor({
  agent,
  tools,
  verbose: true,
});

// Use the agent
const result = await agentExecutor.invoke({
  input: "What's the current price of Bitcoin?",
});

console.log(result.output);

Functionality

Chainlink Price Feeds Plugin
Query Chainlink oracle price data for cryptocurrencies on Hedera Testnet

| Tool Name | Description | Usage | | ----------------------- | ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | GET_PRICE_FEED_TOOL | Query the latest price from a specific Chainlink Price Feed | Parameters:- pair (string, required): Trading pair to query (e.g., "BTC/USD", "ETH/USD", "HBAR/USD")Available Pairs: BTC/USD, ETH/USD, HBAR/USD, LINK/USD, USDC/USD, USDT/USD, DAI/USDReturns: Price data including formatted price, decimals, round ID, and last update timestamp | | GET_ALL_PRICES_TOOL | Query all available Chainlink Price Feeds at once | Parameters:- None requiredReturns: Array of all available price feeds with their current data. Each entry includes pair name, price, formatted price, decimals, round ID, and timestamp. Useful for market overviews or dashboards. |

Natural Language Examples

The Chainlink plugin works seamlessly with conversational AI agents. Here are example commands:

Querying Individual Prices

"What's the price of Bitcoin?"
"Get me the current HBAR price"
"Show me ETH/USD price"
"How much is LINK worth?"
"What's DAI trading at?"
"Dame el precio del BTC"
"Cuánto vale Ethereum?"

Querying All Prices

"Show me all crypto prices"
"Get all available price feeds"
"What are the current prices?"
"List all cryptocurrency prices"
"Muestra todas las cotizaciones"

Technical Details

Supported Price Feeds

The plugin currently supports 7 Chainlink Price Feeds on Hedera Testnet:

| Pair | Contract Address (Hedera Testnet) | | ---------- | ------------------------------------------ | | BTC/USD | 0xf600dc7e996d555dc44ff7c21f329f4b21e29aa3 | | ETH/USD | 0x9e7557be8c25d4a498c42cd92b870c46a3e23ba2 | | HBAR/USD | 0xfad570b8b7d4e10ae7e75068c0043ba9e0e14fcc | | LINK/USD | 0xeb93a53c648e3e89bc0fc327d36a37619b1cf0cd | | USDC/USD | 0x0d0f7f9a8864e20f8147ba793b6f58a54e9f2c83 | | USDT/USD | 0x4a1298f88a6cc06e61b2cd8a3f7a40f3d6168b47 | | DAI/USD | 0xb7546c6ebfc0b6b4fe68909734d7e2c1c5a3ffdf |

RPC Endpoint

The plugin connects to Hedera Testnet via HashIO:

  • URL: https://testnet.hashio.io/api
  • Network: Hedera Testnet
  • Protocol: JSON-RPC (Ethereum-compatible)

Response Format

Individual Price Feed Response

{
  "success": true,
  "data": {
    "pair": "BTC/USD",
    "address": "0xf600dc7e996d555dc44ff7c21f329f4b21e29aa3",
    "price": "4350000000000",
    "formattedPrice": "$43500.00000000",
    "decimals": 8,
    "roundId": "18446744073709562931",
    "updatedAt": "2025-01-18T15:30:45.000Z"
  }
}

All Prices Response

{
  "success": true,
  "data": [
    {
      "pair": "BTC/USD",
      "address": "0xf600dc7e996d555dc44ff7c21f329f4b21e29aa3",
      "price": "4350000000000",
      "formattedPrice": "$43500.00000000",
      "decimals": 8,
      "roundId": "18446744073709562931",
      "updatedAt": "2025-01-18T15:30:45.000Z"
    },
    // ... more price feeds
  ],
  "timestamp": "2025-01-18T15:31:00.000Z"
}

Direct SDK Usage

You can also use the plugin tools directly without an AI agent:

import { Client } from "@hashgraph/sdk";
import { chainlinkPlugin } from "hedera-chainlink-plugin";

// Initialize Hedera client
const client = Client.forTestnet();

// Create context
const context = { mode: "AUTONOMOUS" };

// Get the tools from the plugin
const tools = chainlinkPlugin.tools(context);
const getPriceFeedTool = tools[0]; // GET_PRICE_FEED_TOOL

// Execute the tool
const result = await getPriceFeedTool.execute(client, context, { pair: "BTC/USD" });

console.log(result);

Error Handling

The plugin includes comprehensive error handling:

  • Invalid Pair: Returns list of available pairs
  • Network Errors: Catches RPC connection failures
  • Contract Errors: Handles smart contract call failures
  • Checksum Issues: Automatically normalizes addresses to lowercase

Example error response:

{
  "success": false,
  "error": "Price feed for XYZ/USD not found. Available pairs: BTC/USD, ETH/USD, HBAR/USD, LINK/USD, USDC/USD, USDT/USD, DAI/USD"
}

Architecture

The plugin follows the Hedera Agent Kit plugin architecture:

chainlink-plugin/
├── index.ts                          # Plugin definition and exports
├── tools/
│   └── price-feeds/
│       ├── get-price-feed.ts        # Individual price query tool
│       └── get-all-prices.ts        # All prices query tool
└── README.md                         # This file

Tool Structure

Each tool implements the standard Tool interface:

export interface Tool {
  method: string;                    // Unique tool identifier
  name: string;                      // Human-readable name
  description: string;               // Detailed prompt for AI agents
  parameters: z.ZodObject<any, any>; // Zod schema for validation
  execute: (client: Client, context: Context, params: any) => Promise<any>;
}

Dependencies

  • @hashgraph/sdk: Hedera SDK for client initialization
  • ethers: Ethereum library for smart contract interactions
  • zod: Schema validation for parameters

Contributing

To extend this plugin with additional price feeds or functionality:

  1. Add new contract addresses to the PRICE_FEEDS constant
  2. Create new tool files following the existing pattern
  3. Export new tools in index.ts
  4. Update this README with new functionality

Support

For issues or questions:

License

MIT License - see LICENSE file for details.

Acknowledgments

Built for the Hedera Agent Kit by LATAMBuilders. Powered by Chainlink's decentralized oracle network.