- All Implemented Interfaces:
Serializable,Comparable<Status>,Constable
TransactionReceipt, PrecheckStatusException
and ReceiptStatusException.
The success variant is SUCCESS which is what a TransactionReceipt will contain for a
successful transaction.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionThe ethereum transaction specified an access list, which the network does not support.An AccountAmount token transfers list referenced a token type other than FUNGIBLE_COMMONthe account has been marked as deletedAn account did not own the NFT to be wipedThe 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 entitiesAccount is frozen and cannot transact with the tokenThe identified account is sender for one or more pending airdrop(s) and cannot be deleted.the account id passed has not yet been created.The account cannot be modified.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.Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis AccountAn attempted operation is invalid because the account is a treasuryKYC must be granted and account does not have KYC grantedsame accounts repeated in the transfer account listAn account cannot be dissociated from a unique token if it owns NFTs for the tokenThe update of the account failedToken airdrop transactions can not contain multiple senders for a single token.An alias that is assigned to an account or contract cannot be assigned to another account or contract.The alias already set on an account cannot be updated using CryptoUpdate transaction.The transfer amount exceeds the current approved allowance for the spender account.The establishment or adjustment of an approved allowance cause the token allowance to exceed the token maximum supply.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 and 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).An adminKey was not specified on the topic, so there must not be an autoRenewAccount.the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION]Unsupported algorithm/encoding used for keys in the transactionA transaction tried to execute a hook that did not match the specified type or was malformed in some other way.The batch key is set for a non batch transactionThe list of batch transactions contains duplicated transactionsThe list of batch transactions is emptyRepeated operations count exceeds the limitThe list of batch transactions contains a transaction type that is in the AtomicBatch blacklist as configured in the network.The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral typeA bucket was defined without any throttle groupsIf API is throttled outThe approveForAll flag cannot be set for a fungible token.Cannot set both a hook call and an approval on the same AccountAmount or NftTransfer message.The target of a wipe operation was the token treasury accountConsensus throttle did not allow execution of this transaction.Bytecode for smart contract is of length zeroContract is marked as deletedFor any contract execution related error not handled by specific error codes listed above.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.File to create a smart contract was of length zeroA ContractUpdate requested removal of a contract's auto-renew account, but that contract has no auto-renew account.A selfdestruct or ContractDelete targeted a contract with non-zero token balances.A selfdestruct or ContractDelete targeted a contract that is a token treasury.Negative gas was offered in smart contract callNegative value / initial balance was specified in a smart contract call / createContract REVERT OPCODE executedcontract byte code size is over the limitupdate of the contract failedThe network just started at genesis and is creating system entities.The treasury for a unique token cannot be changed until it owns no NFTsMore than 20 balance adjustments were to satisfy a CryptoTransfer and its implied custom fee paymentsThe reference chain of custom fees for a transferred token exceeded the maximum length of 2Only tokens of type FUNGIBLE_COMMON can be used to as fee schedule denominationsOnly positive fees may be assessed at this timeA custom fee schedule entry did not specify either a fixed or fractional feeA fractional custom fee exceeded the range of a 64-bit signed integerMore than 10 custom fees were specifiedOnly tokens of type FUNGIBLE_COMMON can have fractional feesOnly tokens of type NON_FUNGIBLE_UNIQUE can have royalty feesA fee schedule update tried to clear the custom fees from a token whose fee schedule was already emptyThe delegating Spender cannot grant approveForAll allowance on a NFT token type for another spender.The delegating Spender cannot grant allowance on a NFT serial for another spender as it doesnt not have approveForAll granted on token-owner.The provided max custom fee list contains fees with duplicate account id.The provided max custom fee list contains fees with duplicate denominations.This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period)No allowances have been specified in the approval transaction.An EVM hook storage update had no contents.the livehash data is missingthe livehash body is emptythe keys for a livehash are missingthe crypto livehash query is emptyThe list of `PendingAirdropId`s is empty and MUST NOT be empty.the query body is emptyThe transaction attempted to use empty `TokenReference` list.TokenTransfersTransactionBody has a TokenTransferList with no AccountAmountsTokenTransfersTransactionBody has no TokenTransferListTransaction body provided is emptyEntities with Entity ID below 1000 are not allowed to be deletedDecoding the smart contract binary to a byte array failed.An EVM hook execution was throttled due to high network gas utilization.An EVM hook's mapping slot, storage key, or storage value failed to use the minimal representation (i.e., no leading zeros).An EVM hook mapping slot, storage key, or storage value exceeded 32 bytes.The change on Exchange Rate exceeds Exchange_Rate_Allowed_PercentageAlready existing automatic associations are more than the new maximum automatic associations.The expiration date/time on a smart contract may not be reducedThere was a system error while performing balance checks, reserved for future.There was a system error while performing fee calculation, reserved for future.There was a system error and the transaction failed because of invalid request parameters.The provided fee exempt key list contains duplicated keys.Fee Schedule Proto File Part uploadedIf a fee schedule key is not set when we create a topic we cannot add it on update.If the topic's custom fees are updated the topic SHOULD have a fee schedule keyThe contents of file are provided as empty.the file has been marked as deletedUnexpected exception thrown by file system functionsFee Schedule Proto uploaded but not valid (append or update is required)Fee Schedule Proto uploaded but not valid (append or update is required)In ServiceEndpoint, domain_name size too largeA custom fractional fee set a denominator of zeroEach fractional custom fee must have its maximum_amount, if specified, at least its minimum_amountOnce a freeze is scheduled, it must be aborted before any other type of freeze can can be performed.The given freeze start time was in the (consensus) past.FreezeTransactionBody does not existThe update file in a freeze transaction body must exist.The hash of the update file in a freeze transaction body must match the in-memory hash.If an NMT upgrade has been prepared, the following operation must be a FREEZE_UPGRADE.Fungible common token used in NFT allowancesFully qualified domain name is not allowed in gossip_endpointThe number of gossip endpoints exceeds the limitThe GRPC proxy endpoint is set in the NodeCreate or NodeUpdate transaction, which the network does not support.An EVM hook mapping slot, storage key, or storage value failed to use the minimal representation (i.e., no leading zeros).A EVM hook mapping slot, storage key, or storage value exceeded 32 bytes.A hook was deleted.The hook deletion requires the hook to have zero storage slots.A hook extension point was empty.A user tried to create a hook with an id already in use.A user repeated the same hook id in a creation details list.The target hook is not an EVM hook.A hook id was not found.Hooks are not supported to be used in TokenAirdrop transactionsHooks are not supported to be used in Batch transactions and Scheduled transactions.Hooks are not not enabled on the target Hiero network.A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID)The inner transaction of a batch transaction failedWhen the account balance is not sufficient for the transferThe 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.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.Not enough gas was supplied to execute transactionPayment tendered for contract local call cannot cover both the fee and the gasThe payer account has insufficient cryptocurrency to pay the transaction feeThe transaction payer could not afford a custom feeThe sender account in the token transfer transaction could not afford a custom feeToken balance is not sufficient for the transactionThe fee provided in the transaction is insufficient for this type of transactionThe crypto transfer credit and debit do not sum equal to 0The account id is invalid or does not existA provided admin key was invalid.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.The account id specified as the owner is invalid or does not exist.The account id specified as the spender is invalid or does not exist.The autoRenewAccount specified is not a valid, active account.The batch key is not validchunk number must be from 1 to total (chunks) inclusive.For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction.The contract id is invalid or does not existAny of the feeCollector accounts for customFees is invalidThe provided custom fee schedule key was invalidIf the account Id specified as the delegating spender is invalid or does not exist.ServiceEndpoint is invalidThe ethereum transaction either failed parsing or failed signature validation, or some other EthereumTransaction error not covered by another response code.Failed to update exchange rate fileExpiration time provided in the transaction was invalid.The fee collector account id in TokenFeeScheduleUpdate is invalid or does not exist.Failed to update fee fileThe provided fee schedule key contains an invalid key.Invalid fee submittedThe file id is invalid or does not existFile WACL keys are invalidThe provided freeze key was invalid.FreezeTransactionBody is invalidThe full prefix signature for precompile is not validA transaction failed because the TLS certificate provided for the node is missing or invalid.A transaction failed because one or more entries in the list of service endpoints for the `gossip_endpoint` field is invalid.
The most common cause for this response is a service endpoint that has the domain name (DNS) set rather than address and port.A transaction failed because the hash provided for the gRPC certificate is present but invalid.The provided gRPC certificate hash is invalid.A hook admin key was invalid.The HookCall set in the transaction is invalidA hook creation spec was not found.A hook id was invalid.Attempt to set negative initial balanceThe IPv4 address is invalidProvided key encoding was not supported by the systemThe provided fee exempt key list contains an invalid key.The provided KYC key was invalid.the livehash data is not the output of a SHA-384 digestThe maximum automatic associations value is not valid.
The most common cause for this error is a value less than `-1`.The provided list contains invalid max custom fee.A provided metadata key was invalid.Invalid nft idNode Account provided does not match the node account of the node the transaction was submitted to.A transaction failed because the node account identifier provided does not exist or is not valid.
One common source of this error is providing a node account identifier using the "alias" form rather than "numeric" form.A transaction failed because the description field cannot be encoded as UTF-8 or is more than 100 bytes when encoded.A transaction failed because the consensus node identified is not valid or does not exist in state.The account id specified as the owner in `TokenReject` is invalid or does not exist.The provided pause key was invalidthe response code when a smart contract id is passed for a crypto API requestPayer signature is invalidThe provided pending airdrop id is invalid.
This pending airdrop MAY already be claimed or cancelled.The range provided in UtilPrng transaction is negative.The proxy account id is invalid or does not exist.the query header is invalidThe range of data to be gathered is out of the set boundariesAttempt to set negative receive record thresholdIn Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the listA registered service endpoint is invalid.
The port is out of range, or the address field is not set.A registered service endpoint has an invalid address.
The IP address length is not 4 (IPv4) or 16 (IPv6), or the domain name is not a valid ASCII FQDN.A registered service endpoint does not specify an endpoint type.
Exactly one of block_node, mirror_node, or rpc_relay MUST be set.A registered node ID is invalid or does not exist.auto renewal period is not a positive number of secondsThe Schedule Create Transaction TransactionID account does not existThe Scheduled entity does not exist; or has now expired, been deleted, or been executedThe provided Scheduled Payer does not existAttempt to set negative send record thresholdA HAPI client cannot set the SignedTransaction#use_serialized_tx_message_hash_algorithm field.A transaction failed because one or more entries in the list of service endpoints for the `service_endpoint` field is invalid.
The most common cause for this response is a service endpoint that has the domain name (DNS) set rather than address and port.The transaction signature is not validthe number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature).the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature)During an update transaction when the system is not able to find the Users Solidity addressThe solidity id is invalid or entity with this solidity id does not existThe staking account id or staking node id given is invalid or does not exist.A provided submit key was invalid.The provided supply key was invalid.The new throttle definitions system file were invalid, and no more specific error could be divinedThe requested token burn amount would cause an invalid total supplyThe requested token burn metadata was invalidInvalid token decimalsThe token is invalid or does not existAny of the token Ids in customFees is invalidThis airdrop claim is for a pending airdrop with an invalid token.
The token might be deleted, or the sender may not have enough tokens to fulfill the offer.Invalid token initial supplyInvalid token max supplyThe requested token mint amount would cause an invalid total supplyThe requested token mint metadata was invalidInvalid token nft serial numberToken Symbol is not UTF-8 capitalized alphabetical stringThe Topic ID specified is not in the system.A ConsensusService message is empty.For any error not handled by specific error codes listed below.Invalid transaction body providedThe given transactionValidDuration was either non-positive, or greater than the maximum valid duration of 180 secs.Transaction id is not validTransaction start time is greater than current consensus timeThe transfer account id in CryptoDelete transaction is invalid or does not exist.Treasury Account does not exist or is deletedThe provided wipe key was invalid.The provided wipe amount must not be negative, zero or bigger than the token holder balanceA string field in the transaction has a UTF-8 encoding with the prohibited zero byteIn ServiceEndpoint, domain_name and ipAddressV4 are mutually exclusiveThe keys were not provided in the request.one public key matches more than one prefixes on the signature mapKey not provided in the transaction bodythe livehash already exists for a given accountthe livehash is not presentlocal execution (query) is requested for a function which changes stateThe payer account of an approveAllowances or adjustAllowance transaction is attempting to go beyond the maximum allowed number of allowances.A contract transaction tried to use more than the allowed number of child records, via either system contract records or internal contract creations.Contract permanent storage exceeded the currently allowable limitThe fee amount is exceeding the amount that the payer is willing to pay.Max custom fees list is not supported for this operation.The maximum number of entities allowed in the current price regime have been created.The provided fee exempt key list size exceeded the limit.File size exceeded the currently allowable limitGas exceeded currently allowable gas limit per transactionAll the NFTs allowed in the current price regime have already been mintedThe maximum number of nodes allowed in the address book have been created.The number of associated registered nodes exceeds the maximum allowed limit.All contract storage allocated to the current price regime has been consumed.Transaction memo size exceeded 100 bytesConsensusSubmitMessage request's message size is larger than allowed.Nft metadata is too longThe inner transaction of a batch transaction is missing a batch keyA scheduled transaction configured to wait for expiry to execute was not given an explicit expiration time.Header is missing in Query requestNFT serial numbers are missing in the TokenUpdateNftsTransactionBodyToken Metadata is not providedToken Name is not providedA token symbol was not providedattempting to modify (update or delete a immutable smart contract, i.e.The specified amount for an approved allowance cannot be negative.Non fungible token used in fungible token allowancesAn NFT transfers list referenced a token type other than NON_FUNGIBLE_UNIQUE.A FREEZE_ABORT transaction was handled with no scheduled freeze.The provided sig map did not contain any new valid signatures from required signers of the scheduled transactionThe account has reached the limit on the automatic associations count.A contract operation attempted to schedule another transaction after it had already scheduled a recursive contract call.A FREEZE_UPGRADE transaction was handled with no previous update prepared.There are no corresponding custom fees.WriteAccess Control Keys are not provided for the fileThis operation cannot be completed because the target account has a zero balance.
Node accounts require a positive balance.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 increasedA transaction failed because the consensus node identified is deleted from the address book.The payer account is not a special account(account 0.0.55)The API is not currently supportednull solidity addresstransferAccountId or transferContractId specified for contract delete does not existwhen deleting smart contract that has crypto balance either transfer account or transfer smart contract is requiredwhen deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deletedThe transaction passed the precheck validations.An operation was assigned to more than one throttle group in a given bucketThe payer account has been marked as deletedPayer account does not exist.The fee payer account doesn't have permission to submit such TransactionThe number of `PendingAirdropId` values in the list exceeds the maximum allowable number.A `PendingAirdropId` is repeated in a `claim` or `cancel` transaction.A pending airdrop already exists for the specified NFT.A delete transaction submitted via HAPI set permanent_removal=truethe platform node is either disconnected or lagging behind.transaction not created by platform due to large backlogThe prepared update file cannot be updated or appended until either the upgrade has been completed, or a FREEZE_ABORT has been handled.A CryptoCreate or ContractCreate used the deprecated proxyAccountID field.Receipt for given transaction id does not existWhen a valid signature is not provided for operations on account with receiverSigRequired=trueRecord for given transaction id does not existA contract can schedule recursive calls a finite number of times (this is approximately four million times with typical network configuration.)The number of registered service endpoints exceeds the configured limit.A registered node cannot be deleted because it is still associated with a consensus node via their associated registered node list.A CryptoTransfer relying on a ACCOUNT_ALLOWANCE hook was rejected.[Deprecated] If the CryptoDeleteAllowance transaction has repeated crypto or token or Nft allowances to delete.Serial numbers are repeated in nft allowance for a single spender accountCannot set the number of automatic associations for an account more than the maximum allowed token associations tokens.maxPerAccount.Smart contract result size greater than specified maxResultSizeA precompiled contract succeeded, but was later reverted.A royalty cannot exceed the total fungible value exchanged for an NFTA schedule being signed or deleted has already been deletedA schedule being signed or deleted has already been executedThe scheduled transaction could not be created because it's expiration_time was less than or equal to the consensus time.The scheduled transaction could not be created because it's expiration_time was too far in the future.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.The provided schedule expiry time is not configurable.The scheduled transaction could not be created because it would cause the gas limit to be violated on the specified expiration_time.The scheduled transaction could not be created because it would cause throttles to be violated on the specified expiration_time.The Scheduled entity cannot be modified.A schedule being signed or deleted has passed it's expiration date and is pending execution if needed and then expiration.Only whitelisted transaction types may be scheduledAn account set the staked_account_id to itself in CryptoUpdate or ContractUpdate transactions.The transaction attempted to move an NFT serial number from an account other than its ownerCurrently no more than 4,294,967,295 NFTs may be minted for a given unique token typeSerialization failureThe number of service endpoints exceeds the limitattempting to set negative balance value for crypto accountAt least one of the signatures in the provided sig map did not represent a valid signature for any required signerSpender is repeated more than once in Crypto or Token or NFT allowance lists in a single CryptoApproveAllowance transaction.An approved allowance specifies a spender account that is the same as the hbar/token owner account.The spender does not have an existing approved allowance with the hbar/token owner.Native staking, while implemented, has not yet enabled by the council.The transaction succeededThe throttle definitions file was updated, but some supported operations were not assigned a bucketA throttle group was granted zero opsPerSecThe least common multiple of the throttle group's milliOpsPerSec is too large and it's overflowing.Consensus throttle did not allow execution of this transaction.
The transaction should be retried after a modest delay.The token to be airdropped has a fallback royalty fee and cannot be sent or claimed via an airdrop transaction.An associateToken operation specified a token already associated to the accountAdmin key is not set on tokenFee schedule key is not set on tokenFreeze key is not set on tokenKYC key is not set on tokenMetadata key is not set on tokenThe token has no metadata or supply keyPause key is not set on tokenSupply key is not set on tokenWipe key is not set on tokenSame TokenIDs present in the token listToken does not have Admin key set, thus update/delete transactions cannot be performedToken is paused.A token cannot have more units minted due to its configured supply ceilingToken Name is too longA required token-account relationship is missingAny of the token Ids in customFees are not associated to feeCollectorThe transaction attempted to use more than the allowed number of `TokenReference`.The transaction attempted to use duplicate `TokenReference`.
This affects `TokenReject` attempting to reject same token reference more than once.The provided token symbol was too longExceeded the number of token transfers (both from and to) allowed for token transfer listToken transactions cannot be executed on deleted tokenAn involved account already has more than tokens.maxPerAccount associations with non-deleted tokens.The HookStore tried to update too many storage slots in a single transaction.The number of hook invocations exceeds the maximum allowed per transaction.The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably.Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time.A transaction's protobuf message includes unknown fields; could mean that a client expects not-yet-released functionality to be available.The scheduled field in the TransactionID may not be set to trueThe size of the Transaction is greater than transactionMaxBytesThe attempted operation is invalid until all the target entity's hooks have been deleted.An attempted operation is invalid until all token balances for the target account are zeroThe Transaction has more than 50 levelsTransfer Account should not be same as Account to be deletedExceeded the number of accounts (both from and to) allowed for crypto transfer listThis 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.Amounts in transfer list are not net zeroA NFT can only be burned when owned by the unique token's treasuryAn attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey).A fungible token transfer expected a different number of decimals than the involved type actually has.The responding node has submitted the transaction to the network.The new contents for the throttle definitions system file were not valid protobufThe required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deletedThe update file hash when handling a FREEZE_UPGRADE transaction differs from the file hash at the time of handling the PREPARE_UPGRADE transaction.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.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.The node account is not allowed to be updatedThe target network is waiting for the ledger ID to be set, which is a side effect of finishing the network's TSS construction.EthereumTransaction was signed against a chainId that this network does not support.A HookStore referenced a valid entity number but with the wrong entity type.This transaction specified an ethereumNonce that is not the current ethereumNonce of the account. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic StatusfromResponseCode(int reponseCode) inttoString()(package private) static StatusvalueOf(ResponseCodeEnum code) Returns the enum constant of this class with the specified name.static StatusReturns the enum constant of this class with the specified name.static Status[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
OK
The transaction passed the precheck validations. -
INVALID_TRANSACTION
For any error not handled by specific error codes listed below. -
PAYER_ACCOUNT_NOT_FOUND
Payer account does not exist. -
INVALID_NODE_ACCOUNT
Node Account provided does not match the node account of the node the transaction was submitted to. -
TRANSACTION_EXPIRED
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. -
INVALID_TRANSACTION_START
Transaction start time is greater than current consensus time -
INVALID_TRANSACTION_DURATION
The given transactionValidDuration was either non-positive, or greater than the maximum valid duration of 180 secs. -
INVALID_SIGNATURE
The transaction signature is not valid -
MEMO_TOO_LONG
Transaction memo size exceeded 100 bytes -
INSUFFICIENT_TX_FEE
The fee provided in the transaction is insufficient for this type of transaction -
INSUFFICIENT_PAYER_BALANCE
The payer account has insufficient cryptocurrency to pay the transaction fee -
DUPLICATE_TRANSACTION
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) -
BUSY
If API is throttled out -
NOT_SUPPORTED
The API is not currently supported -
INVALID_FILE_ID
The file id is invalid or does not exist -
INVALID_ACCOUNT_ID
The account id is invalid or does not exist -
INVALID_CONTRACT_ID
The contract id is invalid or does not exist -
INVALID_TRANSACTION_ID
Transaction id is not valid -
RECEIPT_NOT_FOUND
Receipt for given transaction id does not exist -
RECORD_NOT_FOUND
Record for given transaction id does not exist -
INVALID_SOLIDITY_ID
The solidity id is invalid or entity with this solidity id does not exist -
UNKNOWN
The responding node has submitted the transaction to the network. Its final status is still unknown. -
SUCCESS
The transaction succeeded -
FAIL_INVALID
There was a system error and the transaction failed because of invalid request parameters. -
FAIL_FEE
There was a system error while performing fee calculation, reserved for future. -
FAIL_BALANCE
There was a system error while performing balance checks, reserved for future. -
KEY_REQUIRED
Key not provided in the transaction body -
BAD_ENCODING
Unsupported algorithm/encoding used for keys in the transaction -
INSUFFICIENT_ACCOUNT_BALANCE
When the account balance is not sufficient for the transfer -
INVALID_SOLIDITY_ADDRESS
During an update transaction when the system is not able to find the Users Solidity address -
INSUFFICIENT_GAS
Not enough gas was supplied to execute transaction -
CONTRACT_SIZE_LIMIT_EXCEEDED
contract byte code size is over the limit -
LOCAL_CALL_MODIFICATION_EXCEPTION
local execution (query) is requested for a function which changes state -
CONTRACT_REVERT_EXECUTED
Contract REVERT OPCODE executed -
CONTRACT_EXECUTION_EXCEPTION
For any contract execution related error not handled by specific error codes listed above. -
INVALID_RECEIVING_NODE_ACCOUNT
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list -
MISSING_QUERY_HEADER
Header is missing in Query request -
ACCOUNT_UPDATE_FAILED
The update of the account failed -
INVALID_KEY_ENCODING
Provided key encoding was not supported by the system -
NULL_SOLIDITY_ADDRESS
null solidity address -
CONTRACT_UPDATE_FAILED
update of the contract failed -
INVALID_QUERY_HEADER
the query header is invalid -
INVALID_FEE_SUBMITTED
Invalid fee submitted -
INVALID_PAYER_SIGNATURE
Payer signature is invalid -
KEY_NOT_PROVIDED
The keys were not provided in the request. -
INVALID_EXPIRATION_TIME
Expiration time provided in the transaction was invalid. -
NO_WACL_KEY
WriteAccess Control Keys are not provided for the file -
FILE_CONTENT_EMPTY
The contents of file are provided as empty. -
INVALID_ACCOUNT_AMOUNTS
The crypto transfer credit and debit do not sum equal to 0 -
EMPTY_TRANSACTION_BODY
Transaction body provided is empty -
INVALID_TRANSACTION_BODY
Invalid transaction body provided -
INVALID_SIGNATURE_TYPE_MISMATCHING_KEY
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) -
INVALID_SIGNATURE_COUNT_MISMATCHING_KEY
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. -
EMPTY_LIVE_HASH_BODY
the livehash body is empty -
EMPTY_LIVE_HASH
the livehash data is missing -
EMPTY_LIVE_HASH_KEYS
the keys for a livehash are missing -
INVALID_LIVE_HASH_SIZE
the livehash data is not the output of a SHA-384 digest -
EMPTY_QUERY_BODY
the query body is empty -
EMPTY_LIVE_HASH_QUERY
the crypto livehash query is empty -
LIVE_HASH_NOT_FOUND
the livehash is not present -
ACCOUNT_ID_DOES_NOT_EXIST
the account id passed has not yet been created. -
LIVE_HASH_ALREADY_EXISTS
the livehash already exists for a given account -
INVALID_FILE_WACL
File WACL keys are invalid -
SERIALIZATION_FAILED
Serialization failure -
TRANSACTION_OVERSIZE
The size of the Transaction is greater than transactionMaxBytes -
TRANSACTION_TOO_MANY_LAYERS
The Transaction has more than 50 levels -
CONTRACT_DELETED
Contract is marked as deleted -
PLATFORM_NOT_ACTIVE
the platform node is either disconnected or lagging behind. -
KEY_PREFIX_MISMATCH
one public key matches more than one prefixes on the signature map -
PLATFORM_TRANSACTION_NOT_CREATED
transaction not created by platform due to large backlog -
INVALID_RENEWAL_PERIOD
auto renewal period is not a positive number of seconds -
INVALID_PAYER_ACCOUNT_ID
the response code when a smart contract id is passed for a crypto API request -
ACCOUNT_DELETED
the account has been marked as deleted -
FILE_DELETED
the file has been marked as deleted -
ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS
same accounts repeated in the transfer account list -
SETTING_NEGATIVE_ACCOUNT_BALANCE
attempting to set negative balance value for crypto account -
OBTAINER_REQUIRED
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required -
OBTAINER_SAME_CONTRACT_ID
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted -
OBTAINER_DOES_NOT_EXIST
transferAccountId or transferContractId specified for contract delete does not exist -
MODIFYING_IMMUTABLE_CONTRACT
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) -
FILE_SYSTEM_EXCEPTION
Unexpected exception thrown by file system functions -
AUTORENEW_DURATION_NOT_IN_RANGE
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] -
ERROR_DECODING_BYTESTRING
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. -
CONTRACT_FILE_EMPTY
File to create a smart contract was of length zero -
CONTRACT_BYTECODE_EMPTY
Bytecode for smart contract is of length zero -
INVALID_INITIAL_BALANCE
Attempt to set negative initial balance -
INVALID_RECEIVE_RECORD_THRESHOLD
Attempt to set negative receive record threshold -
INVALID_SEND_RECORD_THRESHOLD
Attempt to set negative send record threshold -
ACCOUNT_IS_NOT_GENESIS_ACCOUNT
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account -
PAYER_ACCOUNT_UNAUTHORIZED
The fee payer account doesn't have permission to submit such Transaction -
INVALID_FREEZE_TRANSACTION_BODY
FreezeTransactionBody is invalid -
FREEZE_TRANSACTION_BODY_NOT_FOUND
FreezeTransactionBody does not exist -
TRANSFER_LIST_SIZE_LIMIT_EXCEEDED
Exceeded the number of accounts (both from and to) allowed for crypto transfer list -
RESULT_SIZE_LIMIT_EXCEEDED
Smart contract result size greater than specified maxResultSize -
NOT_SPECIAL_ACCOUNT
The payer account is not a special account(account 0.0.55) -
CONTRACT_NEGATIVE_GAS
Negative gas was offered in smart contract call -
CONTRACT_NEGATIVE_VALUE
Negative value / initial balance was specified in a smart contract call / create -
INVALID_FEE_FILE
Failed to update fee file -
INVALID_EXCHANGE_RATE_FILE
Failed to update exchange rate file -
INSUFFICIENT_LOCAL_CALL_GAS
Payment tendered for contract local call cannot cover both the fee and the gas -
ENTITY_NOT_ALLOWED_TO_DELETE
Entities with Entity ID below 1000 are not allowed to be deleted -
AUTHORIZATION_FAILED
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 and 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). -
FILE_UPLOADED_PROTO_INVALID
Fee Schedule Proto uploaded but not valid (append or update is required) -
FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK
Fee Schedule Proto uploaded but not valid (append or update is required) -
FEE_SCHEDULE_FILE_PART_UPLOADED
Fee Schedule Proto File Part uploaded -
EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage -
MAX_CONTRACT_STORAGE_EXCEEDED
Contract permanent storage exceeded the currently allowable limit -
TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT
Transfer Account should not be same as Account to be deleted -
TOTAL_LEDGER_BALANCE_INVALID
-
EXPIRATION_REDUCTION_NOT_ALLOWED
The expiration date/time on a smart contract may not be reduced -
MAX_GAS_LIMIT_EXCEEDED
Gas exceeded currently allowable gas limit per transaction -
MAX_FILE_SIZE_EXCEEDED
File size exceeded the currently allowable limit -
RECEIVER_SIG_REQUIRED
When a valid signature is not provided for operations on account with receiverSigRequired=true -
INVALID_TOPIC_ID
The Topic ID specified is not in the system. -
INVALID_ADMIN_KEY
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.. -
INVALID_SUBMIT_KEY
A provided submit key was invalid. -
UNAUTHORIZED
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). -
INVALID_TOPIC_MESSAGE
A ConsensusService message is empty. -
INVALID_AUTORENEW_ACCOUNT
The autoRenewAccount specified is not a valid, active account. -
AUTORENEW_ACCOUNT_NOT_ALLOWED
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. -
TOPIC_EXPIRED
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. -
INVALID_CHUNK_NUMBER
chunk number must be from 1 to total (chunks) inclusive. -
INVALID_CHUNK_TRANSACTION_ID
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. -
ACCOUNT_FROZEN_FOR_TOKEN
Account is frozen and cannot transact with the token -
TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. -
INVALID_TOKEN_ID
The token is invalid or does not exist -
INVALID_TOKEN_DECIMALS
Invalid token decimals -
INVALID_TOKEN_INITIAL_SUPPLY
Invalid token initial supply -
INVALID_TREASURY_ACCOUNT_FOR_TOKEN
Treasury Account does not exist or is deleted -
INVALID_TOKEN_SYMBOL
Token Symbol is not UTF-8 capitalized alphabetical string -
TOKEN_HAS_NO_FREEZE_KEY
Freeze key is not set on token -
TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN
Amounts in transfer list are not net zero -
MISSING_TOKEN_SYMBOL
A token symbol was not provided -
TOKEN_SYMBOL_TOO_LONG
The provided token symbol was too long -
ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN
KYC must be granted and account does not have KYC granted -
TOKEN_HAS_NO_KYC_KEY
KYC key is not set on token -
INSUFFICIENT_TOKEN_BALANCE
Token balance is not sufficient for the transaction -
TOKEN_WAS_DELETED
Token transactions cannot be executed on deleted token -
TOKEN_HAS_NO_SUPPLY_KEY
Supply key is not set on token -
TOKEN_HAS_NO_WIPE_KEY
Wipe key is not set on token -
INVALID_TOKEN_MINT_AMOUNT
The requested token mint amount would cause an invalid total supply -
INVALID_TOKEN_BURN_AMOUNT
The requested token burn amount would cause an invalid total supply -
TOKEN_NOT_ASSOCIATED_TO_ACCOUNT
A required token-account relationship is missing -
CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT
The target of a wipe operation was the token treasury account -
INVALID_KYC_KEY
The provided KYC key was invalid. -
INVALID_WIPE_KEY
The provided wipe key was invalid. -
INVALID_FREEZE_KEY
The provided freeze key was invalid. -
INVALID_SUPPLY_KEY
The provided supply key was invalid. -
MISSING_TOKEN_NAME
Token Name is not provided -
TOKEN_NAME_TOO_LONG
Token Name is too long -
INVALID_WIPING_AMOUNT
The provided wipe amount must not be negative, zero or bigger than the token holder balance -
TOKEN_IS_IMMUTABLE
Token does not have Admin key set, thus update/delete transactions cannot be performed -
TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT
An associateToken operation specified a token already associated to the account -
TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES
An attempted operation is invalid until all token balances for the target account are zero -
ACCOUNT_IS_TREASURY
An attempted operation is invalid because the account is a treasury -
TOKEN_ID_REPEATED_IN_TOKEN_LIST
Same TokenIDs present in the token list -
TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED
Exceeded the number of token transfers (both from and to) allowed for token transfer list -
EMPTY_TOKEN_TRANSFER_BODY
TokenTransfersTransactionBody has no TokenTransferList -
EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts -
INVALID_SCHEDULE_ID
The Scheduled entity does not exist; or has now expired, been deleted, or been executed -
SCHEDULE_IS_IMMUTABLE
The Scheduled entity cannot be modified. Admin key not set -
INVALID_SCHEDULE_PAYER_ID
The provided Scheduled Payer does not exist -
INVALID_SCHEDULE_ACCOUNT_ID
The Schedule Create Transaction TransactionID account does not exist -
NO_NEW_VALID_SIGNATURES
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction -
UNRESOLVABLE_REQUIRED_SIGNERS
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted -
SCHEDULED_TRANSACTION_NOT_IN_WHITELIST
Only whitelisted transaction types may be scheduled -
SOME_SIGNATURES_WERE_INVALID
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer -
TRANSACTION_ID_FIELD_NOT_ALLOWED
The scheduled field in the TransactionID may not be set to true -
IDENTICAL_SCHEDULE_ALREADY_CREATED
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) -
INVALID_ZERO_BYTE_IN_STRING
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte -
SCHEDULE_ALREADY_DELETED
A schedule being signed or deleted has already been deleted -
SCHEDULE_ALREADY_EXECUTED
A schedule being signed or deleted has already been executed -
MESSAGE_SIZE_TOO_LARGE
ConsensusSubmitMessage request's message size is larger than allowed. -
OPERATION_REPEATED_IN_BUCKET_GROUPS
An operation was assigned to more than one throttle group in a given bucket -
BUCKET_CAPACITY_OVERFLOW
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type -
NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION
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 -
BUCKET_HAS_NO_THROTTLE_GROUPS
A bucket was defined without any throttle groups -
THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC
A throttle group was granted zero opsPerSec -
SUCCESS_BUT_MISSING_EXPECTED_OPERATION
The throttle definitions file was updated, but some supported operations were not assigned a bucket -
UNPARSEABLE_THROTTLE_DEFINITIONS
The new contents for the throttle definitions system file were not valid protobuf -
INVALID_THROTTLE_DEFINITIONS
The new throttle definitions system file were invalid, and no more specific error could be divined -
ACCOUNT_EXPIRED_AND_PENDING_REMOVAL
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 -
INVALID_TOKEN_MAX_SUPPLY
Invalid token max supply -
INVALID_TOKEN_NFT_SERIAL_NUMBER
Invalid token nft serial number -
INVALID_NFT_ID
Invalid nft id -
METADATA_TOO_LONG
Nft metadata is too long -
BATCH_SIZE_LIMIT_EXCEEDED
Repeated operations count exceeds the limit -
INVALID_QUERY_RANGE
The range of data to be gathered is out of the set boundaries -
FRACTION_DIVIDES_BY_ZERO
A custom fractional fee set a denominator of zero -
INSUFFICIENT_PAYER_BALANCE_FOR_CUSTOM_FEE
The transaction payer could not afford a custom fee -
CUSTOM_FEES_LIST_TOO_LONG
More than 10 custom fees were specified -
INVALID_CUSTOM_FEE_COLLECTOR
Any of the feeCollector accounts for customFees is invalid -
INVALID_TOKEN_ID_IN_CUSTOM_FEES
Any of the token Ids in customFees is invalid -
TOKEN_NOT_ASSOCIATED_TO_FEE_COLLECTOR
Any of the token Ids in customFees are not associated to feeCollector -
TOKEN_MAX_SUPPLY_REACHED
A token cannot have more units minted due to its configured supply ceiling -
SENDER_DOES_NOT_OWN_NFT_SERIAL_NO
The transaction attempted to move an NFT serial number from an account other than its owner -
CUSTOM_FEE_NOT_FULLY_SPECIFIED
A custom fee schedule entry did not specify either a fixed or fractional fee -
CUSTOM_FEE_MUST_BE_POSITIVE
Only positive fees may be assessed at this time -
TOKEN_HAS_NO_FEE_SCHEDULE_KEY
Fee schedule key is not set on token -
CUSTOM_FEE_OUTSIDE_NUMERIC_RANGE
A fractional custom fee exceeded the range of a 64-bit signed integer -
ROYALTY_FRACTION_CANNOT_EXCEED_ONE
A royalty cannot exceed the total fungible value exchanged for an NFT -
FRACTIONAL_FEE_MAX_AMOUNT_LESS_THAN_MIN_AMOUNT
Each fractional custom fee must have its maximum_amount, if specified, at least its minimum_amount -
CUSTOM_SCHEDULE_ALREADY_HAS_NO_FEES
A fee schedule update tried to clear the custom fees from a token whose fee schedule was already empty -
CUSTOM_FEE_DENOMINATION_MUST_BE_FUNGIBLE_COMMON
Only tokens of type FUNGIBLE_COMMON can be used to as fee schedule denominations -
CUSTOM_FRACTIONAL_FEE_ONLY_ALLOWED_FOR_FUNGIBLE_COMMON
Only tokens of type FUNGIBLE_COMMON can have fractional fees -
INVALID_CUSTOM_FEE_SCHEDULE_KEY
The provided custom fee schedule key was invalid -
INVALID_TOKEN_MINT_METADATA
The requested token mint metadata was invalid -
INVALID_TOKEN_BURN_METADATA
The requested token burn metadata was invalid -
CURRENT_TREASURY_STILL_OWNS_NFTS
The treasury for a unique token cannot be changed until it owns no NFTs -
ACCOUNT_STILL_OWNS_NFTS
An account cannot be dissociated from a unique token if it owns NFTs for the token -
TREASURY_MUST_OWN_BURNED_NFT
A NFT can only be burned when owned by the unique token's treasury -
ACCOUNT_DOES_NOT_OWN_WIPED_NFT
An account did not own the NFT to be wiped -
ACCOUNT_AMOUNT_TRANSFERS_ONLY_ALLOWED_FOR_FUNGIBLE_COMMON
An AccountAmount token transfers list referenced a token type other than FUNGIBLE_COMMON -
MAX_NFTS_IN_PRICE_REGIME_HAVE_BEEN_MINTED
All the NFTs allowed in the current price regime have already been minted -
PAYER_ACCOUNT_DELETED
The payer account has been marked as deleted -
CUSTOM_FEE_CHARGING_EXCEEDED_MAX_RECURSION_DEPTH
The reference chain of custom fees for a transferred token exceeded the maximum length of 2 -
CUSTOM_FEE_CHARGING_EXCEEDED_MAX_ACCOUNT_AMOUNTS
More than 20 balance adjustments were to satisfy a CryptoTransfer and its implied custom fee payments -
INSUFFICIENT_SENDER_ACCOUNT_BALANCE_FOR_CUSTOM_FEE
The sender account in the token transfer transaction could not afford a custom fee -
SERIAL_NUMBER_LIMIT_REACHED
Currently no more than 4,294,967,295 NFTs may be minted for a given unique token type -
CUSTOM_ROYALTY_FEE_ONLY_ALLOWED_FOR_NON_FUNGIBLE_UNIQUE
Only tokens of type NON_FUNGIBLE_UNIQUE can have royalty fees -
NO_REMAINING_AUTOMATIC_ASSOCIATIONS
The account has reached the limit on the automatic associations count. -
EXISTING_AUTOMATIC_ASSOCIATIONS_EXCEED_GIVEN_LIMIT
Already existing automatic associations are more than the new maximum automatic associations. -
REQUESTED_NUM_AUTOMATIC_ASSOCIATIONS_EXCEEDS_ASSOCIATION_LIMIT
Cannot set the number of automatic associations for an account more than the maximum allowed token associations tokens.maxPerAccount. -
TOKEN_IS_PAUSED
Token is paused. This Token cannot be a part of any kind of Transaction until unpaused. -
TOKEN_HAS_NO_PAUSE_KEY
Pause key is not set on token -
INVALID_PAUSE_KEY
The provided pause key was invalid -
FREEZE_UPDATE_FILE_DOES_NOT_EXIST
The update file in a freeze transaction body must exist. -
FREEZE_UPDATE_FILE_HASH_DOES_NOT_MATCH
The hash of the update file in a freeze transaction body must match the in-memory hash. -
NO_UPGRADE_HAS_BEEN_PREPARED
A FREEZE_UPGRADE transaction was handled with no previous update prepared. -
NO_FREEZE_IS_SCHEDULED
A FREEZE_ABORT transaction was handled with no scheduled freeze. -
UPDATE_FILE_HASH_CHANGED_SINCE_PREPARE_UPGRADE
The update file hash when handling a FREEZE_UPGRADE transaction differs from the file hash at the time of handling the PREPARE_UPGRADE transaction. -
FREEZE_START_TIME_MUST_BE_FUTURE
The given freeze start time was in the (consensus) past. -
PREPARED_UPDATE_FILE_IS_IMMUTABLE
The prepared update file cannot be updated or appended until either the upgrade has been completed, or a FREEZE_ABORT has been handled. -
FREEZE_ALREADY_SCHEDULED
Once a freeze is scheduled, it must be aborted before any other type of freeze can can be performed. -
FREEZE_UPGRADE_IN_PROGRESS
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.) -
UPDATE_FILE_ID_DOES_NOT_MATCH_PREPARED
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. -
UPDATE_FILE_HASH_DOES_NOT_MATCH_PREPARED
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. -
CONSENSUS_GAS_EXHAUSTED
Consensus throttle did not allow execution of this transaction. System is throttled at consensus level. -
REVERTED_SUCCESS
A precompiled contract succeeded, but was later reverted. -
MAX_STORAGE_IN_PRICE_REGIME_HAS_BEEN_USED
All contract storage allocated to the current price regime has been consumed. -
INVALID_ALIAS_KEY
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. -
UNEXPECTED_TOKEN_DECIMALS
A fungible token transfer expected a different number of decimals than the involved type actually has. -
INVALID_PROXY_ACCOUNT_ID
The proxy account id is invalid or does not exist. -
INVALID_TRANSFER_ACCOUNT_ID
The transfer account id in CryptoDelete transaction is invalid or does not exist. -
INVALID_FEE_COLLECTOR_ACCOUNT_ID
The fee collector account id in TokenFeeScheduleUpdate is invalid or does not exist. -
ALIAS_IS_IMMUTABLE
The alias already set on an account cannot be updated using CryptoUpdate transaction. -
SPENDER_ACCOUNT_SAME_AS_OWNER
An approved allowance specifies a spender account that is the same as the hbar/token owner account. -
AMOUNT_EXCEEDS_TOKEN_MAX_SUPPLY
The establishment or adjustment of an approved allowance cause the token allowance to exceed the token maximum supply. -
NEGATIVE_ALLOWANCE_AMOUNT
The specified amount for an approved allowance cannot be negative. -
CANNOT_APPROVE_FOR_ALL_FUNGIBLE_COMMON
The approveForAll flag cannot be set for a fungible token. -
SPENDER_DOES_NOT_HAVE_ALLOWANCE
The spender does not have an existing approved allowance with the hbar/token owner. -
AMOUNT_EXCEEDS_ALLOWANCE
The transfer amount exceeds the current approved allowance for the spender account. -
MAX_ALLOWANCES_EXCEEDED
The payer account of an approveAllowances or adjustAllowance transaction is attempting to go beyond the maximum allowed number of allowances. -
EMPTY_ALLOWANCES
No allowances have been specified in the approval transaction. -
SPENDER_ACCOUNT_REPEATED_IN_ALLOWANCES
Spender is repeated more than once in Crypto or Token or NFT allowance lists in a single CryptoApproveAllowance transaction. -
REPEATED_SERIAL_NUMS_IN_NFT_ALLOWANCES
Serial numbers are repeated in nft allowance for a single spender account -
FUNGIBLE_TOKEN_IN_NFT_ALLOWANCES
Fungible common token used in NFT allowances -
NFT_IN_FUNGIBLE_TOKEN_ALLOWANCES
Non fungible token used in fungible token allowances -
INVALID_ALLOWANCE_OWNER_ID
The account id specified as the owner is invalid or does not exist. -
INVALID_ALLOWANCE_SPENDER_ID
The account id specified as the spender is invalid or does not exist. -
REPEATED_ALLOWANCES_TO_DELETE
[Deprecated] If the CryptoDeleteAllowance transaction has repeated crypto or token or Nft allowances to delete. -
INVALID_DELEGATING_SPENDER
If the account Id specified as the delegating spender is invalid or does not exist. -
DELEGATING_SPENDER_CANNOT_GRANT_APPROVE_FOR_ALL
The delegating Spender cannot grant approveForAll allowance on a NFT token type for another spender. -
DELEGATING_SPENDER_DOES_NOT_HAVE_APPROVE_FOR_ALL
The delegating Spender cannot grant allowance on a NFT serial for another spender as it doesnt not have approveForAll granted on token-owner. -
SCHEDULE_EXPIRATION_TIME_TOO_FAR_IN_FUTURE
The scheduled transaction could not be created because it's expiration_time was too far in the future. -
SCHEDULE_EXPIRATION_TIME_MUST_BE_HIGHER_THAN_CONSENSUS_TIME
The scheduled transaction could not be created because it's expiration_time was less than or equal to the consensus time. -
SCHEDULE_FUTURE_THROTTLE_EXCEEDED
The scheduled transaction could not be created because it would cause throttles to be violated on the specified expiration_time. -
SCHEDULE_FUTURE_GAS_LIMIT_EXCEEDED
The scheduled transaction could not be created because it would cause the gas limit to be violated on the specified expiration_time. -
INVALID_ETHEREUM_TRANSACTION
The ethereum transaction either failed parsing or failed signature validation, or some other EthereumTransaction error not covered by another response code. -
WRONG_CHAIN_ID
EthereumTransaction was signed against a chainId that this network does not support. -
WRONG_NONCE
This transaction specified an ethereumNonce that is not the current ethereumNonce of the account. -
ACCESS_LIST_UNSUPPORTED
The ethereum transaction specified an access list, which the network does not support. -
SCHEDULE_PENDING_EXPIRATION
A schedule being signed or deleted has passed it's expiration date and is pending execution if needed and then expiration. -
CONTRACT_IS_TOKEN_TREASURY
A selfdestruct or ContractDelete targeted a contract that is a token treasury. -
CONTRACT_HAS_NON_ZERO_TOKEN_BALANCES
A selfdestruct or ContractDelete targeted a contract with non-zero token balances. -
CONTRACT_EXPIRED_AND_PENDING_REMOVAL
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. -
CONTRACT_HAS_NO_AUTO_RENEW_ACCOUNT
A ContractUpdate requested removal of a contract's auto-renew account, but that contract has no auto-renew account. -
PERMANENT_REMOVAL_REQUIRES_SYSTEM_INITIATION
A delete transaction submitted via HAPI set permanent_removal=true -
PROXY_ACCOUNT_ID_FIELD_IS_DEPRECATED
A CryptoCreate or ContractCreate used the deprecated proxyAccountID field. -
SELF_STAKING_IS_NOT_ALLOWED
An account set the staked_account_id to itself in CryptoUpdate or ContractUpdate transactions. -
INVALID_STAKING_ID
The staking account id or staking node id given is invalid or does not exist. -
STAKING_NOT_ENABLED
Native staking, while implemented, has not yet enabled by the council. -
INVALID_PRNG_RANGE
The range provided in UtilPrng transaction is negative. -
MAX_ENTITIES_IN_PRICE_REGIME_HAVE_BEEN_CREATED
The maximum number of entities allowed in the current price regime have been created. -
INVALID_FULL_PREFIX_SIGNATURE_FOR_PRECOMPILE
The full prefix signature for precompile is not valid -
INSUFFICIENT_BALANCES_FOR_STORAGE_RENT
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. -
MAX_CHILD_RECORDS_EXCEEDED
A contract transaction tried to use more than the allowed number of child records, via either system contract records or internal contract creations. -
INSUFFICIENT_BALANCES_FOR_RENEWAL_FEES
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. -
TRANSACTION_HAS_UNKNOWN_FIELDS
A transaction's protobuf message includes unknown fields; could mean that a client expects not-yet-released functionality to be available. -
ACCOUNT_IS_IMMUTABLE
The account cannot be modified. Account's key is not set -
ALIAS_ALREADY_ASSIGNED
An alias that is assigned to an account or contract cannot be assigned to another account or contract. -
INVALID_METADATA_KEY
A provided metadata key was invalid. Verification includes, for example, checking the size of Ed25519 and ECDSA(secp256k1) public keys. -
TOKEN_HAS_NO_METADATA_KEY
Metadata key is not set on token -
MISSING_TOKEN_METADATA
Token Metadata is not provided -
MISSING_SERIAL_NUMBERS
NFT serial numbers are missing in the TokenUpdateNftsTransactionBody -
TOKEN_HAS_NO_ADMIN_KEY
Admin key is not set on token -
NODE_DELETED
A transaction failed because the consensus node identified is deleted from the address book. -
INVALID_NODE_ID
A transaction failed because the consensus node identified is not valid or does not exist in state. -
INVALID_GOSSIP_ENDPOINT
A transaction failed because one or more entries in the list of service endpoints for the `gossip_endpoint` field is invalid.
The most common cause for this response is a service endpoint that has the domain name (DNS) set rather than address and port. -
INVALID_NODE_ACCOUNT_ID
A transaction failed because the node account identifier provided does not exist or is not valid.
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. -
INVALID_NODE_DESCRIPTION
A transaction failed because the description field cannot be encoded as UTF-8 or is more than 100 bytes when encoded. -
INVALID_SERVICE_ENDPOINT
A transaction failed because one or more entries in the list of service endpoints for the `service_endpoint` field is invalid.
The most common cause for this response is a service endpoint that has the domain name (DNS) set rather than address and port. -
INVALID_GOSSIP_CA_CERTIFICATE
A transaction failed because the TLS certificate provided for the node is missing or invalid.#### Probable Causes The certificate MUST be a TLS certificate of a type permitted for gossip signatures.
The value presented MUST be a UTF-8 NFKD encoding of the TLS certificate.
The certificate encoded MUST be in PEM format.
The `gossip_ca_certificate` field is REQUIRED and MUST NOT be empty. -
INVALID_GRPC_CERTIFICATE
A transaction failed because the hash provided for the gRPC certificate is present but invalid.#### Probable Causes The `grpc_certificate_hash` MUST be a SHA-384 hash.
The input hashed MUST be a UTF-8 NFKD encoding of the actual TLS certificate.
The certificate to be encoded MUST be in PEM format. -
INVALID_MAX_AUTO_ASSOCIATIONS
The maximum automatic associations value is not valid.
The most common cause for this error is a value less than `-1`. -
MAX_NODES_CREATED
The maximum number of nodes allowed in the address book have been created. -
IP_FQDN_CANNOT_BE_SET_FOR_SAME_ENDPOINT
In ServiceEndpoint, domain_name and ipAddressV4 are mutually exclusive -
GOSSIP_ENDPOINT_CANNOT_HAVE_FQDN
Fully qualified domain name is not allowed in gossip_endpoint -
FQDN_SIZE_TOO_LARGE
In ServiceEndpoint, domain_name size too large -
INVALID_ENDPOINT
ServiceEndpoint is invalid -
GOSSIP_ENDPOINTS_EXCEEDED_LIMIT
The number of gossip endpoints exceeds the limit -
TOKEN_REFERENCE_REPEATED
The transaction attempted to use duplicate `TokenReference`.
This affects `TokenReject` attempting to reject same token reference more than once. -
INVALID_OWNER_ID
The account id specified as the owner in `TokenReject` is invalid or does not exist. -
TOKEN_REFERENCE_LIST_SIZE_LIMIT_EXCEEDED
The transaction attempted to use more than the allowed number of `TokenReference`. -
SERVICE_ENDPOINTS_EXCEEDED_LIMIT
The number of service endpoints exceeds the limit -
INVALID_IPV4_ADDRESS
The IPv4 address is invalid -
EMPTY_TOKEN_REFERENCE_LIST
The transaction attempted to use empty `TokenReference` list. -
UPDATE_NODE_ACCOUNT_NOT_ALLOWED
The node account is not allowed to be updated -
TOKEN_HAS_NO_METADATA_OR_SUPPLY_KEY
The token has no metadata or supply key -
EMPTY_PENDING_AIRDROP_ID_LIST
The list of `PendingAirdropId`s is empty and MUST NOT be empty. -
PENDING_AIRDROP_ID_REPEATED
A `PendingAirdropId` is repeated in a `claim` or `cancel` transaction. -
PENDING_AIRDROP_ID_LIST_TOO_LONG
The number of `PendingAirdropId` values in the list exceeds the maximum allowable number. -
PENDING_NFT_AIRDROP_ALREADY_EXISTS
A pending airdrop already exists for the specified NFT. -
ACCOUNT_HAS_PENDING_AIRDROPS
The identified account is sender for one or more pending airdrop(s) and cannot be deleted.The requester SHOULD cancel all pending airdrops before resending this transaction.
-
THROTTLED_AT_CONSENSUS
Consensus throttle did not allow execution of this transaction.
The transaction should be retried after a modest delay. -
INVALID_PENDING_AIRDROP_ID
The provided pending airdrop id is invalid.
This pending airdrop MAY already be claimed or cancelled.The client SHOULD query a mirror node to determine the current status of the pending airdrop.
-
TOKEN_AIRDROP_WITH_FALLBACK_ROYALTY
The token to be airdropped has a fallback royalty fee and cannot be sent or claimed via an airdrop transaction. -
INVALID_TOKEN_IN_PENDING_AIRDROP
This airdrop claim is for a pending airdrop with an invalid token.
The token might be deleted, or the sender may not have enough tokens to fulfill the offer.The client SHOULD query mirror node to determine the status of the pending airdrop and whether the sender can fulfill the offer.
-
SCHEDULE_EXPIRY_IS_BUSY
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. -
INVALID_GRPC_CERTIFICATE_HASH
The provided gRPC certificate hash is invalid. -
MISSING_EXPIRY_TIME
A scheduled transaction configured to wait for expiry to execute was not given an explicit expiration time. -
NO_SCHEDULING_ALLOWED_AFTER_SCHEDULED_RECURSION
A contract operation attempted to schedule another transaction after it had already scheduled a recursive contract call. -
RECURSIVE_SCHEDULING_LIMIT_REACHED
A contract can schedule recursive calls a finite number of times (this is approximately four million times with typical network configuration.) -
WAITING_FOR_LEDGER_ID
The target network is waiting for the ledger ID to be set, which is a side effect of finishing the network's TSS construction. -
MAX_ENTRIES_FOR_FEE_EXEMPT_KEY_LIST_EXCEEDED
The provided fee exempt key list size exceeded the limit. -
FEE_EXEMPT_KEY_LIST_CONTAINS_DUPLICATED_KEYS
The provided fee exempt key list contains duplicated keys. -
INVALID_KEY_IN_FEE_EXEMPT_KEY_LIST
The provided fee exempt key list contains an invalid key. -
INVALID_FEE_SCHEDULE_KEY
The provided fee schedule key contains an invalid key. -
FEE_SCHEDULE_KEY_CANNOT_BE_UPDATED
If a fee schedule key is not set when we create a topic we cannot add it on update. -
FEE_SCHEDULE_KEY_NOT_SET
If the topic's custom fees are updated the topic SHOULD have a fee schedule key -
MAX_CUSTOM_FEE_LIMIT_EXCEEDED
The fee amount is exceeding the amount that the payer is willing to pay. -
NO_VALID_MAX_CUSTOM_FEE
There are no corresponding custom fees. -
INVALID_MAX_CUSTOM_FEES
The provided list contains invalid max custom fee. -
DUPLICATE_DENOMINATION_IN_MAX_CUSTOM_FEE_LIST
The provided max custom fee list contains fees with duplicate denominations. -
DUPLICATE_ACCOUNT_ID_IN_MAX_CUSTOM_FEE_LIST
The provided max custom fee list contains fees with duplicate account id. -
MAX_CUSTOM_FEES_IS_NOT_SUPPORTED
Max custom fees list is not supported for this operation. -
BATCH_LIST_EMPTY
The list of batch transactions is empty -
BATCH_LIST_CONTAINS_DUPLICATES
The list of batch transactions contains duplicated transactions -
BATCH_TRANSACTION_IN_BLACKLIST
The list of batch transactions contains a transaction type that is in the AtomicBatch blacklist as configured in the network. -
INNER_TRANSACTION_FAILED
The inner transaction of a batch transaction failed -
MISSING_BATCH_KEY
The inner transaction of a batch transaction is missing a batch key -
BATCH_KEY_SET_ON_NON_INNER_TRANSACTION
The batch key is set for a non batch transaction -
INVALID_BATCH_KEY
The batch key is not valid -
SCHEDULE_EXPIRY_NOT_CONFIGURABLE
The provided schedule expiry time is not configurable. -
CREATING_SYSTEM_ENTITIES
The network just started at genesis and is creating system entities. -
THROTTLE_GROUP_LCM_OVERFLOW
The least common multiple of the throttle group's milliOpsPerSec is too large and it's overflowing. -
AIRDROP_CONTAINS_MULTIPLE_SENDERS_FOR_A_TOKEN
Token airdrop transactions can not contain multiple senders for a single token. -
GRPC_WEB_PROXY_NOT_SUPPORTED
The GRPC proxy endpoint is set in the NodeCreate or NodeUpdate transaction, which the network does not support. -
NFT_TRANSFERS_ONLY_ALLOWED_FOR_NON_FUNGIBLE_UNIQUE
An NFT transfers list referenced a token type other than NON_FUNGIBLE_UNIQUE. -
INVALID_SERIALIZED_TX_MESSAGE_HASH_ALGORITHM
A HAPI client cannot set the SignedTransaction#use_serialized_tx_message_hash_algorithm field. -
WRONG_HOOK_ENTITY_TYPE
A HookStore referenced a valid entity number but with the wrong entity type. -
EVM_HOOK_GAS_THROTTLED
An EVM hook execution was throttled due to high network gas utilization. -
HOOK_ID_IN_USE
A user tried to create a hook with an id already in use. -
BAD_HOOK_REQUEST
A transaction tried to execute a hook that did not match the specified type or was malformed in some other way. -
REJECTED_BY_ACCOUNT_ALLOWANCE_HOOK
A CryptoTransfer relying on a ACCOUNT_ALLOWANCE hook was rejected. -
HOOK_NOT_FOUND
A hook id was not found. -
EVM_HOOK_STORAGE_UPDATE_BYTES_TOO_LONG
An EVM hook mapping slot, storage key, or storage value exceeded 32 bytes. -
EVM_HOOK_STORAGE_UPDATE_BYTES_MUST_USE_MINIMAL_REPRESENTATION
An EVM hook's mapping slot, storage key, or storage value failed to use the minimal representation (i.e., no leading zeros). -
INVALID_HOOK_ID
A hook id was invalid. -
EMPTY_EVM_HOOK_STORAGE_UPDATE
An EVM hook storage update had no contents. -
HOOK_ID_REPEATED_IN_CREATION_DETAILS
A user repeated the same hook id in a creation details list. -
HOOKS_NOT_ENABLED
Hooks are not not enabled on the target Hiero network. -
HOOK_IS_NOT_AN_EVM_HOOK
The target hook is not an EVM hook. -
HOOK_DELETED
A hook was deleted. -
TOO_MANY_EVM_HOOK_STORAGE_UPDATES
The HookStore tried to update too many storage slots in a single transaction. -
HOOK_CREATION_BYTES_MUST_USE_MINIMAL_REPRESENTATION
An EVM hook mapping slot, storage key, or storage value failed to use the minimal representation (i.e., no leading zeros). -
HOOK_CREATION_BYTES_TOO_LONG
A EVM hook mapping slot, storage key, or storage value exceeded 32 bytes. -
INVALID_HOOK_CREATION_SPEC
A hook creation spec was not found. -
HOOK_EXTENSION_EMPTY
A hook extension point was empty. -
INVALID_HOOK_ADMIN_KEY
A hook admin key was invalid. -
HOOK_DELETION_REQUIRES_ZERO_STORAGE_SLOTS
The hook deletion requires the hook to have zero storage slots. -
CANNOT_SET_HOOKS_AND_APPROVAL
Cannot set both a hook call and an approval on the same AccountAmount or NftTransfer message. -
TRANSACTION_REQUIRES_ZERO_HOOKS
The attempted operation is invalid until all the target entity's hooks have been deleted. -
INVALID_HOOK_CALL
The HookCall set in the transaction is invalid -
HOOKS_ARE_NOT_SUPPORTED_IN_AIRDROPS
Hooks are not supported to be used in TokenAirdrop transactions -
ACCOUNT_IS_LINKED_TO_A_NODE
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. -
HOOKS_EXECUTIONS_REQUIRE_TOP_LEVEL_CRYPTO_TRANSFER
Hooks are not supported to be used in Batch transactions and Scheduled transactions. They are only supported in a top level CryptoTransfer transaction. -
NODE_ACCOUNT_HAS_ZERO_BALANCE
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. -
TRANSFER_TO_FEE_COLLECTION_ACCOUNT_NOT_ALLOWED
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. -
TOO_MANY_HOOK_INVOCATIONS
The number of hook invocations exceeds the maximum allowed per transaction. -
INVALID_REGISTERED_NODE_ID
A registered node ID is invalid or does not exist. -
INVALID_REGISTERED_ENDPOINT
A registered service endpoint is invalid.
The port is out of range, or the address field is not set. -
REGISTERED_ENDPOINTS_EXCEEDED_LIMIT
The number of registered service endpoints exceeds the configured limit. -
INVALID_REGISTERED_ENDPOINT_ADDRESS
A registered service endpoint has an invalid address.
The IP address length is not 4 (IPv4) or 16 (IPv6), or the domain name is not a valid ASCII FQDN. -
INVALID_REGISTERED_ENDPOINT_TYPE
A registered service endpoint does not specify an endpoint type.
Exactly one of block_node, mirror_node, or rpc_relay MUST be set. -
REGISTERED_NODE_STILL_ASSOCIATED
A registered node cannot be deleted because it is still associated with a consensus node via their associated registered node list. -
MAX_REGISTERED_NODES_EXCEEDED
The number of associated registered nodes exceeds the maximum allowed limit.
-
-
Field Details
-
code
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
code- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-
fromResponseCode
-
toResponseCode
public int toResponseCode() -
toString
-