Available Tools
April 16, 2026 · View on GitHub
The Hedera Agent Kit provides a comprehensive set of tools organized into plugins by the type of Hedera service they
interact with. These tools can be used by an AI agent, like the ones in the examples/ folder, and enable a
user to interact with Hedera services using natural language.
Want additional Hedera tools? Open an issue.
Plugin Architecture
The tools are organized into plugins, each containing related functionality:
- Core Account Plugin: Tools for Hedera Account Service operations
- Core Account Query Plugin: Tools for querying Hedera Account Service related data
- Core Consensus Plugin: Tools for Hedera Consensus Service (HCS) operations
- Core Consensus Query Plugin: Tools for querying Hedera Consensus Service (HCS) related data
- Core Token Plugin: Tools for Hedera Token Service (HTS) operations
- Core Token Query Plugin: Tools for querying Hedera Token Service related data
- Core EVM Plugin: Tools for interacting with EVM smart contracts on Hedera (ERC-20 and ERC-721)
- Core EVM Query Plugin: Tools for querying smart contract-related data on Hedera
- Core Misc Query Plugin: Tools for fetching miscellaneous information from Hedera Mirror Node
- Core Transaction Query Plugin: Tools for handling Hedera transaction–related queries
See an example of how to create a plugin as well as how they can be used to build with using Langchain or using the Vercel AI SDK.
Plugins can be found in packages/core/src/plugins
Plugins and Available Tools
Core Account Plugin Tools (core-account-plugin)
This plugin provides tools for Hedera Account Service operations:
| Tool Name | Description | Details |
|---|---|---|
TRANSFER_HBAR_TOOL | Transfer HBAR between accounts | View Parameters & Examples |
APPROVE_HBAR_ALLOWANCE_TOOL | Approve an HBAR spending allowance | View Parameters & Examples |
DELETE_HBAR_ALLOWANCE_TOOL | Delete an HBAR allowance | View Parameters & Examples |
TRANSFER_HBAR_WITH_ALLOWANCE_TOOL | Transfer HBAR using an allowance | View Parameters & Examples |
CREATE_ACCOUNT_TOOL | Create a new Hedera account | View Parameters & Examples |
UPDATE_ACCOUNT_TOOL | Update an account's metadata | View Parameters & Examples |
DELETE_ACCOUNT_TOOL | Delete an account | View Parameters & Examples |
SIGN_SCHEDULE_TRANSACTION_TOOL | Sign a scheduled transaction | View Parameters & Examples |
SCHEDULE_DELETE_TOOL | Delete a scheduled transaction | View Parameters & Examples |
Core Account Query Plugin Tools (core-account-query-plugin)
This plugin provides tools for fetching Account Service (HAS) related information from Hedera Mirror Node.
| Tool Name | Description | Details |
|---|---|---|
GET_ACCOUNT_QUERY_TOOL | Returns comprehensive account information | View Parameters & Examples |
GET_HBAR_BALANCE_QUERY_TOOL | Returns the HBAR balance for a given account | View Parameters & Examples |
GET_ACCOUNT_TOKEN_BALANCES_QUERY_TOOL | Returns token balances for a Hedera account | View Parameters & Examples |
Core Consensus Plugin Tools (core-consensus-plugin)
A plugin for Consensus Service (HCS), enabling creation and posting to topics.
| Tool Name | Description | Details |
|---|---|---|
CREATE_TOPIC_TOOL | Create a new topic on the Hedera network | View Parameters & Examples |
SUBMIT_TOPIC_MESSAGE_TOOL | Submit a message to a topic | View Parameters & Examples |
DELETE_TOPIC_TOOL | Delete a topic on the Hedera network | View Parameters & Examples |
UPDATE_TOPIC_TOOL | Update a topic on the Hedera network | View Parameters & Examples |
Core Consensus Query Plugin Tools (core-consensus-query-plugin)
This plugin provides tools for fetching Consensus Service (HCS) related information from Hedera Mirror Node.
| Tool Name | Description | Details |
|---|---|---|
GET_TOPIC_INFO_QUERY_TOOL | Returns information for a given HCS topic | View Parameters & Examples |
GET_TOPIC_MESSAGES_QUERY_TOOL | Returns messages for a given HCS topic | View Parameters & Examples |
Core Token Plugin Tools (core-token-plugin)
A plugin for the Hedera Token Service (HTS), enabling creation and management of fungible and non-fungible tokens.
Core Token Query Plugin Tools (core-token-query-plugin)
This plugin provides tools for fetching Token Service (HTS) related information from Hedera Mirror Node.
| Tool Name | Description | Details |
|---|---|---|
GET_TOKEN_INFO_QUERY_TOOL | Returns details of a given token (HTS) | View Parameters & Examples |
GET_PENDING_AIRDROP_TOOL | Returns pending airdrops for a Hedera account | View Parameters & Examples |
Core EVM Plugin Tools (core-evm-plugin)
This plugin provides tools for interacting with EVM smart contracts on Hedera, including creating and managing ERC-20 and ERC-721 tokens via on-chain factory contracts and standard function calls.
| Tool Name | Description | Details |
|---|---|---|
CREATE_ERC20_TOOL | Deploys a new ERC-20 token via the BaseERC20Factory | View Parameters & Examples |
TRANSFER_ERC20_TOOL | Transfers an ERC-20 token | View Parameters & Examples |
CREATE_ERC721_TOOL | Deploys a new ERC-721 token via the BaseERC721Factory | View Parameters & Examples |
MINT_ERC721_TOOL | Mints a new ERC-721 token | View Parameters & Examples |
TRANSFER_ERC721_TOOL | Transfers an ERC-721 token | View Parameters & Examples |
Core EVM Query Plugin Tools (core-evm-query-plugin)
This plugin provides tools for fetching EVM smart contract-related information from Hedera Mirror Node.
| Tool Name | Description | Details |
|---|---|---|
GET_CONTRACT_INFO_QUERY_TOOL | Returns details of a given smart contract | View Parameters & Examples |
Core Transaction Query Plugin Tools (core-transactions-query-plugin)
Tools for transaction-related queries on Hedera.
| Tool Name | Description | Details |
|---|---|---|
GET_TRANSACTION_RECORD_QUERY_TOOL | Returns details for a given transaction id | View Parameters & Examples |
Core Misc Query Plugin Tools (core-misc-query-plugin)
This plugin provides tools for fetching miscellaneous information from the Hedera Mirror Node.
| Tool Name | Description | Details |
|---|---|---|
GET_EXCHANGE_RATE_TOOL | Returns the Hedera network HBAR exchange rate | View Parameters & Examples |
Scheduled Transactions
Scheduled transactions are not separate tools — they use the same tools you already know (for example,
UPDATE_ACCOUNT_TOOL, TRANSFER_HBAR_TOOL, etc.), but with additional optional parameters passed in a
schedulingParams object.
From the user's perspective, scheduling simply means asking to execute a transaction later, or once all signatures are collected, instead of immediately.
If schedulingParams.isScheduled is false or omitted, all other scheduling parameters are ignored.
Supported Tools
The following tools support scheduling:
TRANSFER_HBAR_TOOLCREATE_ACCOUNT_TOOLUPDATE_ACCOUNT_TOOLCREATE_FUNGIBLE_TOKEN_TOOLCREATE_NON_FUNGIBLE_TOKEN_TOOLMINT_FUNGIBLE_TOKEN_TOOLMINT_NON_FUNGIBLE_TOKEN_TOOLTRANSFER_FUNGIBLE_TOKEN_WITH_ALLOWANCE_TOOLTRANSFER_HBAR_WITH_ALLOWANCE_TOOLTRANSFER_NON_FUNGIBLE_TOKEN_TOOLSUBMIT_TOPIC_MESSAGE_TOOLCREATE_ERC20_TOOLTRANSFER_ERC20_TOOLCREATE_ERC721_TOOLMINT_ERC721_TOOLTRANSFER_ERC721_TOOL
Scheduling Parameters
The following schedulingParams object is accepted by all supported tools.
| Parameter | Type | Default | Description |
|---|---|---|---|
schedulingParams.isScheduled | boolean | false | If true, the transaction will be created as a scheduled transaction. |
schedulingParams.adminKey | boolean | string | false | Admin key that can delete or modify the scheduled transaction. Pass true to use operator key. |
schedulingParams.payerAccountId | string | (operator account) | Account that will pay the transaction fee when executed. |
schedulingParams.expirationTime | string (ISO 8601) | — | Time when the scheduled transaction will expire if not fully signed. |
schedulingParams.waitForExpiry | boolean | false | If true, execute at expiration time even if not all signatures are collected. Requires expirationTime to be set. |
Prompting Best Practices
Important
Be explicit about scheduling. The Agent will only schedule a transaction if it clearly detects the intent to strictly schedule it.
To ensure the LLM correctly extracts scheduling parameters:
- Explicitly state "Schedule this transaction".
- Provide exact expiration dates. Avoid relative terms like "tomorrow" or "in 2 days" if you want precision. The LLM will attempt to transform explicit dates into valid ISO 8601 timestamps.
- Specify "wait for expiration" if you want the transaction to execute specifically at the expiration time.
Correct Examples
- "Schedule a transfer of 1 HBAR to 0.0.1234. Make it expire on 2026-02-01 at 10:00:00 UTC and wait for expiration."
- "Schedule account creation with admin key set to my operator key."
Incorrect Examples (May be ambiguous)
- "Create an account later." (Too vague)
- "Transfer 1 HBAR tomorrow." (May be interpreted as a request to wait and run the tool tomorrow, rather than creating a scheduled transaction now)
Using Hedera Plugins
Take a look at the example tool-calling-agent.ts for a complete example of how to use the Hedera plugins.
First, you will need to import the core plugins from the /plugins subpath, which contain all the tools you may want to use such as coreAccountPlugin.
Shortcut: to register every built-in plugin in one go, import
allCorePluginsfrom@hashgraph/hedera-agent-kit/pluginsand pass it asplugins. The example below uses individual plugin imports so you can see the per-plugin granularity.
You also have the option to pick and choose which tools from a Hedera plugin you want to enable. If you choose to do this, only the tools specified will be usable.
import { AgentMode } from '@hashgraph/hedera-agent-kit';
import {
coreAccountPlugin,
coreAccountQueryPlugin,
coreConsensusPlugin,
coreConsensusQueryPlugin,
coreTokenPlugin,
coreTokenQueryPlugin,
coreEVMPlugin,
coreEVMQueryPlugin,
coreMiscQueriesPlugin,
coreTransactionQueryPlugin,
} from '@hashgraph/hedera-agent-kit/plugins';
import { HederaLangchainToolkit } from '@hashgraph/hedera-agent-kit-langchain';
You will instantiate the HederaAgentToolkit with your chosen framework, defining the tools and plugins you want to use:
const hederaAgentToolkit = new HederaLangchainToolkit({
client,
configuration: {
tools: [
CREATE_FUNGIBLE_TOKEN_TOOL,
MINT_FUNGIBLE_TOKEN_TOOL,
TRANSFER_HBAR_TOOL,
GET_ACCOUNT_QUERY_TOOL,
// etc.
], // use an empty array if you want to load all tools from the plugins
context: {
mode: AgentMode.AUTONOMOUS,
},
plugins: [
coreAccountPlugin,
coreAccountQueryPlugin,
coreConsensusPlugin,
coreConsensusQueryPlugin,
coreTokenPlugin,
coreTokenQueryPlugin,
coreEVMPlugin,
coreEVMQueryPlugin,
coreMiscQueriesPlugin,
coreTransactionQueryPlugin,
],
},
});