{"id":15744,"date":"2023-06-08T08:00:00","date_gmt":"2023-06-08T08:00:00","guid":{"rendered":"https:\/\/hederav2stg.wpenginepowered.com\/blog\/hedera-smart-contract-service-security-model-update\/"},"modified":"2025-12-08T18:25:55","modified_gmt":"2025-12-08T18:25:55","slug":"hedera-smart-contract-service-security-model-update","status":"publish","type":"post","link":"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/","title":{"rendered":"Hedera Smart Contract Service Security Model Update"},"content":{"rendered":"<div class=\"body-text BodyCopy mb-40 style-1\">\n<p>The Hedera Smart Contract Service (HSCS) combines the third-generation Hedera native entity functionality &#8211; high throughput with fast finality, affordable and predictable fees, and fair transaction ordering &#8211; with an optimized and highly performant second-generation Ethereum Virtual Machine (EVM). Our goal is to provide full support for smart contracts written on other EVM-compatible chains and to facilitate their smooth deployment on Hedera \u2014 as simple as copy\/paste. Developers should be able to simply point to a Hedera-supported RPC endpoint and carry out their smart contract executions and queries with the same code and similar tools &#8211; this is our goal for EVM equivalence<\/p>\n<p>To achieve this, the ledger executes all smart contract transactions using the <a href=\"https:\/\/docs.hedera.com\/hedera\/core-concepts\/smart-contracts\/hyperledger-besu-evm\">Besu EVM<\/a> and persists the changes in the Hedera-optimized Virtual Merkle Tree state. Users are able to observe certain finality (not probabilistic finality) of smart contract executions in 2-3 seconds whiles ensuring state changes can be fully encapsulated in smart contract functionality.<\/p>\n<p>Hedera Consensus Nodes must strike a delicate balance between Hedera security and EVM security models. With HSCS Security Model v1, the complexity of this challenge left gaps for which bad actors could operate. With the HCSC Security Model v2, greater clarity and additional protections have been brought to the network.<\/p>\n<h4 class=\"color-ultraviolet\">v1 Security Model Boundaries<\/h4>\n<p>The old security model (pre 0.35.2) supported account key signatures provided at transaction time for authorization. The boundary rules could be summarized as follows<\/p>\n<ul>\n<li>Smart contracts could only change their own storage or the storage they were <a href=\"https:\/\/docs.soliditylang.org\/en\/v0.8.19\/introduction-to-smart-contracts.html#delegatecall-and-libraries\" target=\"_blank\">delegate called<\/a> with.<\/li>\n<li>System smart contracts could be delegate called, in order to carry out Hedera Token Service (HTS) operations on behalf of another account &#8211; Externally Owned Account (EOA) or contract account.<\/li>\n<li>Smart Contracts could change an EOA\u2019s storage with the appropriate signature in the transaction.<\/li>\n<li>Smart Contracts could change an EOA\u2019s balance with the appropriate signature in the transaction or with prior addition to an allowance approval list.<\/li>\n<\/ul>\n<p>This provided a huge improvement to user experience as contracts could combine transactions in an attempt at atomicity. For instance, a contract could associate, transfer and approve transactions on a user&#8217;s behalf with one signature. While focusing on usability, this approach did not address cases in which bad actors could carry out an unsanctioned transaction on behalf of a user, e.g., <a href=\"https:\/\/hedera.com\/blog\/analysis-remediation-of-the-precompile-attack-on-the-hedera-network\" target=\"_blank\">https:\/\/hedera.com\/blog\/analysis-remediation-of-the-precompile-attack-on-the-hedera-network<\/a><\/p>\n<p>To address this, the core Hedera engineers thoroughly analyzed the Smart Contract Service and the HTS system contracts, aiming to secure the state and token assets of users and the network during Smart Contract executions. The results of this effort are the guidelines in <a href=\"https:\/\/github.com\/hashgraph\/hedera-services\/releases\/tag\/v0.35.2\" target=\"_blank\">Hedera Services release v0.35.2<\/a>.<\/p>\n<h4 class=\"color-ultraviolet\">v2 Security Model Boundaries<\/h4>\n<p>In the new model, account key signatures may not provide authorization for contract actions. The boundary rules can be summarized as follows<\/p>\n<ul>\n<li>Smart contracts can only change their own storage or the storage they were delegate called with.<\/li>\n<li>System smart contracts may <strong>not<\/strong> be delegate called, except from the Token proxy\/facade flow e.g. <a href=\"https:\/\/hips.hedera.com\/hip\/hip-719\" target=\"_blank\">HIP 719<\/a>. In such cases HTS tokens are represented as smart contracts (see <a href=\"https:\/\/hips.hedera.com\/hip\/hip-218\" target=\"_blank\">HIP 218<\/a>) for common ERC methods.<\/li>\n<li>Smart contracts can change an EOAs storage only if the contract ID is contained in the EOAs key.<\/li>\n<li>Smart contracts can change an EOAs balance if they have been approved a token allowance for a specific token held by the EOA.<\/li>\n<\/ul>\n<h4 class=\"color-ultraviolet\">Boundary comparison<\/h4>\n<table>\n<tbody>\n<tr>\n<th>Boundary Spec<\/th>\n<th>v1 Model<\/th>\n<th>v2 Model<\/th>\n<th>Change<\/th>\n<\/tr>\n<tr>\n<td>Storage Changes<\/td>\n<td>Smart Contracts could only change their own storage or the storage they were delegate called with.<\/td>\n<td>Smart contracts can only change their own storage or the storage they were delegate called with.<\/td>\n<td><strong>N<\/strong><\/td>\n<\/tr>\n<tr>\n<td>System Contract Call Types<\/td>\n<td>System smart contracts could be delegate called in order to carry out Hedera Token Service operations on behalf of another account (EOA) or contract.<\/td>\n<td>System smart contracts can not be delegate called, except from the Token facade flow, which presents HTS tokens as smart contracts for common ERC methods.<\/td>\n<td><strong>Y<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Permissioned Account Storage Changes<\/td>\n<td>Smart Contracts could change an EOA\u2019s storage with the appropriate signature in the transaction.<\/td>\n<td>Smart contracts can change an EOAs storage only if the contract ID is contained in the EOAs key.<\/td>\n<td><strong>Y<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Permissioned Account Balance Changes<\/td>\n<td>Smart Contracts could change an accounts (EOA or contract) balance with the appropriate signature in the transaction or with prior addition to an allowance approval list<\/td>\n<td>Smart contracts can change an EOAs balance if they have been approved an allowance for a specific token held by the EOA.<\/td>\n<td><strong>Y<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>In summary, the HSCS utilizes a three-level approach:<\/p>\n<ul>\n<li><strong>Level 0<\/strong> &#8211; EVM security model &#8211; entities may only modify their own state and balance.<\/li>\n<li><strong>Level 1<\/strong> &#8211; EVM balance allowance interactions &#8211; transfer and access to account balance will follow tested web3 interface standards, e.g., ERC 20 &amp; ERC 721 approvals.<\/li>\n<li><strong>Level 2<\/strong> &#8211; Hedera advanced security features &#8211; unique Hedera features may utilize contract-compatible authorization features e.g., ContractID keys.<\/li>\n<\/ul>\n<p>To achieve state change or value transfer, executions must not break any of the rules of each level. Transactions that don\u2019t satisfy the appropriate authorization will fail with response codes such as <code>INVALID_FULL_PREFIX_SIGNATURE_FOR_PRECOMPILE<\/code> when a sender is not authorized to carry out an operation. More operational-specific response codes will be returned where applicable, e.g.,\u00a0<code>SPENDER_DOES_NOT_HAVE_ALLOWANCE<\/code>.<\/p>\n<h4 class=\"color-ultraviolet\">EOA &lt;&gt; Contract Interactions<\/h4>\n<p>To add greater clarity to the security model, it\u2019s valuable to explore the rules of account (EOA &amp; contract) interaction in smart contract execution.<\/p>\n<p>The two illustrations below describe the context for contract executions for EOAs and contracts during regular and delegate calls. We follow how the accounts, state (storage and value balance), and code may change as you progress through the chain of calls.<\/p>\n<p><strong><\/strong><strong><br \/><\/strong><\/p>\n<\/div>\n<figure class=\"blog-image mb-40\"><img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/IMG1.png\" alt=\"\"\/><\/figure>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<p>In the regular call case, the call to contract B sees B\u2019s code executed in the context of its own state, therefore allowing B to only modify B\u2019s own state. The sender value also appropriately differs between the calls to highlight that\u00a0the EOA made the 1st call and contract A made the 2nd.<\/p>\n<\/div>\n<figure class=\"blog-image mb-40\"><img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/IMG2.png\" alt=\"\"\/><\/figure>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<p>In a delegate call case, the call to contract B sees B\u2019s code executed in the context of A\u2019s state, therefore allowing B to modify A\u2019s state. The sender and recipient values are preserved from the 1st call as if the EOA initiated the call.<\/p>\n<p>In summary, a delegate call executes the called contract&#8217;s code in the context of the previous calling account, giving the code access to the previous account&#8217;s state and blurring the lines of authorized state management.<\/p>\n<p>Applying this to the security model changes, the following table summarizes the authorization check changes.<\/p>\n<table>\n<tbody>\n<tr>\n<th>Scenario<\/th>\n<th>Authorization check<\/th>\n<th>Old Model<\/th>\n<th>New Model<\/th>\n<\/tr>\n<tr>\n<td>Smart contract A can change its own state using a call<\/td>\n<td>sender = Contract A<\/td>\n<td>Y<\/td>\n<td>Y<\/td>\n<\/tr>\n<tr>\n<td>Smart contract A can change EOA\u2019s state via call<\/td>\n<td>sender = EOA<\/td>\n<td>N<\/td>\n<td>N<\/td>\n<\/tr>\n<tr>\n<td>Smart contract B can change contract A\u2019s state via call<\/td>\n<td>sender = A<\/td>\n<td>N<\/td>\n<td>N<\/td>\n<\/tr>\n<tr>\n<td>Smart contract A can change EOA\u2019s state via delegate call<\/td>\n<td>sender = EOA<\/td>\n<td>Y<\/td>\n<td>Y<\/td>\n<\/tr>\n<tr>\n<td>Smart contract B can change contract A\u2019s state via delegate call<\/td>\n<td>sender = Contract A<\/td>\n<td>Y<\/td>\n<td>Y<\/td>\n<\/tr>\n<tr>\n<td>System smart contracts can change another accounts (EOA or contract A or contract B) state via call<\/td>\n<td>sender = account<\/td>\n<td>N<\/td>\n<td>N<\/td>\n<\/tr>\n<tr>\n<td>System smart contract can change another accounts EOA or contract A or contract B) state via delegate call<\/td>\n<td>sender = account<\/td>\n<td>N<\/td>\n<td>N<\/td>\n<\/tr>\n<tr>\n<td>System contracts can change an  accounts (EOA or contact A or contract B) state via call with the appropriate signature<\/td>\n<td>signature map contains signature of accounts (EOA or contract A or contract B respectively)<\/td>\n<td><strong>Y<\/strong><\/td>\n<td><strong>N<\/strong><\/td>\n<\/tr>\n<tr>\n<td>System smart contract can change another accounts (EOA or contact A or contract B) state via delegate call with the appropriate signature<\/td>\n<td>signature map contains signature of accounts (EOA or contract A or contract B)<\/td>\n<td><strong>Y<\/strong><\/td>\n<td><strong>N<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Contract A or B can call a system contract via a call<\/td>\n<td>&#8211;<\/td>\n<td>Y<\/td>\n<td>Y<\/td>\n<\/tr>\n<tr>\n<td>Contract A or B can call a system contract via a delegate call<\/td>\n<td>&#8211;<\/td>\n<td><strong>Y<\/strong><\/td>\n<td><strong>N<br \/><\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>At the time of the change, the <a data-token-index=\"1\" href=\"https:\/\/github.com\/hashgraph\/hedera-smart-contracts\/tree\/release\/0.3\/contracts\/hts-precompile\" rel=\"noopener noreferrer\" tabindex=\"0\" target=\"_blank\">HTS system contract<\/a> was the only pathway to expose Hedera API functionality through Smart Contracts. As such, it\u2019s fair to consider the differences between pre and post-security model updates when observing HTS system contract state-changing functions.<\/p>\n<\/p>\n<h4 class=\"color-ultraviolet\">Existing HTS System Contract Impacts<\/h4>\n<\/div>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<table>\n<tbody>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>IHederaTokenService System Smart Contract Function<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<p>v1 Model Authorization Requirement<\/p>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>v2 Model Authorization Requirement<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>Solution by Developers<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>Additional Secure Pathways<\/strong><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>approve,\u00a0<\/strong><\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>approveNFT<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains account admin key signature<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">msg.sender must be entity to be modified<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Upgrade contracts to allow owner contract to explicitly set an allowance approval.<\/p>\n<\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">or<\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Upgrade DApps to support explicit account allowance approval transaction.<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">HIP 376 IERC.approve()<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>associateToken<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains account admin key signature<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><span \"liberation=\"\" \"pt=\"\" 0.4em\"=\"\" class=\"notion-enable-hover\" consolas,=\"\" courier,=\"\" data-token-index=\"0\" menlo,=\"\" mono\",=\"\" monospace;line-height:normal;background:rgba(135,131,120,0.15);color:#eb5757;border-radius:3px;font-size:85%;padding:0.2em=\"\" sfmono-regular\",=\"\" spellcheck=\"false\">msg.sender<\/span> must be entity to be modified<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Upgrade contracts to allow contract to explicitly associate with a token. <\/p>\n<p> or <\/p>\n<p> Upgrade DApps to support explicit user associate transaction.<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">HIP 719 <span \"liberation=\"\" \"pt=\"\" 0.4em\"=\"\" class=\"notion-enable-hover\" consolas,=\"\" courier,=\"\" data-token-index=\"1\" menlo,=\"\" mono\",=\"\" monospace;line-height:normal;background:rgba(135,131,120,0.15);color:#eb5757;border-radius:3px;font-size:85%;padding:0.2em=\"\" sfmono-regular\",=\"\" spellcheck=\"false\">IHRC.associate()<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>burnToken<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains token burn key signature <\/p>\n<p> or <\/p>\n<p> Contract Id satisfies Token.supplyKey requirements<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Contract Id satisfies Token.supplyKey requirements<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Token admin must set desired contract in Supply key<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>createFungibleToken,<\/strong><\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>createFungibleTokenWithCustomFees,\u00a0<\/strong><\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>createNonFungibleToken,\u00a0\u00a0<\/strong><\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>createNonFungibleTokenWithCustomFees<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains affected account admin key signature(s) in treasury or autoRenew assignment case<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><span \"liberation=\"\" \"pt=\"\" 0.4em\"=\"\" class=\"notion-enable-hover\" consolas,=\"\" courier,=\"\" data-token-index=\"0\" menlo,=\"\" mono\",=\"\" monospace;line-height:normal;background:rgba(135,131,120,0.15);color:#eb5757;border-radius:3px;font-size:85%;padding:0.2em=\"\" sfmono-regular\",=\"\" spellcheck=\"false\">msg.sender<\/span> must be entity to be modified in treasury or autoRenew assignment case<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>cryptoTransfer<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains sender admin key signature <\/p>\n<p> or <\/p>\n<p> Contract Id satisfies Entity.key requirements<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><span \"liberation=\"\" \"pt=\"\" 0.4em\"=\"\" class=\"notion-enable-hover\" consolas,=\"\" courier,=\"\" data-token-index=\"0\" menlo,=\"\" mono\",=\"\" monospace;line-height:normal;background:rgba(135,131,120,0.15);color:#eb5757;border-radius:3px;font-size:85%;padding:0.2em=\"\" sfmono-regular\",=\"\" spellcheck=\"false\">msg.sender<\/span> must be balance owner<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Upgrade DApps to support explicit account allowance approval transaction.<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>deleteToken<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains token admin key signature <\/p>\n<p> or <\/p>\n<p> Contract Id satisfies Token.adminKey requirements<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Contract Id satisfies Token.adminKey requirements<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Token admin must set desired contract in admin key<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>dissociateToken,\u00a0<\/strong><\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>dissociateTokens<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains admin key signature<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><span \"liberation=\"\" \"pt=\"\" 0.4em\"=\"\" class=\"notion-enable-hover\" consolas,=\"\" courier,=\"\" data-token-index=\"0\" menlo,=\"\" mono\",=\"\" monospace;line-height:normal;background:rgba(135,131,120,0.15);color:#eb5757;border-radius:3px;font-size:85%;padding:0.2em=\"\" sfmono-regular\",=\"\" spellcheck=\"false\">msg.sender<\/span> must be entity to be modified<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Upgrade contracts. <\/p>\n<p> or <\/p>\n<p> Upgrade DApps to provide explicit user dissociate<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">HIP 719 <span \"liberation=\"\" \"pt=\"\" 0.4em\"=\"\" class=\"notion-enable-hover\" consolas,=\"\" courier,=\"\" data-token-index=\"1\" menlo,=\"\" mono\",=\"\" monospace;line-height:normal;background:rgba(135,131,120,0.15);color:#eb5757;border-radius:3px;font-size:85%;padding:0.2em=\"\" sfmono-regular\",=\"\" spellcheck=\"false\">IHRC.dissociate()<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>freezeToken<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains freeze key signature <\/p>\n<p> or <\/p>\n<p> Contract Id satisfies Token.freezeKey requirements<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Contract Id satisfies Token.freezeKey requirements<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Token admin must set desired contract in freeze key<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>grantTokenKyc<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains kyc key signature <\/p>\n<p> or <\/p>\n<p> Contract Id satisfies Token.freezeKey requirements<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Contract Id satisfies Token.kycKey requirements<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Token admin must set desired contract in kyc key<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>mintToken<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains appropriate signature <\/p>\n<p> or <\/p>\n<p> Contract Id satisfies Token.supplyKey requirements<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Contract Id satisfies Token.supplyKey requirements<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Token admin must set desired contract in Supply key<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>pauseToken<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains pause key signature <\/p>\n<p> or <\/p>\n<p> Contract Id satisfies Token.pauseKey requirements<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Contract Id satisfies Token.pauseKey requirements<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Token admin must set desired contract in pause key<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>revokeTokenKyc<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains kyc key signature <\/p>\n<p> or <\/p>\n<p> Contract Id satisfies Token.freezeKey requirements<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Contract Id satisfies Token.kycKey requirements<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Token admin must set desired contract in kyc key<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>setApprovalForAll<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains admin key signature<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><span \"liberation=\"\" \"pt=\"\" 0.4em\"=\"\" class=\"notion-enable-hover\" consolas,=\"\" courier,=\"\" data-token-index=\"0\" menlo,=\"\" mono\",=\"\" monospace;line-height:normal;background:rgba(135,131,120,0.15);color:#eb5757;border-radius:3px;font-size:85%;padding:0.2em=\"\" sfmono-regular\",=\"\" spellcheck=\"false\">msg.sender<\/span> must be entity to be modified<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Upgrade contracts to allow owner contract to explicitly set an allowance approval. <\/p>\n<p> or <\/p>\n<p> Upgrade DApps to support explicit account allowance approval transaction.<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">HIP 376 <span \"liberation=\"\" \"pt=\"\" 0.4em\"=\"\" class=\"notion-enable-hover\" consolas,=\"\" courier,=\"\" data-token-index=\"1\" menlo,=\"\" mono\",=\"\" monospace;line-height:normal;background:rgba(135,131,120,0.15);color:#eb5757;border-radius:3px;font-size:85%;padding:0.2em=\"\" sfmono-regular\",=\"\" spellcheck=\"false\">IERC.setApprovalForAll()<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>transferFrom,\u00a0<\/strong><\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>transferFromNFT<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains admin key signature\u00a0<\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">or\u00a0<\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Spender must have been pre-approved an allowance<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><span \"liberation=\"\" \"pt=\"\" 0.4em\"=\"\" class=\"notion-enable-hover\" consolas,=\"\" courier,=\"\" data-token-index=\"0\" menlo,=\"\" mono\",=\"\" monospace;line-height:normal;background:rgba(135,131,120,0.15);color:#eb5757;border-radius:3px;font-size:85%;padding:0.2em=\"\" sfmono-regular\",=\"\" spellcheck=\"false\">msg.sender<\/span> must be balance owner.<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Upgrade DApps to support explicit account allowance approval transaction.<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>transferToken,\u00a0<\/strong><\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>transferTokens,\u00a0<\/strong><\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>transferNFT,\u00a0<\/strong><\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>transferNFTs<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains admin key signature <\/p>\n<p> or <\/p>\n<p> Contract Id satisfies Entity.key requirements <\/p>\n<p> or <\/p>\n<p> Contract has been approved an allowance to spend by owner<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><span \"liberation=\"\" \"pt=\"\" 0.4em\"=\"\" class=\"notion-enable-hover\" consolas,=\"\" courier,=\"\" data-token-index=\"0\" menlo,=\"\" mono\",=\"\" monospace;line-height:normal;background:rgba(135,131,120,0.15);color:#eb5757;border-radius:3px;font-size:85%;padding:0.2em=\"\" sfmono-regular\",=\"\" spellcheck=\"false\">msg.sender<\/span> must be balance owner. <\/p>\n<p> or <\/p>\n<p> Contract Id satisfies Entity.key requirements<\/p>\n<p>Contract has been approved an allowance to spend by owner<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Upgrade DApps to support explicit account allowance approval transaction.<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>updateTokenInfo,\u00a0<\/strong><\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>updateTokenExpiryInfo,\u00a0<\/strong><\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>updateTokenKeys<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains token admin key signature <\/p>\n<p> or <\/p>\n<p> Contract Id satisfies Token.adminKey requirements<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Contract Id satisfies Token.adminKey requirements<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Token admin must set desired contract in admin key<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>wipeTokenAccount,\u00a0<\/strong><\/div>\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>wipeTokenAccountNFT<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains token wipe key signature <\/p>\n<p> or <\/p>\n<p> Contract Id satisfies Token.wipeKey requirements<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Contract Id satisfies Token.wipeKey requirements<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Token admin must set desired contract in Wipe key<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>unfreezeToken<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains token freeze key signature <\/p>\n<p> or <\/p>\n<p> Contract Id satisfies Token.freezeKey requirements<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Contract Id satisfies Token.freezeKey requirements<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Token admin must set desired contract in freeze key<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr class=\"notion-table-row\">\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><strong>unpauseToken<\/strong><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Signature map contains token pause key signature <\/p>\n<p> or <\/p>\n<p> Contract Id satisfies Token.pauseKey requirements<\/p><\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Contract Id satisfies Token.pauseKey requirements<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\">Token admin must set desired contract in pause key<\/div>\n<\/div>\n<\/td>\n<td>\n<div class=\"notion-table-cell\">\n<div class=\"notion-table-cell-text\" contenteditable=\"\u201ctrue\u201d\" data-content-editable-leaf=\"true\" placeholder=\" \" spellcheck=\"false\"><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<p>While the changes impacts user experience requiring more explicit steps, it more than proportionately increases user and network security across the board. The team continues to push diligently to provide the community with secure and scalable API solutions to enable them to build creative dApps and carve out their own shared world on the ledger.<\/p>\n<\/p>\n<h4 class=\"color-ultraviolet\">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>Hedera consensus nodes must strike a delicate balance between Hedera security and EVM security models. The latest security model for Hedera smart contracts provides greater clarity and additional protections relative to its predecessor. <\/p>\n","protected":false},"author":10,"featured_media":16851,"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-15744","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>Hedera Smart Contract Service Security Model Update | 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\/hedera-smart-contract-service-security-model-update\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hedera Smart Contract Service Security Model Update | Hedera\" \/>\n<meta property=\"og:description\" content=\"Hedera consensus nodes must strike a delicate balance between Hedera security and EVM security models. The latest security model for Hedera smart contracts provides greater clarity and additional protections relative to its predecessor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/\" \/>\n<meta property=\"og:site_name\" content=\"Hedera\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-08T08:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-08T18:25:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Hedera-Smart-Contract-Service-Security-Model-Update-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\/hedera-smart-contract-service-security-model-update\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/\"},\"author\":{\"name\":\"Hedera Team\",\"@id\":\"https:\/\/hedera.com\/#\/schema\/person\/2dc6146f9f20a44d3de58c834d52e9f4\"},\"headline\":\"Hedera Smart Contract Service Security Model Update\",\"datePublished\":\"2023-06-08T08:00:00+00:00\",\"dateModified\":\"2025-12-08T18:25:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/\"},\"wordCount\":1953,\"publisher\":{\"@id\":\"https:\/\/hedera.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Hedera-Smart-Contract-Service-Security-Model-Update-Blog-Banner.png\",\"keywords\":[\"technical\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/\",\"url\":\"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/\",\"name\":\"Hedera Smart Contract Service Security Model Update | Hedera\",\"isPartOf\":{\"@id\":\"https:\/\/hedera.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Hedera-Smart-Contract-Service-Security-Model-Update-Blog-Banner.png\",\"datePublished\":\"2023-06-08T08:00:00+00:00\",\"dateModified\":\"2025-12-08T18:25:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/#primaryimage\",\"url\":\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Hedera-Smart-Contract-Service-Security-Model-Update-Blog-Banner.png\",\"contentUrl\":\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Hedera-Smart-Contract-Service-Security-Model-Update-Blog-Banner.png\",\"width\":1200,\"height\":670},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/hedera.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hedera Smart Contract Service Security Model Update\"}]},{\"@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":"Hedera Smart Contract Service Security Model Update | 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\/hedera-smart-contract-service-security-model-update\/","og_locale":"en_US","og_type":"article","og_title":"Hedera Smart Contract Service Security Model Update | Hedera","og_description":"Hedera consensus nodes must strike a delicate balance between Hedera security and EVM security models. The latest security model for Hedera smart contracts provides greater clarity and additional protections relative to its predecessor.","og_url":"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/","og_site_name":"Hedera","article_published_time":"2023-06-08T08:00:00+00:00","article_modified_time":"2025-12-08T18:25:55+00:00","og_image":[{"width":1200,"height":670,"url":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Hedera-Smart-Contract-Service-Security-Model-Update-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\/hedera-smart-contract-service-security-model-update\/#article","isPartOf":{"@id":"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/"},"author":{"name":"Hedera Team","@id":"https:\/\/hedera.com\/#\/schema\/person\/2dc6146f9f20a44d3de58c834d52e9f4"},"headline":"Hedera Smart Contract Service Security Model Update","datePublished":"2023-06-08T08:00:00+00:00","dateModified":"2025-12-08T18:25:55+00:00","mainEntityOfPage":{"@id":"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/"},"wordCount":1953,"publisher":{"@id":"https:\/\/hedera.com\/#organization"},"image":{"@id":"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/#primaryimage"},"thumbnailUrl":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Hedera-Smart-Contract-Service-Security-Model-Update-Blog-Banner.png","keywords":["technical"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/","url":"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/","name":"Hedera Smart Contract Service Security Model Update | Hedera","isPartOf":{"@id":"https:\/\/hedera.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/#primaryimage"},"image":{"@id":"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/#primaryimage"},"thumbnailUrl":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Hedera-Smart-Contract-Service-Security-Model-Update-Blog-Banner.png","datePublished":"2023-06-08T08:00:00+00:00","dateModified":"2025-12-08T18:25:55+00:00","breadcrumb":{"@id":"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/#primaryimage","url":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Hedera-Smart-Contract-Service-Security-Model-Update-Blog-Banner.png","contentUrl":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Hedera-Smart-Contract-Service-Security-Model-Update-Blog-Banner.png","width":1200,"height":670},{"@type":"BreadcrumbList","@id":"https:\/\/hedera.com\/blog\/hedera-smart-contract-service-security-model-update\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/hedera.com\/"},{"@type":"ListItem","position":2,"name":"Hedera Smart Contract Service Security Model Update"}]},{"@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\/Hedera-Smart-Contract-Service-Security-Model-Update-Blog-Banner-600x400.png","featured_image_src_square":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/Hedera-Smart-Contract-Service-Security-Model-Update-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\/15744","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=15744"}],"version-history":[{"count":0,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/posts\/15744\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/media\/16851"}],"wp:attachment":[{"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/media?parent=15744"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/categories?post=15744"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/tags?post=15744"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/ppma_author?post=15744"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}