Skip to main content

Summary

The Hedera Agent Kit provides a comprehensive set of tools organized into plugins, which extend the functionality of the Hedera Agent Kit SDK. These tools can be used both by the conversational agent and when you are building with the SDK. See the full plugin documentation: HEDERAPLUGINS.md

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 data
  • core_consensus_plugin: Tools for Hedera Consensus Service (HCS) operations
  • core_consensus_query_plugin: Tools for querying HCS data
  • core_token_plugin: Tools for Hedera Token Service (HTS) operations
  • core_token_query_plugin: Tools for querying HTS data
  • core_evm_plugin: Tools for interacting with EVM smart contracts (ERC-20, ERC-721)
  • core_misc_query_plugin: Tools for miscellaneous queries
  • core_transaction_query_plugin: Tools for transaction-related queries

Available Plugins and Tools

Core Account Plugin (core_account_plugin)

Tools for Hedera Account Service operations:
Tool NameDescription
TRANSFER_HBAR_TOOLTransfer HBAR between accounts
APPROVE_HBAR_ALLOWANCE_TOOLApprove an HBAR spending allowance
DELETE_HBAR_ALLOWANCE_TOOLDelete an HBAR allowance
TRANSFER_HBAR_WITH_ALLOWANCE_TOOLTransfer HBAR using an allowance
CREATE_ACCOUNT_TOOLCreate a new Hedera account
UPDATE_ACCOUNT_TOOLUpdate an account’s metadata
DELETE_ACCOUNT_TOOLDelete an account
SCHEDULE_DELETE_TOOLDelete a scheduled transaction
APPROVE_FUNGIBLE_TOKEN_ALLOWANCE_TOOLApprove token spending allowances
APPROVE_NFT_ALLOWANCE_TOOLApprove NFT allowances

Core Account Query Plugin (core_account_query_plugin)

Tools for querying Account Service data:
Tool NameDescription
GET_ACCOUNT_QUERY_TOOLReturns comprehensive account information
GET_HBAR_BALANCE_QUERY_TOOLReturns the HBAR balance for an account
GET_ACCOUNT_TOKEN_BALANCES_QUERY_TOOLReturns token balances for an account

Core Consensus Plugin (core_consensus_plugin)

Tools for Consensus Service (HCS) operations:
Tool NameDescription
CREATE_TOPIC_TOOLCreate a new topic
SUBMIT_TOPIC_MESSAGE_TOOLSubmit a message to a topic
DELETE_TOPIC_TOOLDelete a topic
UPDATE_TOPIC_TOOLUpdate a topic

Core Token Plugin (core_token_plugin)

Tools for Token Service (HTS) operations:
Tool NameDescription
CREATE_FUNGIBLE_TOKEN_TOOLCreates a fungible token
CREATE_NON_FUNGIBLE_TOKEN_TOOLCreates an NFT collection
MINT_FUNGIBLE_TOKEN_TOOLMints additional fungible tokens
MINT_NON_FUNGIBLE_TOKEN_TOOLMints NFTs with metadata
ASSOCIATE_TOKEN_TOOLAssociates tokens with an account
DISSOCIATE_TOKEN_TOOLDissociates tokens from an account
AIRDROP_FUNGIBLE_TOKEN_TOOLAirdrops tokens to recipients
TRANSFER_FUNGIBLE_TOKEN_WITH_ALLOWANCE_TOOLTransfers tokens using allowance

Core EVM Plugin (core_evm_plugin)

Tools for EVM smart contract operations:
Tool NameDescription
CREATE_ERC20_TOOLDeploys an ERC-20 token
TRANSFER_ERC20_TOOLTransfers an ERC-20 token
CREATE_ERC721_TOOLDeploys an ERC-721 token
MINT_ERC721_TOOLMints an ERC-721 token
TRANSFER_ERC721_TOOLTransfers an ERC-721 token

Using Hedera Plugins in Python

First, import the plugins you need:
from hedera_agent_kit.plugins import (
    core_account_plugin,
    core_account_query_plugin,
    core_consensus_plugin,
    core_token_plugin,
    core_evm_plugin,
)
from hedera_agent_kit.shared.configuration import AgentMode, Context, Configuration
Then instantiate the toolkit with your configuration:
from hedera_agent_kit.langchain.toolkit import HederaLangchainToolkit

configuration = Configuration(
    tools=[],  # Empty = load all tools from plugins
    context=Context(
        mode=AgentMode.AUTONOMOUS,
        account_id=str(operator_id),
    ),
    plugins=[
        core_account_plugin,
        core_account_query_plugin,
        core_consensus_plugin,
        core_token_plugin,
        core_evm_plugin,
    ],
)

hedera_toolkit = HederaLangchainToolkit(
    client=client,
    configuration=configuration,
)

# Get the tools for use with LangChain
tools = hedera_toolkit.get_tools()

Agent Modes

The Python SDK currently supports one agent mode:
ModeDescription
AgentMode.AUTONOMOUSThe agent executes transactions directly on the Hedera network
Coming Soon: AgentMode.RETURN_BYTES - In this mode, the agent creates the transaction and returns the bytes for the user to execute.

Resources