Freeze an account
Freezes transfers of the specified token for the account. The transaction must be signed by the token's Freeze Key.
If the provided account is not found, the transaction will resolve to INVALID_ACCOUNT_ID. If the provided account has been deleted, the transaction will resolve to ACCOUNT_DELETED.
If the provided token is not found, the transaction will resolve to INVALID_TOKEN_ID.
If the provided token has been deleted, the transaction will resolve to TOKEN_WAS_DELETED.
If an Association between the provided token and account is not found, the transaction will resolve to TOKEN_NOT_ASSOCIATED_TO_ACCOUNT.
If no Freeze Key is defined, the transaction will resolve to TOKEN_HAS_NO_FREEZE_KEY.
Once executed the Account is marked as Frozen and will not be able to receive or send tokens unless unfrozen.
The operation is idempotent
Transaction Signing Requirements
Freeze key
Transaction fee payer account key
Transaction Fees
Please see the transaction and query fees table for base transaction fee
Please use the Hedera fee estimator to estimate your transaction fee cost
new TokenFreezeTransaction()
Initializes the TokenFreezeTransaction object
new TokenFreezeTransaction()
Methods
setTokenId(<tokenId>)
TokenId
The token for this account to be frozen
Required
setAccountId(<accountId>)
AccountId
The account to be frozen
Required
//Freeze an account from transferring a token
TokenFreezeTransaction transaction = new TokenFreezeTransaction()
.setAccountId(newAccountId)
.setTokenId(newTokenId);
//Build the unsigned transaction, sign with the sender freeze private key of the token, submit the transaction to a Hedera network
TransactionId transactionId = transaction.build(client).sign(freezeKey).execute(client);
//Request the receipt of the transaction
TransactionReceipt getReceipt = transactionId.getReceipt(client);
//Obtain the transaction consensus status
Status transactionStatus = getReceipt.status;
System.out.print("The transaction consensus status is " +transactionStatus);
//Version: 1.2.2
//Freeze an account from transferring a token
const transaction = new TokenFreezeTransaction()
.setAccountId(newAccountId)
.setTokenId(newTokenId);
//Build the unsigned transaction, sign with the freeze private key of the token, submit the transaction to a Hedera network
const transactionId = await transaction.build(client).sign(freezeKey).execute(client);
//Request the receipt of the transaction
const getReceipt = await transactionId.getReceipt(client);
//Obtain the transaction consensus status
const transactionStatus = getReceipt.status;
console.log("The transaction consensus status is " +transactionStatus);
//Version 1.4.2
Last updated