Enum ResponseCode
Pre-Check and Receipt Response Codes - 1to1 mapping with protobuf ResponseCodeEnum except RpcError indicating a fundamental inability to communicate with a Hedera Node
Namespace: Hiero
Assembly: Hiero.dll
Syntax
[JsonConverter(typeof(ResponseCodeConverter))]
public enum ResponseCode
Fields
| Name | Description |
|---|---|
| AccessListUnsupported | The ethereum transaction specified an access list, which the network does not support. |
| AccountAmountTransfersOnlyAllowedForFungibleCommon | An AccountAmount token transfers list referenced a token type other than FUNGIBLE_COMMON |
| AccountDeleted | the account has been marked as deleted |
| AccountDoesNotOwnWipedNft | An account did not own the NFT to be wiped |
| AccountExpiredAndPendingRemoval | The transaction references an account which has passed its expiration without renewal funds available, and currently remains in the ledger only because of the grace period given to expired entities |
| AccountFrozenForToken | Account is frozen and cannot transact with the token |
| AccountHasPendingAirdrops | The identified account is sender for one or more pending airdrop(s) and cannot be deleted. <p> The requester SHOULD cancel all pending airdrops before resending this transaction. |
| AccountIdDoesNotExist | the account id passed has not yet been created. |
| AccountIsImmutable | The account cannot be modified. Account's key is not set |
| AccountIsLinkedToANode | This operation cannot be completed because the target account is a "Node Account". This account is currently in use as the "Node Account" for a consensus node, and therefore the requested change is not permitted. The transaction may be resubmitted once the account is no longer in use as a "Node Account" for any consensus node. |
| AccountIsNotGenesisAccount | Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| AccountIsTreasury | An attempted operation is invalid because the account is a treasury |
| AccountKycNotGrantedForToken | KYC must be granted and account does not have KYC granted |
| AccountRepeatedInAccountAmounts | same accounts repeated in the transfer account list |
| AccountStillOwnsNfts | An account cannot be dissociated from a unique token if it owns NFTs for the token |
| AccountUpdateFailed | The update of the account failed |
| AirdropContainsMultipleSendersForAToken | Token airdrop transactions can not contain multiple senders for a single token. |
| AliasAlreadyAssigned | An alias that is assigned to an account or contract cannot be assigned to another account or contract. |
| AliasIsImmutable | The alias already set on an account cannot be updated using CryptoUpdate transaction. |
| AmountExceedsAllowance | The transfer amount exceeds the current approved allowance for the spender account. |
| AmountExceedsTokenMaxSupply | The establishment or adjustment of an approved allowance cause the token allowance to exceed the token maximum supply. |
| AuthorizationFailed | Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| AutorenewAccountNotAllowed | An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| AutorenewDurationNotInRange | the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| BadEncoding | Unsupported algorithm/encoding used for keys in the transaction |
| BadHookRequest | A transaction tried to execute a hook that did not match the specified type or was malformed in some other way. |
| BatchKeySetOnNonInnerTransaction | The batch key is set for a non batch transaction |
| BatchListContainsDuplicates | The list of batch transactions contains duplicated transactions |
| BatchListEmpty | The list of batch transactions is empty |
| BatchSizeLimitExceeded | Repeated operations count exceeds the limit |
| BatchTransactionInBlacklist | The list of batch transactions contains a transaction type that is in the AtomicBatch blacklist as configured in the network. |
| BucketCapacityOverflow | The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| BucketHasNoThrottleGroups | A bucket was defined without any throttle groups |
| Busy | If API is throttled out |
| CannotApproveForAllFungibleCommon | [Deprecated] The approveForAll flag cannot be set for a fungible token. |
| CannotSetHooksAndApproval | Cannot set both a hook call and an approval on the same AccountAmount or NftTransfer message. |
| CannotWipeTokenTreasuryAccount | The target of a wipe operation was the token treasury account |
| ConsensusGasExhausted | Consensus throttle did not allow execution of this transaction. System is throttled at consensus level. |
| ContractBytecodeEmpty | Bytecode for smart contract is of length zero |
| ContractDeleted | Contract is marked as deleted |
| ContractExecutionException | For any contract execution related error not handled by specific error codes listed above. |
| ContractExpiredAndPendingRemoval | A contract referenced by a transaction is "detached"; that is, expired and lacking any hbar funds for auto-renewal payment---but still within its post-expiry grace period. |
| ContractFileEmpty | File to create a smart contract was of length zero |
| ContractHasNoAutoRenewAccount | A ContractUpdate requested removal of a contract's auto-renew account, but that contract has |
| ContractHasNonZeroTokenBalances | A selfdestruct or ContractDelete targeted a contract with non-zero token balances. |
| ContractIsTokenTreasury | A selfdestruct or ContractDelete targeted a contract that is a token treasury. |
| ContractNegativeGas | Negative gas was offered in smart contract call |
| ContractNegativeValue | Negative value / initial balance was specified in a smart contract call / create |
| ContractRevertExecuted | Contract REVERT OPCODE executed |
| ContractSizeLimitExceeded | contract byte code size is over the limit |
| ContractUpdateFailed | update of the contract failed |
| CreatingSystemEntities | The network just started at genesis and is creating system entities. |
| CurrentTreasuryStillOwnsNfts | The treasury for a unique token cannot be changed until it owns no NFTs |
| CustomFeeChargingExceededMaxAccountAmounts | More than 20 balance adjustments were to satisfy a CryptoTransfer and its implied custom fee payments |
| CustomFeeChargingExceededMaxRecursionDepth | The reference chain of custom fees for a transferred token exceeded the maximum length of 2 |
| CustomFeeDenominationMustBeFungibleCommon | Only tokens of type FUNGIBLE_COMMON can be used to as fee schedule denominations |
| CustomFeeMustBePositive | Only positive fees may be assessed at this time |
| CustomFeeNotFullySpecified | A custom fee schedule entry did not specify either a fixed or fractional fee |
| CustomFeeOutsideNumericRange | A fractional custom fee exceeded the range of a 64-bit signed integer |
| CustomFeesListTooLong | More than 10 custom fees were specified |
| CustomFractionalFeeOnlyAllowedForFungibleCommon | Only tokens of type FUNGIBLE_COMMON can have fractional fees |
| CustomRoyaltyFeeOnlyAllowedForNonFungibleUnique | Only tokens of type NON_FUNGIBLE_UNIQUE can have royalty fees |
| CustomScheduleAlreadyHasNoFees | A fee schedule update tried to clear the custom fees from a token whose fee schedule was already empty |
| DelegatingSpenderCannotGrantApproveForAll | The delegating Spender cannot grant approveForAll allowance on a NFT token type for another spender. |
| DelegatingSpenderDoesNotHaveApproveForAll | The delegating Spender cannot grant allowance on a NFT serial for another spender as it doesnt not have approveForAll granted on token-owner. |
| DuplicateAccountIdInMaxCustomFeeList | The provided max custom fee list contains fees with duplicate account id. |
| DuplicateDenominationInMaxCustomFeeList | The provided max custom fee list contains fees with duplicate denominations. |
| DuplicateTransaction | This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| EmptyAllowances | No allowances have been specified in the approval transaction. |
| EmptyEvmHookStorageUpdate | An EVM hook storage update had no contents. |
| EmptyLiveHash | the livehash data is missing |
| EmptyLiveHashBody | the livehash body is empty |
| EmptyLiveHashKeys | the keys for a livehash are missing |
| EmptyLiveHashQuery | the crypto livehash query is empty |
| EmptyPendingAirdropIdList | The list of |
| EmptyQueryBody | the query body is empty |
| EmptyTokenReferenceList | The transaction attempted to use empty |
| EmptyTokenTransferAccountAmounts | TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| EmptyTokenTransferBody | TokenTransfersTransactionBody has no TokenTransferList |
| EmptyTransactionBody | Transaction body provided is empty |
| EntityNotAllowedToDelete | Entities with Entity ID below 1000 are not allowed to be deleted |
| ErrorDecodingBytestring | Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| EvmHookGasThrottled | An EVM hook execution was throttled due to high network gas utilization. |
| EvmHookStorageUpdateBytesMustUseMinimalRepresentation | An EVM hook's mapping slot, storage key, or storage value failed to use the minimal representation (i.e., no leading zeros). |
| EvmHookStorageUpdateBytesTooLong | An EVM hook mapping slot, storage key, or storage value exceeded 32 bytes. |
| ExchangeRateChangeLimitExceeded | The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| ExistingAutomaticAssociationsExceedGivenLimit | Already existing automatic associations are more than the new maximum automatic associations. |
| ExpirationReductionNotAllowed | The expiration date/time on a smart contract may not be reduced |
| FailBalance | There was a system error while performing balance checks, reserved for future. |
| FailFee | There was a system error while performing fee calculation, reserved for future. |
| FailInvalid | There was a system error and the transaction failed because of invalid request parameters. |
| FeeExemptKeyListContainsDuplicatedKeys | The provided fee exempt key list contains duplicated keys. |
| FeeScheduleFilePartUploaded | Fee Schedule Proto File Part uploaded |
| FeeScheduleKeyCannotBeUpdated | If a fee schedule key is not set when we create a topic we cannot add it on update. |
| FeeScheduleKeyNotSet | If the topic's custom fees are updated the topic SHOULD have a fee schedule key |
| FileContentEmpty | The contents of file are provided as empty. |
| FileDeleted | the file has been marked as deleted |
| FileSystemException | Unexpected exception thrown by file system functions |
| FileUploadedProtoInvalid | Fee Schedule Proto uploaded but not valid (append or update is required) |
| FileUploadedProtoNotSavedToDisk | Fee Schedule Proto uploaded but not valid (append or update is required) |
| FqdnSizeTooLarge | In ServiceEndpoint, domain_name size too large |
| FractionDividesByZero | A custom fractional fee set a denominator of zero |
| FractionalFeeMaxAmountLessThanMinAmount | Each fractional custom fee must have its maximum_amount, if specified, at least its minimum_amount |
| FreezeAlreadyScheduled | Once a freeze is scheduled, it must be aborted before any other type of freeze can can be performed. |
| FreezeStartTimeMustBeFuture | The given freeze start time was in the (consensus) past. |
| FreezeTransactionBodyNotFound | FreezeTransactionBody does not exist |
| FreezeUpdateFileDoesNotExist | The update file in a freeze transaction body must exist. |
| FreezeUpdateFileHashDoesNotMatch | The hash of the update file in a freeze transaction body must match the in-memory hash. |
| FreezeUpgradeInProgress | If an NMT upgrade has been prepared, the following operation must be a FREEZE_UPGRADE. (To issue a FREEZE_ONLY, submit a FREEZE_ABORT first.) |
| FungibleTokenInNftAllowances | Fungible common token used in NFT allowances |
| GossipEndpointCannotHaveFqdn | Fully qualified domain name is not allowed in gossip_endpoint |
| GossipEndpointsExceededLimit | The number of gossip endpoints exceeds the limit |
| GrpcWebProxyNotSupported | The GRPC proxy endpoint is set in the NodeCreate or NodeUpdate transaction, which the network does not support. |
| HookCreationBytesMustUseMinimalRepresentation | An EVM hook mapping slot, storage key, or storage value failed to use the minimal representation (i.e., no leading zeros). |
| HookCreationBytesTooLong | A EVM hook mapping slot, storage key, or storage value exceeded 32 bytes. |
| HookDeleted | A hook was deleted. |
| HookDeletionRequiresZeroStorageSlots | The hook deletion requires the hook to have zero storage slots. |
| HookExtensionEmpty | A hook extension point was empty. |
| HookIdInUse | A user tried to create a hook with an id already in use. |
| HookIdRepeatedInCreationDetails | A user repeated the same hook id in a creation details list. |
| HookIsNotAnEvmHook | The target hook is not an EVM hook. |
| HookNotFound | A hook id was not found. |
| HooksAreNotSupportedInAirdrops | Hooks are not supported to be used in TokenAirdrop transactions |
| HooksExecutionsRequireTopLevelCryptoTransfer | Hooks are not supported to be used in Batch transactions and Scheduled transactions. They are only supported in a top level CryptoTransfer transaction. |
| HooksNotEnabled | Hooks are not not enabled on the target Hiero network. |
| IdenticalScheduleAlreadyCreated | A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| InnerTransactionFailed | The inner transaction of a batch transaction failed |
| InsufficientAccountBalance | When the account balance is not sufficient for the transfer |
| InsufficientBalancesForRenewalFees | The combined balances of a contract and its auto-renew account (if any) or balance of an account did not cover the auto-renewal fees in a transaction. |
| InsufficientBalancesForStorageRent | The combined balances of a contract and its auto-renew account (if any) did not cover the rent charged for net new storage used in a transaction. |
| InsufficientGas | Not enough gas was supplied to execute transaction |
| InsufficientLocalCallGas | Payment tendered for contract local call cannot cover both the fee and the gas |
| InsufficientPayerBalance | The payer account has insufficient cryptocurrency to pay the transaction fee |
| InsufficientPayerBalanceForCustomFee | The transaction payer could not afford a custom fee |
| InsufficientSenderAccountBalanceForCustomFee | The sender account in the token transfer transaction could not afford a custom fee |
| InsufficientTokenBalance | Token balance is not sufficient for the transaction |
| InsufficientTxFee | The fee provided in the transaction is insufficient for this type of transaction |
| InvalidAccountAmounts | The crypto transfer credit and debit do not sum equal to 0 |
| InvalidAccountId | The account id is invalid or does not exist |
| InvalidAdminKey | A provided admin key was invalid. Verify the bytes for an Ed25519 public key are exactly 32 bytes; and the bytes for a compressed ECDSA(secp256k1) key are exactly 33 bytes, with the first byte either 0x02 or 0x03.. |
| InvalidAliasKey | An alias used in a CryptoTransfer transaction is not the serialization of a primitive Key message--that is, a Key with a single Ed25519 or ECDSA(secp256k1) public key and no unknown protobuf fields. |
| InvalidAllowanceOwnerId | The account id specified as the owner is invalid or does not exist. |
| InvalidAllowanceSpenderId | The account id specified as the spender is invalid or does not exist. |
| InvalidAutorenewAccount | The autoRenewAccount specified is not a valid, active account. |
| InvalidBatchKey | The batch key is not valid |
| InvalidChunkNumber | chunk number must be from 1 to total (chunks) inclusive. |
| InvalidChunkTransactionId | For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| InvalidContractId | The contract id is invalid or does not exist |
| InvalidCustomFeeCollector | Any of the feeCollector accounts for customFees is invalid |
| InvalidCustomFeeScheduleKey | The provided custom fee schedule key was invalid |
| InvalidDelegatingSpender | If the account Id specified as the delegating spender is invalid or does not exist. |
| InvalidEndpoint | ServiceEndpoint is invalid |
| InvalidEthereumTransaction | The ethereum transaction either failed parsing or failed signature validation, or some other EthereumTransaction error not covered by another response code. |
| InvalidExchangeRateFile | Failed to update exchange rate file |
| InvalidExpirationTime | Expiration time provided in the transaction was invalid. |
| InvalidFeeCollectorAccountId | The fee collector account id in TokenFeeScheduleUpdate is invalid or does not exist. |
| InvalidFeeFile | Failed to update fee file |
| InvalidFeeScheduleKey | The provided fee schedule key contains an invalid key. |
| InvalidFeeSubmitted | Invalid fee submitted |
| InvalidFileId | The file id is invalid or does not exist |
| InvalidFileWacl | File WACL keys are invalid |
| InvalidFreezeKey | The provided freeze key was invalid. |
| InvalidFreezeTransactionBody | FreezeTransactionBody is invalid |
| InvalidFullPrefixSignatureForPrecompile | The full prefix signature for precompile is not valid |
| InvalidGossipCaCertificate | A transaction failed because the TLS certificate provided for the node is missing or invalid. <p> Probable CausesThe certificate MUST be a TLS certificate of a type permitted for gossip
signatures.<br/>
The value presented MUST be a UTF-8 NFKD encoding of the TLS
certificate.<br/>
The certificate encoded MUST be in PEM format.<br/>
The |
| InvalidGossipEndpoint | A transaction failed because one or more entries in the list of
service endpoints for the |
| InvalidGrpcCertificate | A transaction failed because the hash provided for the gRPC certificate is present but invalid. <p> Probable CausesThe |
| InvalidGrpcCertificateHash | The provided gRPC certificate hash is invalid. |
| InvalidHookAdminKey | A hook admin key was invalid. |
| InvalidHookCall | The HookCall set in the transaction is invalid |
| InvalidHookCreationSpec | A hook creation spec was not found. |
| InvalidHookId | A hook id was invalid. |
| InvalidInitialBalance | Attempt to set negative initial balance |
| InvalidIpv4Address | The IPv4 address is invalid |
| InvalidKeyEncoding | Provided key encoding was not supported by the system |
| InvalidKeyInFeeExemptKeyList | The provided fee exempt key list contains an invalid key. |
| InvalidKycKey | The provided KYC key was invalid. |
| InvalidLiveHashSize | the livehash data is not the output of a SHA-384 digest |
| InvalidMaxAutoAssociations | The maximum automatic associations value is not valid.<br/>
The most common cause for this error is a value less than |
| InvalidMaxCustomFees | The provided list contains invalid max custom fee. |
| InvalidMetadataKey | A provided metadata key was invalid. Verification includes, for example, checking the size of Ed25519 and ECDSA(secp256k1) public keys. |
| InvalidNftId | Invalid nft id |
| InvalidNodeAccount | Node Account provided does not match the node account of the node the transaction was submitted to. |
| InvalidNodeAccountId | A transaction failed because the node account identifier provided does not exist or is not valid.<br/> One common source of this error is providing a node account identifier using the "alias" form rather than "numeric" form. It is also used for atomic batch transaction for child transaction if the node account id is not 0.0.0. |
| InvalidNodeDescription | A transaction failed because the description field cannot be encoded as UTF-8 or is more than 100 bytes when encoded. |
| InvalidNodeId | A transaction failed because the consensus node identified is not valid or does not exist in state. |
| InvalidOwnerId | The account id specified as the owner in |
| InvalidPauseKey | The provided pause key was invalid |
| InvalidPayerAccountId | the response code when a smart contract id is passed for a crypto API request |
| InvalidPayerSignature | Payer signature is invalid |
| InvalidPendingAirdropId | The provided pending airdrop id is invalid.<br/> This pending airdrop MAY already be claimed or cancelled. <p> The client SHOULD query a mirror node to determine the current status of the pending airdrop. |
| InvalidPrngRange | The range provided in UtilPrng transaction is negative. |
| InvalidProxyAccountId | [Deprecated] The proxy account id is invalid or does not exist. |
| InvalidQueryHeader | the query header is invalid |
| InvalidQueryRange | The range of data to be gathered is out of the set boundaries |
| InvalidReceiveRecordThreshold | [Deprecated]. attempt to set negative receive record threshold |
| InvalidReceivingNodeAccount | In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| InvalidRenewalPeriod | auto renewal period is not a positive number of seconds |
| InvalidScheduleAccountId | The Schedule Create Transaction TransactionID account does not exist |
| InvalidScheduleId | The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| InvalidSchedulePayerId | The provided Scheduled Payer does not exist |
| InvalidSendRecordThreshold | [Deprecated]. attempt to set negative send record threshold |
| InvalidSerializedTxMessageHashAlgorithm | A HAPI client cannot set the SignedTransaction#use_serialized_tx_message_hash_algorithm field. |
| InvalidServiceEndpoint | A transaction failed because one or more entries in the list of
service endpoints for the |
| InvalidSignature | The transaction signature is not valid |
| InvalidSignatureCountMismatchingKey | the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| InvalidSignatureTypeMismatchingKey | the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| InvalidSolidityAddress | During an update transaction when the system is not able to find the Users Solidity address |
| InvalidSolidityId | The solidity id is invalid or entity with this solidity id does not exist |
| InvalidStakingId | The staking account id or staking node id given is invalid or does not exist. |
| InvalidSubmitKey | A provided submit key was invalid. |
| InvalidSupplyKey | The provided supply key was invalid. |
| InvalidThrottleDefinitions | The new throttle definitions system file were invalid, and no more specific error could be divined |
| InvalidTokenBurnAmount | The requested token burn amount would cause an invalid total supply |
| InvalidTokenBurnMetadata | The requested token burn metadata was invalid |
| InvalidTokenDecimals | Invalid token decimals |
| InvalidTokenId | The token is invalid or does not exist |
| InvalidTokenIdInCustomFees | Any of the token Ids in customFees is invalid |
| InvalidTokenInPendingAirdrop | This airdrop claim is for a pending airdrop with an invalid token.<br/> The token might be deleted, or the sender may not have enough tokens to fulfill the offer. <p> The client SHOULD query mirror node to determine the status of the pending airdrop and whether the sender can fulfill the offer. |
| InvalidTokenInitialSupply | Invalid token initial supply |
| InvalidTokenMaxSupply | Invalid token max supply |
| InvalidTokenMintAmount | The requested token mint amount would cause an invalid total supply |
| InvalidTokenMintMetadata | The requested token mint metadata was invalid |
| InvalidTokenNftSerialNumber | Invalid token nft serial number |
| InvalidTokenSymbol | Token Symbol is not UTF-8 capitalized alphabetical string |
| InvalidTopicId | The Topic ID specified is not in the system. |
| InvalidTopicMessage | A ConsensusService message is empty. |
| InvalidTransaction | For any error not handled by specific error codes listed below. |
| InvalidTransactionBody | Invalid transaction body provided |
| InvalidTransactionDuration | The given transactionValidDuration was either non-positive, or greater than the maximum valid duration of 180 secs. |
| InvalidTransactionId | Transaction id is not valid |
| InvalidTransactionStart | Transaction start time is greater than current consensus time |
| InvalidTransferAccountId | The transfer account id in CryptoDelete transaction is invalid or does not exist. |
| InvalidTreasuryAccountForToken | Treasury Account does not exist or is deleted |
| InvalidWipeKey | The provided wipe key was invalid. |
| InvalidWipingAmount | The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| InvalidZeroByteInString | A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| IpFqdnCannotBeSetForSameEndpoint | In ServiceEndpoint, domain_name and ipAddressV4 are mutually exclusive |
| KeyNotProvided | The keys were not provided in the request. |
| KeyPrefixMismatch | one public key matches more than one prefixes on the signature map |
| KeyRequired | Key not provided in the transaction body |
| LiveHashAlreadyExists | the livehash already exists for a given account |
| LiveHashNotFound | the livehash is not present |
| LocalCallModificationException | local execution (query) is requested for a function which changes state |
| MaxAllowancesExceeded | The payer account of an approveAllowances or adjustAllowance transaction is attempting to go beyond the maximum allowed number of allowances. |
| MaxChildRecordsExceeded | A contract transaction tried to use more than the allowed number of child records, via either system contract records or internal contract creations. |
| MaxContractStorageExceeded | Contract permanent storage exceeded the currently allowable limit |
| MaxCustomFeeLimitExceeded | The fee amount is exceeding the amount that the payer is willing to pay. |
| MaxCustomFeesIsNotSupported | Max custom fees list is not supported for this operation. |
| MaxEntitiesInPriceRegimeHaveBeenCreated | The maximum number of entities allowed in the current price regime have been created. |
| MaxEntriesForFeeExemptKeyListExceeded | The provided fee exempt key list size exceeded the limit. |
| MaxFileSizeExceeded | File size exceeded the currently allowable limit |
| MaxGasLimitExceeded | Gas exceeded currently allowable gas limit per transaction |
| MaxNftsInPriceRegimeHaveBeenMinted | All the NFTs allowed in the current price regime have already been minted |
| MaxNodesCreated | The maximum number of nodes allowed in the address book have been created. |
| MaxStorageInPriceRegimeHasBeenUsed | All contract storage allocated to the current price regime has been consumed. |
| MemoTooLong | Transaction memo size exceeded 100 bytes |
| MessageSizeTooLarge | ConsensusSubmitMessage request's message size is larger than allowed. |
| MetadataTooLong | Nft metadata is too long |
| MissingBatchKey | The inner transaction of a batch transaction is missing a batch key |
| MissingExpiryTime | A scheduled transaction configured to wait for expiry to execute was not given an explicit expiration time. |
| MissingQueryHeader | Header is missing in Query request |
| MissingSerialNumbers | NFT serial numbers are missing in the TokenUpdateNftsTransactionBody |
| MissingTokenMetadata | Token Metadata is not provided |
| MissingTokenName | Token Name is not provided |
| MissingTokenSymbol | A token symbol was not provided |
| ModifyingImmutableContract | attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| NegativeAllowanceAmount | The specified amount for an approved allowance cannot be negative. |
| NftInFungibleTokenAllowances | Non fungible token used in fungible token allowances |
| NftTransfersOnlyAllowedForNonFungibleUnique | An NFT transfers list referenced a token type other than NON_FUNGIBLE_UNIQUE. |
| NoFreezeIsScheduled | A FREEZE_ABORT transaction was handled with no scheduled freeze. |
| NoNewValidSignatures | The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| NoRemainingAutomaticAssociations | The account has reached the limit on the automatic associations count. |
| NoSchedulingAllowedAfterScheduledRecursion | A contract operation attempted to schedule another transaction after it had already scheduled a recursive contract call. |
| NoUpgradeHasBeenPrepared | A FREEZE_UPGRADE transaction was handled with no previous update prepared. |
| NoValidMaxCustomFee | There are no corresponding custom fees. |
| NoWaclKey | WriteAccess Control Keys are not provided for the file |
| NodeAccountHasZeroBalance | This operation cannot be completed because the target account has a zero balance. Node accounts require a positive balance. The transaction may be resubmitted once the account has been funded. |
| NodeCapacityNotSufficientForOperation | Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| NodeDeleted | A transaction failed because the consensus node identified is deleted from the address book. |
| NotSpecialAccount | The payer account is not a special account(account 0.0.55) |
| NotSupported | The API is not currently supported |
| NullSolidityAddress | null solidity address |
| ObtainerDoesNotExist | transferAccountId or transferContractId specified for contract delete does not exist |
| ObtainerRequired | when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| ObtainerSameContractId | when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| Ok | The transaction passed the precheck validations. |
| OperationRepeatedInBucketGroups | An operation was assigned to more than one throttle group in a given bucket |
| PayerAccountDeleted | The payer account has been marked as deleted |
| PayerAccountNotFound | Payer account does not exist. |
| PayerAccountUnauthorized | The fee payer account doesn't have permission to submit such Transaction |
| PendingAirdropIdListTooLong | The number of |
| PendingAirdropIdRepeated | A |
| PendingNftAirdropAlreadyExists | A pending airdrop already exists for the specified NFT. |
| PermanentRemovalRequiresSystemInitiation | A delete transaction submitted via HAPI set permanent_removal=true |
| PlatformNotActive | the platform node is either disconnected or lagging behind. |
| PlatformTransactionNotCreated | transaction not created by platform due to large backlog |
| PreparedUpdateFileIsImmutable | The prepared update file cannot be updated or appended until either the upgrade has been completed, or a FREEZE_ABORT has been handled. |
| ProxyAccountIdFieldIsDeprecated | A CryptoCreate or ContractCreate used the deprecated proxyAccountID field. |
| ReceiptNotFound | Receipt for given transaction id does not exist |
| ReceiverSigRequired | When a valid signature is not provided for operations on account with receiverSigRequired=true |
| RecordNotFound | Record for given transaction id does not exist |
| RecursiveSchedulingLimitReached | A contract can schedule recursive calls a finite number of times (this is approximately four million times with typical network configuration.) |
| RejectedByAccountAllowanceHook | A CryptoTransfer relying on a ACCOUNT_ALLOWANCE hook was rejected. |
| RepeatedAllowancesToDelete | [Deprecated] If the CryptoDeleteAllowance transaction has repeated crypto or token or Nft allowances to delete. |
| RepeatedSerialNumsInNftAllowances | [Deprecated] Serial numbers are repeated in nft allowance for a single spender account |
| RequestedNumAutomaticAssociationsExceedsAssociationLimit | Cannot set the number of automatic associations for an account more than the maximum allowed token associations <tt>tokens.maxPerAccount</tt>. |
| ResultSizeLimitExceeded | Smart contract result size greater than specified maxResultSize |
| RevertedSuccess | A precompiled contract succeeded, but was later reverted. |
| RoyaltyFractionCannotExceedOne | A royalty cannot exceed the total fungible value exchanged for an NFT |
| RpcError | A RPC Error occurred preventing the transaction from being submitted to the network. |
| ScheduleAlreadyDeleted | A schedule being signed or deleted has already been deleted |
| ScheduleAlreadyExecuted | A schedule being signed or deleted has already been executed |
| ScheduleExpirationTimeMustBeHigherThanConsensusTime | The scheduled transaction could not be created because it's expiration_time was less than or equal to the consensus time. |
| ScheduleExpirationTimeTooFarInFuture | The scheduled transaction could not be created because it's expiration_time was too far in the future. |
| ScheduleExpiryIsBusy | A scheduled transaction configured to wait for expiry to execute was given an expiry time at which there is already too many transactions scheduled to expire; its creation must be retried with a different expiry. |
| ScheduleExpiryNotConfigurable | The provided schedule expiry time is not configurable. |
| ScheduleFutureGasLimitExceeded | The scheduled transaction could not be created because it would cause the gas limit to be violated on the specified expiration_time. |
| ScheduleFutureThrottleExceeded | The scheduled transaction could not be created because it would cause throttles to be violated on the specified expiration_time. |
| ScheduleIsImmutable | The Scheduled entity cannot be modified. Admin key not set |
| SchedulePendingExpiration | A schedule being signed or deleted has passed it's expiration date and is pending execution if needed and then expiration. |
| ScheduledTransactionNotInWhitelist | Only whitelisted transaction types may be scheduled |
| SelfStakingIsNotAllowed | An account set the staked_account_id to itself in CryptoUpdate or ContractUpdate transactions. |
| SenderDoesNotOwnNftSerialNo | The transaction attempted to move an NFT serial number from an account other than its owner |
| SerialNumberLimitReached | Currently no more than 4,294,967,295 NFTs may be minted for a given unique token type |
| SerializationFailed | Serialization failure |
| ServiceEndpointsExceededLimit | The number of service endpoints exceeds the limit |
| SettingNegativeAccountBalance | attempting to set negative balance value for crypto account |
| SomeSignaturesWereInvalid | At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| SpenderAccountRepeatedInAllowances | [Deprecated] Spender is repeated more than once in Crypto or Token or NFT allowance lists in a single CryptoApproveAllowance transaction. |
| SpenderAccountSameAsOwner | An approved allowance specifies a spender account that is the same as the hbar/token owner account. |
| SpenderDoesNotHaveAllowance | The spender does not have an existing approved allowance with the hbar/token owner. |
| StakingNotEnabled | Native staking, while implemented, has not yet enabled by the council. |
| Success | The transaction succeeded |
| SuccessButMissingExpectedOperation | The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| ThrottleGroupHasZeroOpsPerSec | A throttle group was granted zero opsPerSec |
| ThrottleGroupLcmOverflow | The least common multiple of the throttle group's milliOpsPerSec is too large and it's overflowing. |
| ThrottledAtConsensus | Consensus throttle did not allow execution of this transaction.<br/> The transaction should be retried after a modest delay. |
| TokenAirdropWithFallbackRoyalty | The token to be airdropped has a fallback royalty fee and cannot be sent or claimed via an airdrop transaction. |
| TokenAlreadyAssociatedToAccount | An <tt>associateToken</tt> operation specified a token already associated to the account |
| TokenHasNoAdminKey | Admin key is not set on token |
| TokenHasNoFeeScheduleKey | Fee schedule key is not set on token |
| TokenHasNoFreezeKey | Freeze key is not set on token |
| TokenHasNoKycKey | KYC key is not set on token |
| TokenHasNoMetadataKey | Metadata key is not set on token |
| TokenHasNoMetadataOrSupplyKey | The token has no metadata or supply key |
| TokenHasNoPauseKey | Pause key is not set on token |
| TokenHasNoSupplyKey | Supply key is not set on token |
| TokenHasNoWipeKey | Wipe key is not set on token |
| TokenIdRepeatedInTokenList | Same TokenIDs present in the token list |
| TokenIsImmutable | Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TokenIsPaused | Token is paused. This Token cannot be a part of any kind of Transaction until unpaused. |
| TokenMaxSupplyReached | A token cannot have more units minted due to its configured supply ceiling |
| TokenNameTooLong | Token Name is too long |
| TokenNotAssociatedToAccount | A required token-account relationship is missing |
| TokenNotAssociatedToFeeCollector | Any of the token Ids in customFees are not associated to feeCollector |
| TokenReferenceListSizeLimitExceeded | The transaction attempted to use more than the allowed number of |
| TokenReferenceRepeated | The transaction attempted to use duplicate |
| TokenSymbolTooLong | The provided token symbol was too long |
| TokenTransferListSizeLimitExceeded | Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| TokenWasDeleted | Token transactions cannot be executed on deleted token |
| TokensPerAccountLimitExceeded | An involved account already has more than <tt>tokens.maxPerAccount</tt> associations with non-deleted tokens. |
| TooManyEvmHookStorageUpdates | The HookStore tried to update too many storage slots in a single transaction. |
| TooManyHookInvocations | The number of hook invocations exceeds the maximum allowed per transaction. |
| TopicExpired | The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| TotalLedgerBalanceInvalid | The total ledger balance is invalid. |
| TransactionExpired | Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| TransactionHasUnknownFields | A transaction's protobuf message includes unknown fields; could mean that a client expects not-yet-released functionality to be available. |
| TransactionIdFieldNotAllowed | The scheduled field in the TransactionID may not be set to true |
| TransactionOversize | The size of the Transaction is greater than transactionMaxBytes |
| TransactionRequiresZeroHooks | The attempted operation is invalid until all the target entity's hooks have been deleted. |
| TransactionRequiresZeroTokenBalances | An attempted operation is invalid until all token balances for the target account are zero |
| TransactionTooManyLayers | The Transaction has more than 50 levels |
| TransferAccountSameAsDeleteAccount | Transfer Account should not be same as Account to be deleted |
| TransferListSizeLimitExceeded | Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| TransferToFeeCollectionAccountNotAllowed | This operation cannot be completed because the target account is a "Fee Collection Account". Any attempt to transfer to a fee collection account is not permitted. |
| TransfersNotZeroSumForToken | Amounts in transfer list are not net zero |
| TreasuryMustOwnBurnedNft | A NFT can only be burned when owned by the unique token's treasury |
| Unauthorized | An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| UnexpectedTokenDecimals | A fungible token transfer expected a different number of decimals than the involved type actually has. |
| Unknown | The responding node has submitted the transaction to the network. Its final status is still unknown. |
| UnparseableThrottleDefinitions | The new contents for the throttle definitions system file were not valid protobuf |
| UnresolvableRequiredSigners | The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| UpdateFileHashChangedSincePrepareUpgrade | The update file hash when handling a FREEZE_UPGRADE transaction differs from the file hash at the time of handling the PREPARE_UPGRADE transaction. |
| UpdateFileHashDoesNotMatchPrepared | If an NMT upgrade has been prepared, the subsequent FREEZE_UPGRADE transaction must confirm the hash of the file to be used in the upgrade. |
| UpdateFileIdDoesNotMatchPrepared | If an NMT upgrade has been prepared, the subsequent FREEZE_UPGRADE transaction must confirm the id of the file to be used in the upgrade. |
| UpdateNodeAccountNotAllowed | The node account is not allowed to be updated |
| WaitingForLedgerId | The target network is waiting for the ledger ID to be set, which is a side effect of finishing the network's TSS construction. |
| WrongChainId | EthereumTransaction was signed against a chainId that this network does not support. |
| WrongHookEntityType | A HookStore referenced a valid entity number but with the wrong entity type. |
| WrongNonce | This transaction specified an ethereumNonce that is not the current ethereumNonce of the account. |