Skip to content
Lattice

HederaResponseCodes

Git Source

Title: HederaResponseCodes

Author: Vendored minimal subset of hiero-ledger/hiero-contracts contracts/common/HederaResponseCodes.sol

(https://github.com/hiero-ledger/hiero-contracts/blob/main/contracts/common/HederaResponseCodes.sol), commit 5ade6c8 (2026-09-09). Upstream license: Apache-2.0 (Hedera Hashgraph, LLC).

The ResponseCodeEnum ordinals (response_code.proto) that Hedera system contracts return in place of reverting. Values MUST stay identical to upstream; only the codes Lattice maps are kept.

Constants

OK

int64 internal constant OK = 0;

INVALID_TRANSACTION

int64 internal constant INVALID_TRANSACTION = 1;

INVALID_SIGNATURE

int64 internal constant INVALID_SIGNATURE = 7;

INSUFFICIENT_PAYER_BALANCE

int64 internal constant INSUFFICIENT_PAYER_BALANCE = 10;

NOT_SUPPORTED

int64 internal constant NOT_SUPPORTED = 13;

INVALID_ACCOUNT_ID

int64 internal constant INVALID_ACCOUNT_ID = 15;

INVALID_CONTRACT_ID

int64 internal constant INVALID_CONTRACT_ID = 16;

UNKNOWN

int64 internal constant UNKNOWN = 21;

SUCCESS

int64 internal constant SUCCESS = 22;

INSUFFICIENT_ACCOUNT_BALANCE

int64 internal constant INSUFFICIENT_ACCOUNT_BALANCE = 28;

INVALID_SOLIDITY_ADDRESS

int64 internal constant INVALID_SOLIDITY_ADDRESS = 29;

INSUFFICIENT_GAS

int64 internal constant INSUFFICIENT_GAS = 30;

CONTRACT_REVERT_EXECUTED

int64 internal constant CONTRACT_REVERT_EXECUTED = 33;

ACCOUNT_FROZEN_FOR_TOKEN

int64 internal constant ACCOUNT_FROZEN_FOR_TOKEN = 165;

TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED

int64 internal constant TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED = 166;

INVALID_TOKEN_ID

int64 internal constant INVALID_TOKEN_ID = 167;

INVALID_TREASURY_ACCOUNT_FOR_TOKEN

int64 internal constant INVALID_TREASURY_ACCOUNT_FOR_TOKEN = 170;

ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN

int64 internal constant ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN = 176;

INSUFFICIENT_TOKEN_BALANCE

int64 internal constant INSUFFICIENT_TOKEN_BALANCE = 178;

TOKEN_WAS_DELETED

int64 internal constant TOKEN_WAS_DELETED = 179;

TOKEN_HAS_NO_SUPPLY_KEY

int64 internal constant TOKEN_HAS_NO_SUPPLY_KEY = 180;

TOKEN_HAS_NO_WIPE_KEY

int64 internal constant TOKEN_HAS_NO_WIPE_KEY = 181;

INVALID_TOKEN_MINT_AMOUNT

int64 internal constant INVALID_TOKEN_MINT_AMOUNT = 182;

INVALID_TOKEN_BURN_AMOUNT

int64 internal constant INVALID_TOKEN_BURN_AMOUNT = 183;

TOKEN_NOT_ASSOCIATED_TO_ACCOUNT

int64 internal constant TOKEN_NOT_ASSOCIATED_TO_ACCOUNT = 184;

TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT

int64 internal constant TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT = 194;

TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES

int64 internal constant TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES = 195;

ACCOUNT_IS_TREASURY

int64 internal constant ACCOUNT_IS_TREASURY = 196;

INVALID_TOKEN_NFT_SERIAL_NUMBER

int64 internal constant INVALID_TOKEN_NFT_SERIAL_NUMBER = 225;

TOKEN_MAX_SUPPLY_REACHED

int64 internal constant TOKEN_MAX_SUPPLY_REACHED = 236;

SENDER_DOES_NOT_OWN_NFT_SERIAL_NO

int64 internal constant SENDER_DOES_NOT_OWN_NFT_SERIAL_NO = 237;

NO_REMAINING_AUTOMATIC_ASSOCIATIONS

int64 internal constant NO_REMAINING_AUTOMATIC_ASSOCIATIONS = 262;

TOKEN_IS_PAUSED

int64 internal constant TOKEN_IS_PAUSED = 265;

SPENDER_DOES_NOT_HAVE_ALLOWANCE

int64 internal constant SPENDER_DOES_NOT_HAVE_ALLOWANCE = 292;

AMOUNT_EXCEEDS_ALLOWANCE

int64 internal constant AMOUNT_EXCEEDS_ALLOWANCE = 293;

MAX_ENTITIES_IN_PRICE_REGIME_HAVE_BEEN_CREATED

int64 internal constant MAX_ENTITIES_IN_PRICE_REGIME_HAVE_BEEN_CREATED = 325;

INVALID_FULL_PREFIX_SIGNATURE_FOR_PRECOMPILE

int64 internal constant INVALID_FULL_PREFIX_SIGNATURE_FOR_PRECOMPILE = 326;

SCHEDULE_EXPIRY_IS_BUSY

int64 internal constant SCHEDULE_EXPIRY_IS_BUSY = 370;