{"id":15741,"date":"2023-06-23T01:00:00","date_gmt":"2023-06-23T01:00:00","guid":{"rendered":"https:\/\/hederav2stg.wpenginepowered.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/"},"modified":"2026-02-03T17:23:27","modified_gmt":"2026-02-03T22:23:27","slug":"how-to-create-chatgpt-plugins-unlock-ai-and-blockchain","status":"publish","type":"post","link":"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/","title":{"rendered":"How to Create ChatGPT Plugins &#8211; Unlock the Power of AI and Blockchain"},"content":{"rendered":"<div class=\"body-text BodyCopy mb-40 style-1\">\n<p><em>Starting January 2026, the price for the ConsensusSubmitMessage transaction will increase from $0.0001 to $0.0008 USD. This change will take effect with the v0.69 mainnet release and applies only to ConsensusSubmitMessage transactions. This update improves the long-term economic sustainability of the Hedera network, while preserving predictable and USD-fixed pricing for developers. For more information, visit <a href=\"https:\/\/www.google.com\/url?q=https:\/\/hedera.com\/blog\/price-update-to-consensussubmitmessage-in-consensus-service-january-2026&amp;sa=D&amp;source=docs&amp;ust=1760457444534636&amp;usg=AOvVaw2bLReuvPN8Rl9NVjgwTTf2\">https:\/\/hedera.com\/blog\/price-update-to-consensussubmitmessage-in-consensus-service-january-2026<\/a>.<\/em><\/p>\n<h4 class=\"color-ultraviolet\">Goals<\/h4>\n<p>By reading this article, you will learn:<\/p>\n<ul>\n<li>The benefits of using AI and blockchain together<\/li>\n<li>What ChatGPT and Hedera are<\/li>\n<li>How to create a ChatGPT plugin that interacts with Hedera<\/li>\n<li>How to use the plugin to get HBAR and token balances for Hedera accounts<\/li>\n<\/ul>\n<h4 class=\"color-ultraviolet\">Tools You Will Use<\/h4>\n<ul>\n<li>Replit (<a href=\"https:\/\/replit.com\/\" target=\"_blank\">Website<\/a>)<\/li>\n<li>Python with Flask and Waitress (<a href=\"https:\/\/www.python.org\/doc\/\" target=\"_blank\">Documentation<\/a>)<\/li>\n<li>ChatGPT (<a href=\"https:\/\/openai.com\/blog\/chatgpt\" target=\"_blank\">Website<\/a>)<\/li>\n<li>OpenAI API (<a href=\"https:\/\/platform.openai.com\/docs\/plugins\/introduction\" target=\"_blank\">Documentation<\/a>)<\/li>\n<li>Hedera Mirror Node REST API (<a href=\"https:\/\/docs.hedera.com\/hedera\/sdks-and-apis\/rest-api\" target=\"_blank\">Documentation<\/a>)<\/li>\n<li>Hedera Network Explorer (<a href=\"https:\/\/hashscan.io\/mainnet\/dashboard\" target=\"_blank\">HashScan<\/a>)<\/li>\n<\/ul>\n<h4 class=\"color-ultraviolet\">Try it Yourself<\/h4>\n<ul>\n<li>Try the example quickly by <strong><u>forking<\/u><\/strong><br \/>\n<a href=\"https:\/\/replit.com\/@ed-marquez\/hedera-plugin-chatgpt?v=1\" target=\"_blank\">this Repl<\/a><\/li>\n<li>Get the <a href=\"https:\/\/github.com\/ed-marquez\/hedera-plugin-chatgpt\" target=\"_blank\">example code from GitHub<\/a><\/li>\n<\/ul>\n<h4 class=\"color-ultraviolet\">Artificial Intelligence (AI) and Blockchain<\/h4>\n<p>AI and blockchain are two technological trends that have captured everyone\u2019s attention \u2013 but what are these trends all about? AI is about autonomous systems that can learn, make decisions, and adapt. Blockchain is a secure and immutable way to record transactions or digital interactions. The learning aspect of AI, coupled with blockchain&#8217;s immutable nature, introduces a revolutionary change in how data can be processed and utilized.<\/p>\n<p>The intersection of AI and blockchain will most likely impact various sectors. For instance, in healthcare, AI can analyze securely stored patient records for personalized treatment, while blockchain ensures the integrity of the data. In finance, smart contracts combined with AI-driven decision-making can automate processes, from simple transactions to complex investments. In supply chain management, AI can optimize routes and reduce costs while blockchain provides data transparency, traceability, and immutability. These are a few examples of systems that will have the ability to not only solve increasingly complex problems but to adapt and improve continually as the AI interacts with and learns from securely stored data. This combination of technologies unlocks opportunities for smarter, more efficient solutions across countless industries.<\/p>\n<h4 class=\"color-ultraviolet\">Understanding ChatGPT and Hedera<\/h4>\n<p>ChatGPT needs no introduction, but here it is: It\u2019s a conversational AI tool capable of understanding and responding to text inputs in a human-like manner. Plugins enhance its functionality even further. They act as add-ons, equipping ChatGPT with extra capabilities like specialized knowledge or specific task performance. This makes ChatGPT adaptable to a wide array of unique needs and applications. For example, a plugin could enable ChatGPT to convert currencies in real-time, integrate with a calendar system to manage appointments, or retrieve and process data from a blockchain. In this article, you will create a plugin that interacts with the Hedera network.<\/p>\n<p>Hedera is a decentralized, open-source, proof-of-stake, EVM-compatible public ledger. For simplicity, you can call it a blockchain. Hedera uses a leaderless consensus algorithm, which gives the network the highest degree of security and performance mathematically possible. In addition, the network is governed by a collusion-resistant, decentralized council of leading enterprises, universities, and web3 projects from around the world. This council includes organizations like Google, Boeing, IBM, Ubisoft, Dell Technologies, London School of Economics and more.<\/p>\n<figure><iframe height=\"500px\" src=\"https:\/\/hedera.com\/\" width=\"100%\"><\/iframe><\/figure>\n<p>The decentralized network offers services (with APIs) and tooling that facilitate development of web 3 components and applications. More specifically, the main services are: <\/p>\n<ul>\n<li><strong>Hedera Consensus Service (HCS)<\/strong>: Verifiable timestamping and ordering of events for any software application<\/li>\n<li><strong>Hedera Token Service (HTS)<\/strong>: Create, mint, and manage native fungible and non-fungible tokens (NFT) with or without smart contracts<\/li>\n<li><strong>Smart Contract Service<\/strong>: Build and deploy Solidity smart contracts. EVM-compatible<\/li>\n<\/ul>\n<p>In terms of Hedera\u2019s value and uniqueness, this cutting-edge technology and well-governed network enables you to meet and exceed technical requirements with your software implementations in the areas of performance, cost, security, reliability, and sustainability. The Hedera services enable you to create new use cases for your business or project that integrate with many of the development languages and frameworks you are already familiar with &#8211; whether you come from traditional web development or from the Web3 development world.<\/p>\n<p>Now that you know about ChatGPT and Hedera, let\u2019s start building! Here\u2019s a preview of the end result:<\/p>\n<\/div>\n<figure class=\"blog-image mb-40\"><img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/1-SAMPLE-RESULT.png\" alt=\"\"\/><\/figure>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<h4 class=\"color-ultraviolet\">How to Create a ChatGPT Plugin: A Step-by-Step Guide<\/h4>\n<p>We want to enable ChatGPT to obtain the HBAR (\u210f) and token balances of a Hedera account. Now, what does that mean?<\/p>\n<p>Accounts are the central starting point when interacting with the Hedera network and using its services. An account is an entity stored in the ledger that holds tokens. Accounts can hold the native network token (HBAR), fungible tokens, and NFTs created on Hedera. Account balances can be viewed on a <a href=\"https:\/\/docs.hedera.com\/hedera\/networks\/community-mirror-nodes\">Network Explorer<\/a> and obtained programmatically using the <a href=\"https:\/\/docs.hedera.com\/hedera\/sdks-and-apis\/rest-api\">mirror node REST API<\/a> &#8211; the plugin will use this REST API. Keep in mind that the network returns HBAR information in tinybars (t\u210f), where 100,000,000 t\u210f are equivalent to 1 \u210f.<\/p>\n<p>Let\u2019s use <a href=\"https:\/\/replit.com\/\">Replit<\/a>\u00a0as the integrated development environment (IDE). Replit helps keep the setup simple as it is an online IDE and code collaboration tool. Log in and create a new Repl with a Python template as shown in the GIF below.<\/p>\n<figure><img decoding=\"async\" alt=\"Description of the image\" data-image=\"zj1zzjtq4aas\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2023\/06\/1_REPLIT_GIF.gif\"\/><\/figure>\n<\/p>\n<h4 class=\"color-ultraviolet\"><strong>1. Making an API: Adding Your Own Functions for the Plugin<\/strong><\/h4>\n<p>Add the Python code below in the <strong><em>main.py<\/em><\/strong> file. This code uses Flask and Waitress in Python to create and serve the API with your functionality. The central piece of the code that contains the custom functionality is the <strong><em>HederaPlugin<\/em><\/strong> class, which defines methods to interact with Hedera&#8217;s mirror node REST API. The plugin is initialized with the base URL of the Hedera mainnet public mirror node.<\/p>\n<p>The methods\u00a0<strong><em>get_hbar_balance<\/em><\/strong>\u00a0and <strong><em>get_token_balance\u00a0<\/em><\/strong>in the <strong><em>HederaPlugin<\/em><\/strong><br \/>\nclass fetch the balances of a specific Hedera account ID. These functions construct the URL for the REST API request, call the method\u00a0<strong><em>query_mirror_node_for<\/em><\/strong>\u00a0using that URL\u00a0to obtain the relevant balance and token\u00a0information from the Hedera mirror nodes,\u00a0and then parse the JSON response. The functions return the balance data or <strong><em>None<\/em><\/strong> if the account or token can&#8217;t be found.<\/p>\n<p>Flask and Waitress are used for the server setup. Flask is a web framework for Python and it\u2019s used to define four API routes. The <strong><em>\/get_hbar_balance<\/em><\/strong>\u00a0and <strong><em>\/get_token_balance\u00a0<\/em><\/strong>routes use the <strong><em>HederaPlugin<\/em><\/strong> class to retrieve HBAR and token balances. The <strong><em>\/.well-known\/ai-plugin.json<\/em><\/strong> and <strong>\/<\/strong><strong><em>openapi.yaml<\/em><\/strong><br \/>\nroutes serve the AI plugin manifest and OpenAPI specification from the root directory of the application. Notice that the <strong><em>.\/well-known<\/em><\/strong> is a requirement for the manifest mentioned in the <a href=\"https:\/\/platform.openai.com\/docs\/plugins\/getting-started\/plugin-manifest\" target=\"_blank\">OpenAI documentation<\/a>. <\/p>\n<p>Waitress is used to serve the Flask application. The server is set to run on host 0.0.0.0 and listens on port 5000. Using Serving the application with Waitress ensures that the plugin can handle user traffic.<\/p>\n<\/div>\n<div class=\"hedera-code-window\" style=\"background-image:url('https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg');padding:24px;border-radius:8px;margin:24px 0;\">\n<p>  <!-- Hidden image so WP All Import downloads this background image into Media Library --><br \/>\n  <img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg\" alt=\"code window background\" style=\"display:none;\" \/><\/p>\n<div class=\"code-window-header\">\n<div class=\"code-window-title\"><\/div>\n<div class=\"code-window-body\"><\/div>\n<\/p><\/div>\n<pre><code class=\"language-javascript\">from waitress import serve\nfrom flask import Flask, jsonify, request, send_from_directory\nimport requests\n\n\nclass HederaPlugin:\n\n  # Define the constructor for the class\n  def __init__(self, base_url):\n    # Initialize the base_url attribute\n    self.base_url = base_url\n\n  # Define methods to get the account balance\n  def get_hbar_balance(self, account_id):\n    # Define the endpoint for the balance API\n    endpoint = \"\/balances\"\n\n    # Construct the full URL for the API request\n    url = f\"{self.base_url}{endpoint}?account.id={account_id}\"\n\n    balance_info = self.query_mirror_node_for(url)\n\n    if balance_info is not None:\n      # Iterate over the 'balances' in the response data\n      for item in balance_info.get('balances', []):\n\n        # Check if the account ID matches the requested account\n        if item['account'] == account_id:\n\n          # Calculate the HBAR balance and return it\n          hBalance = float(item['balance']) * 1E-8\n          return hBalance\n\n    # Return None if the account or was not found\n    return None\n\n  def get_token_balance(self, account_id, token_id):\n    # Define the endpoint for the balance API\n    endpoint = \"\/balances\"\n\n    # Construct the full URL for the API request\n    url = f\"{self.base_url}{endpoint}?account.id={account_id}\"\n\n    balance_info = self.query_mirror_node_for(url)\n\n    if balance_info is not None:\n\n      # Iterate over the 'balances' in the response data\n      for item in balance_info.get('balances', []):\n\n        # Check if the account ID matches the requested account\n        if item['account'] == account_id:\n\n          # Iterate over the 'tokens' in the item\n          for token in item.get('tokens', []):\n\n            # Check if the token ID matches the requested token\n            if token['token_id'] == token_id:\n\n              # Define the endpoint for the token info API\n              endpoint2 = \"\/tokens\"\n              # Construct the full URL for the token info API request\n              url2 = f\"{self.base_url}{endpoint2}\/{token_id}\"\n\n              tokenInfo = self.query_mirror_node_for(url2)\n\n              if tokenInfo is not None:\n\n                # Get the number of decimals for the token\n                decimals = float(tokenInfo['decimals'])\n\n                # Calculate the token balance and return it\n                tBalance = float(token['balance']) \/ (10**decimals)\n\n                return tBalance\n\n      # Return None if the query is wrong or if the account or token was not found\n      return None\n\n  def query_mirror_node_for(self, url):\n    # Make a GET request to the mirror node REST API\n    info = requests.get(url)\n    # Check if the response status code is 200 (OK)\n    if info.status_code == 200:\n      # Parse the token info JSON response data\n      info_data = info.json()\n      return info_data\n    else:\n      # Return None if mirror node query is wrong or unsuccessful\n      return None\n\n\n# Initialize the plugin with the mainnet base URL\nplugin = HederaPlugin(\"https:\/\/mainnet-public.mirrornode.hedera.com\/api\/v1\")\n\n# Create the Flask web server\napp = Flask(__name__)\n\n\n@app.route('\/get_hbar_balance', methods=['GET'])\ndef get_hbar_balance():\n  # Use query parameter 'account_id' to specify the account ID\n  account_id = request.args.get('account_id', '')\n  hbar_balance = plugin.get_hbar_balance(account_id)\n  if hbar_balance is not None:\n    return jsonify({'account_id': account_id, 'hbar_balance': hbar_balance})\n  else:\n    return jsonify({\n      'error':\n      'Could not get the HBAR balance for this account. Some possible reasons: The account ID may be incorrect or the mirror query was unsuccessful.'\n    }), 404\n\n\n@app.route('\/get_token_balance', methods=['GET'])\ndef get_token_balance():\n  # Use query parameter 'account_id' to specify the account ID\n  account_id = request.args.get('account_id', '')\n  token_id = request.args.get('token_id', '')\n  token_balance = plugin.get_token_balance(account_id, token_id)\n  if token_balance is not None:\n    return jsonify({'account_id': account_id, 'token_balance': token_balance})\n  else:\n    return jsonify({\n      'error':\n      'Could not get the token balance for this account. Some possible reasons: The account and token ID may not be associated, the entity IDs may be incorrect, or the mirror query was unsuccessful.'\n    }), 404\n\n\n@app.route(\"\/.well-known\/ai-plugin.json\", methods=['GET'])\ndef serve_ai_plugin():\n  return send_from_directory(app.root_path,\n                             'ai-plugin.json',\n                             mimetype='application\/json')\n\n\n@app.route(\"\/openapi.yaml\", methods=['GET'])\ndef serve_openapi_yaml():\n  return send_from_directory(app.root_path,\n                             'openapi.yaml',\n                             mimetype='text\/yaml')\n\n\nif __name__ == \"__main__\":\n  serve(app, host=\"0.0.0.0\", port=5000)\n\n<\/code><\/pre>\n<\/div>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<p>Now run your Python application and note down the URL shown in the navigation bar of the Webview.<\/p>\n<figure><img decoding=\"async\" alt=\"Description of the image\" data-image=\"zj1zzjtq4aas\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2023\/06\/1P2_RUN_PYTHON.gif\"\/><\/figure>\n<\/p>\n<h4 class=\"color-ultraviolet\"><strong>2. Documenting the API: Keeping Things Organized with OpenAPI yaml<\/strong><\/h4>\n<p>Now it\u2019s time to document and organize your custom functionality by adding the file <strong><em>openapi.yaml<\/em><\/strong> to your directory. The OpenAPI yaml file is a language-agnostic way to describe your API, including the various endpoints and the input and output for each operation. The yaml file follows the OpenAPI specification. This specification is extensive and highly detailed, so be sure to check the <a href=\"https:\/\/platform.openai.com\/docs\/plugins\/getting-started\/openapi-definition\" target=\"_blank\">official OpenAPI documentation<\/a> if you need more information.<\/p>\n<p>For this file, the OpenAPI version is specified at the beginning. This is followed by an info section that provides general information about the API, including its title, description, and version. The servers section indicates the base URL for the API \u2013 this is the\u00a0URL that was\u00a0generated and noted\u00a0after running <strong><em>main.py<\/em><\/strong>.<\/p>\n<p>The paths section is where the real action happens. It details the available API endpoints and the operations they support. In this case, there are two\u00a0paths:\u00a0<strong><em>\/get_hbar_balance<\/em><\/strong> and\u00a0<strong><em>\/get_token_balance<\/em><\/strong>.<strong><em>\u00a0<\/em><\/strong>Both of these paths\u00a0support a GET operation. An operationId is used\u00a0for easy referencing (<em><strong>getHbarBalance<\/strong><\/em> and\u00a0<em><strong>getTokenBalance<\/strong><\/em>). The <em><strong>getHbarBalance<\/strong><\/em> takes a single query parameter,\u00a0<strong><em>account_id<\/em><\/strong>.\u00a0Note that\u00a0the <strong><em>getTokenBalance<\/em><\/strong> operation accepts two query parameters: <strong><em>account_id\u00a0<\/em><\/strong>and <strong><em>token_id<\/em><\/strong>. For each parameter, the yaml file specifies where it&#8217;s located (in), its name (name), its data type (schema), and a brief description (description). The responses section lists possible HTTP status codes and the schema of the response body. In this case, the response returns the Hedera account ID as a string and the corresponding balance as a number for both operations.<\/p>\n<\/div>\n<div class=\"hedera-code-window\" style=\"background-image:url('https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg');padding:24px;border-radius:8px;margin:24px 0;\">\n<p>  <!-- Hidden image so WP All Import downloads this background image into Media Library --><br \/>\n  <img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg\" alt=\"code window background\" style=\"display:none;\" \/><\/p>\n<div class=\"code-window-header\">\n<div class=\"code-window-title\"><\/div>\n<div class=\"code-window-body\"><\/div>\n<\/p><\/div>\n<pre><code class=\"language-javascript\">openapi: 3.0.1\ninfo:\n  title: Hedera Account Balance\n  description: Get the HBAR and token balance of a Hedera account.\n  version: 'v2'\nservers:\n  - url: https:\/\/hedera-account-balance-plugin.replit.app\npaths:\n  \/get_hbar_balance:\n    get:\n      operationId: getHbarBalance\n      summary: Get the HBAR balance of a specific Hedera account\n      parameters:\n        - in: query\n          name: account_id\n          schema:\n            type: string\n          description: The ID of the Hedera account\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application\/json:\n              schema:\n                $ref: '#\/components\/schemas\/getAccountBalanceResponse'\n  \/get_token_balance:\n    get:\n      operationId: getTokenBalance\n      summary: Get the token balance of a specific Hedera account\n      parameters:\n        - in: query\n          name: account_id\n          schema:\n            type: string\n          description: The ID of the Hedera account\n        - in: query\n          name: token_id\n          schema:\n            type: string\n          description: The token ID of the HTS Token\n      responses:\n        \"200\":\n          description: OK\n          content:\n            application\/json:\n              schema:\n                $ref: '#\/components\/schemas\/getAccountBalanceResponse'\ncomponents:\n  schemas:\n    getAccountBalanceResponse:\n      type: object\n      properties:\n        account:\n          type: string\n          description: The ID of the Hedera account.\n        balance:\n          type: number\n          description: The balance of the Hedera account.\n<\/code><\/pre>\n<\/div>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<h4 class=\"color-ultraviolet\"><strong>3. Adding a JSON Manifest File: Describing What Your Plugin Does<\/strong><\/h4>\n<p>The JSON manifest file is like a directory for your plugin. It provides essential details about the plugin, both for human users and AI models, like ChatGPT. It acts as a guide for ChatGPT to understand the functionality of the plugin and how to interact with it, while also providing human users with clear and concise information about what the plugin does and how it can be used. <\/p>\n<p>In our manifest file, key details include both a <strong><em>name_for_human<\/em><\/strong><br \/>\nand <strong><em>name_for_model<\/em><\/strong> fields. The <strong><em>description_for_human<\/em><\/strong><br \/>\nand <strong><em>description_for_model<\/em><\/strong> also provide explanations about the plugin&#8217;s functionality for both audiences. The <strong><em>auth<\/em><\/strong> field indicates the type of authentication required to access the API, in this case, no authentication is needed. The <strong><em>api<\/em><\/strong> section specifies the <strong><em>type<\/em><\/strong><br \/>\nof API (OpenAPI) and the <strong><em>url<\/em><\/strong> to access its specification \u2013 this URL should be the base URL from running main.py plus the <strong><em>openapi.yaml<\/em><\/strong><br \/>\nfile. Other fields include a <strong><em>logo_url<\/em><\/strong> for an image that represents the plugin, <strong><em>contact_email<\/em><\/strong> for support or queries, and <strong><em>legal_info_url<\/em><\/strong><br \/>\nthat directs to the plugin&#8217;s legal information page.<\/p>\n<p>Every field in this manifest file helps make the plugin more understandable and easier to use for both humans and AI models, and it&#8217;s an important piece to make your plugin as user-friendly as possible. For more information about the manifest, check out the <a href=\"https:\/\/platform.openai.com\/docs\/plugins\/getting-started\/plugin-manifest\" target=\"_blank\">OpenAI documentation<\/a>.<\/p>\n<\/div>\n<div class=\"hedera-code-window\" style=\"background-image:url('https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg');padding:24px;border-radius:8px;margin:24px 0;\">\n<p>  <!-- Hidden image so WP All Import downloads this background image into Media Library --><br \/>\n  <img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg\" alt=\"code window background\" style=\"display:none;\" \/><\/p>\n<div class=\"code-window-header\">\n<div class=\"code-window-title\"><\/div>\n<div class=\"code-window-body\"><\/div>\n<\/p><\/div>\n<pre><code class=\"language-javascript\">{\n    \"schema_version\": \"v1\",\n    \"name_for_human\": \"Hedera Account Balance\",\n    \"name_for_model\": \"HederaAccountBalance\",\n    \"description_for_human\": \"Gets the HBAR and token balance of a Hedera account.\",\n    \"description_for_model\": \"Helps the user to fetch the balance of a Hedera account. The user can provide the account ID and token ID (optional) and the model will make a request to the Hedera mirror node REST API.\",\n    \"auth\": {\n        \"type\": \"none\"\n    },\n    \"api\": {\n        \"type\": \"openapi\",\n        \"url\": \"https:\/\/hedera-account-balance-plugin.replit.app\/openapi.yaml\"\n    },\n    \"logo_url\": \"https:\/\/s2.coinmarketcap.com\/static\/img\/coins\/64x64\/4642.png\",\n    \"contact_email\": \"DevRel@swirldslabs.com\",\n    \"legal_info_url\": \"https:\/\/hedera.com\/terms\"\n}\n<\/code><\/pre>\n<\/div>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<h4 class=\"color-ultraviolet\"><strong>4. Installing the Plugin in the ChatGPT UI: Making It All Work<\/strong><\/h4>\n<p>Your ChatGPT plugin is now ready to be installed! If you have a ChatGPT Plus membership, then you can access and install verified plugins. At the time of this writing, you may still need to request access to the plugins waitlist to install plugins you develop \u2013 see the <a href=\"https:\/\/openai.com\/blog\/chatgpt-plugins\" target=\"_blank\">plugins home page<\/a> for more information.<\/p>\n<p>Remember to grab the server URL in <strong><em>openapi.yaml<\/em><\/strong><br \/>\nas you\u2019ll need it in this step. The one from this example is:<\/p>\n<pre>https:\/\/hedera-account-balance-plugin.replit.app<\/pre>\n<\/p>\n<p>Now follow the steps shown below:<\/p>\n<figure><img decoding=\"async\" alt=\"Description of the image\" data-image=\"zj1zzjtq4aas\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2023\/06\/4_PLUGIN_INSTALL.gif\"\/><\/figure>\n<\/p>\n<h4 class=\"color-ultraviolet\"><strong>5. Chatting with ChatGPT: Using Your Plugin<\/strong><\/h4>\n<p>Now that your plugin is installed and enabled, you can use it by simply asking ChatGPT questions about the HBAR and\/or token balances of Hedera accounts.<\/p>\n<p>In the case shown below, we ask ChatGPT how many HBAR and units of token <a href=\"https:\/\/hashscan.io\/mainnet\/token\/0.0.2283230?p1=1\" target=\"_blank\">0.0.2283230 (KARATE)<\/a>\u00a0are owned by account 0.0.3019125. The results are verified using <a href=\"https:\/\/hashscan.io\/mainnet\/dashboard\" target=\"_blank\">HashScan<\/a>, which is a network explorer for Hedera.<\/p>\n<figure><img decoding=\"async\" alt=\"Description of the image\" data-image=\"zj1zzjtq4aas\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2023\/06\/5_PLUGIN_USE.gif\"\/><\/figure>\n<\/div>\n<figure class=\"blog-image mb-40\"><img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/5p2-HASHCAN-RESULT.png\" alt=\"\"\/><\/figure>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<h4 class=\"color-ultraviolet\">Wrapping Up: Looking Back and Looking Ahead<\/h4>\n<p>In this article, you learned to combine the strengths of AI and blockchain technology. The journey of creating a ChatGPT plugin is enriching, and it opens doors to explore new dimensions of AI and blockchain. You successfully paired ChatGPT and Hedera, two powerful tools, to form a unique solution! You started by crafting a Python API for your custom functionality, then described your API using OpenAPI yaml, and finally documented the plugin&#8217;s purpose in the JSON manifest file. <\/p>\n<p>This guide is just the beginning. You can continue having fun verifying your plugin, making it production-grade, and following best practices. The possibilities with Hedera and ChatGPT plugins are endless. You could create plugins that fetch other types of information from the mirror nodes, like the number NFTs minted in the last hour or transactions processed in the last day. You could also submit transactions to the Hedera network, perhaps <a href=\"https:\/\/docs.hedera.com\/hedera\/tutorials\/consensus\/submit-your-first-message\" target=\"_blank\">record data on the Hedera Consensus Service<\/a>, or even <a href=\"https:\/\/docs.hedera.com\/hedera\/tutorials\/token\" target=\"_blank\">create HTS tokens<\/a>. The world of AI and blockchain is yours to explore!<\/p>\n<h4 class=\"color-ultraviolet\" dir=\"ltr\">Continue Learning<\/h4>\n<ul>\n<li>\n<p dir=\"ltr\"><a href=\"https:\/\/portal.hedera.com\/register\" target=\"_blank\">Open a Testnet Account<\/a><\/p>\n<\/li>\n<li>\n<p dir=\"ltr\"><a href=\"https:\/\/docs.hedera.com\/hedera\/tutorials\" target=\"_blank\">Try Examples<\/a> and <a href=\"https:\/\/docs.hedera.com\/hedera\/tutorials\/more-tutorials\" target=\"_blank\">Tutorials<\/a><\/p>\n<\/li>\n<li>\n<p dir=\"ltr\"><a href=\"https:\/\/hedera.com\/discord\" target=\"_blank\">Join the Developer Discord<\/a><\/p>\n<\/li>\n<li>\n<p dir=\"ltr\"><a href=\"https:\/\/hedera.com\/learning\" target=\"_blank\">Read the Learning Center<\/a><\/p>\n<\/li>\n<li>\n<p dir=\"ltr\"><a href=\"https:\/\/hedera.com\/blog\" target=\"_blank\">Read the Hedera Blog<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>AI and blockchain are two technological trends that have captured everyone\u2019s attention. The learning aspect of AI, coupled with Blockchain&#8217;s immutable nature, introduces a revolutionary change in how data can be processed and utilized. In this article, you&#8217;ll see how to combine the strengths of AI and blockchain technology by creating a ChatGPT plugin that interacts with Hedera. <\/p>\n","protected":false},"author":10,"featured_media":16848,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[1],"tags":[45],"ppma_author":[43],"class_list":["post-15741","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-technical"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Create ChatGPT Plugins - Unlock the Power of AI and Blockchain | Hedera<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Create ChatGPT Plugins - Unlock the Power of AI and Blockchain | Hedera\" \/>\n<meta property=\"og:description\" content=\"AI and blockchain are two technological trends that have captured everyone\u2019s attention. The learning aspect of AI, coupled with Blockchain&#039;s immutable nature, introduces a revolutionary change in how data can be processed and utilized. In this article, you&#039;ll see how to combine the strengths of AI and blockchain technology by creating a ChatGPT plugin that interacts with Hedera.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/\" \/>\n<meta property=\"og:site_name\" content=\"Hedera\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-23T01:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-03T22:23:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Create-ChatGPT-Plugins-Blog-Banner.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"670\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Hedera Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/\"},\"author\":{\"name\":\"Hedera Team\",\"@id\":\"https:\/\/hedera.com\/#\/schema\/person\/2dc6146f9f20a44d3de58c834d52e9f4\"},\"headline\":\"How to Create ChatGPT Plugins &#8211; Unlock the Power of AI and Blockchain\",\"datePublished\":\"2023-06-23T01:00:00+00:00\",\"dateModified\":\"2026-02-03T22:23:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/\"},\"wordCount\":2027,\"publisher\":{\"@id\":\"https:\/\/hedera.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Create-ChatGPT-Plugins-Blog-Banner.png\",\"keywords\":[\"technical\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/\",\"url\":\"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/\",\"name\":\"How to Create ChatGPT Plugins - Unlock the Power of AI and Blockchain | Hedera\",\"isPartOf\":{\"@id\":\"https:\/\/hedera.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Create-ChatGPT-Plugins-Blog-Banner.png\",\"datePublished\":\"2023-06-23T01:00:00+00:00\",\"dateModified\":\"2026-02-03T22:23:27+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/#primaryimage\",\"url\":\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Create-ChatGPT-Plugins-Blog-Banner.png\",\"contentUrl\":\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Create-ChatGPT-Plugins-Blog-Banner.png\",\"width\":1200,\"height\":670},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/hedera.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Create ChatGPT Plugins &#8211; Unlock the Power of AI and Blockchain\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/hedera.com\/#website\",\"url\":\"https:\/\/hedera.com\/\",\"name\":\"Hedera\",\"description\":\"Hello future\",\"publisher\":{\"@id\":\"https:\/\/hedera.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/hedera.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/hedera.com\/#organization\",\"name\":\"Hedera\",\"url\":\"https:\/\/hedera.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/hedera.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/09\/hedera_logo.png\",\"contentUrl\":\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/09\/hedera_logo.png\",\"width\":500,\"height\":375,\"caption\":\"Hedera\"},\"image\":{\"@id\":\"https:\/\/hedera.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Create ChatGPT Plugins - Unlock the Power of AI and Blockchain | Hedera","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/","og_locale":"en_US","og_type":"article","og_title":"How to Create ChatGPT Plugins - Unlock the Power of AI and Blockchain | Hedera","og_description":"AI and blockchain are two technological trends that have captured everyone\u2019s attention. The learning aspect of AI, coupled with Blockchain's immutable nature, introduces a revolutionary change in how data can be processed and utilized. In this article, you'll see how to combine the strengths of AI and blockchain technology by creating a ChatGPT plugin that interacts with Hedera.","og_url":"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/","og_site_name":"Hedera","article_published_time":"2023-06-23T01:00:00+00:00","article_modified_time":"2026-02-03T22:23:27+00:00","og_image":[{"width":1200,"height":670,"url":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Create-ChatGPT-Plugins-Blog-Banner.png","type":"image\/png"}],"author":"Hedera Team","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/#article","isPartOf":{"@id":"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/"},"author":{"name":"Hedera Team","@id":"https:\/\/hedera.com\/#\/schema\/person\/2dc6146f9f20a44d3de58c834d52e9f4"},"headline":"How to Create ChatGPT Plugins &#8211; Unlock the Power of AI and Blockchain","datePublished":"2023-06-23T01:00:00+00:00","dateModified":"2026-02-03T22:23:27+00:00","mainEntityOfPage":{"@id":"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/"},"wordCount":2027,"publisher":{"@id":"https:\/\/hedera.com\/#organization"},"image":{"@id":"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/#primaryimage"},"thumbnailUrl":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Create-ChatGPT-Plugins-Blog-Banner.png","keywords":["technical"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/","url":"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/","name":"How to Create ChatGPT Plugins - Unlock the Power of AI and Blockchain | Hedera","isPartOf":{"@id":"https:\/\/hedera.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/#primaryimage"},"image":{"@id":"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/#primaryimage"},"thumbnailUrl":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Create-ChatGPT-Plugins-Blog-Banner.png","datePublished":"2023-06-23T01:00:00+00:00","dateModified":"2026-02-03T22:23:27+00:00","breadcrumb":{"@id":"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/#primaryimage","url":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Create-ChatGPT-Plugins-Blog-Banner.png","contentUrl":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Create-ChatGPT-Plugins-Blog-Banner.png","width":1200,"height":670},{"@type":"BreadcrumbList","@id":"https:\/\/hedera.com\/blog\/how-to-create-chatgpt-plugins-unlock-ai-and-blockchain\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/hedera.com\/"},{"@type":"ListItem","position":2,"name":"How to Create ChatGPT Plugins &#8211; Unlock the Power of AI and Blockchain"}]},{"@type":"WebSite","@id":"https:\/\/hedera.com\/#website","url":"https:\/\/hedera.com\/","name":"Hedera","description":"Hello future","publisher":{"@id":"https:\/\/hedera.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hedera.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/hedera.com\/#organization","name":"Hedera","url":"https:\/\/hedera.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hedera.com\/#\/schema\/logo\/image\/","url":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/09\/hedera_logo.png","contentUrl":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/09\/hedera_logo.png","width":500,"height":375,"caption":"Hedera"},"image":{"@id":"https:\/\/hedera.com\/#\/schema\/logo\/image\/"}}]}},"featured_image_src":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Create-ChatGPT-Plugins-Blog-Banner-600x400.png","featured_image_src_square":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Create-ChatGPT-Plugins-Blog-Banner-600x600.png","author_info":{"display_name":"Hedera Team","author_link":"https:\/\/hedera.com\/blog\/author\/hedera-team\/"},"authors":[{"term_id":43,"user_id":10,"is_guest":0,"slug":"hedera-team","display_name":"Hedera Team","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/7ed01931dc9498365746508c4ca49ed0507ef65e04e0b82ffe88c50ef9242b1d?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":""}],"_links":{"self":[{"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/posts\/15741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/comments?post=15741"}],"version-history":[{"count":0,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/posts\/15741\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/media\/16848"}],"wp:attachment":[{"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/media?parent=15741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/categories?post=15741"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/tags?post=15741"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/ppma_author?post=15741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}