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 the base transaction fee
//Freeze an account from transferring a tokenTokenFreezeTransaction transaction =newTokenFreezeTransaction().setAccountId(accountId).setTokenId(tokenId);//Freeze the unsigned transaction, sign with the sender freeze private key of the token, submit the transaction to a Hedera network
TransactionResponse txResponse =transaction.freezeWith(client).sign(freezeKey).execute(client);//Request the receipt of the transactionTransactionReceipt receipt =txResponse.getReceipt(client);//Obtain the transaction consensus statusStatus transactionStatus =receipt.status;System.out.print("The transaction consensus status is "+transactionStatus);//v2.0.1
//Freeze an account from transferring a tokenconsttransaction=awaitnewTokenFreezeTransaction().setAccountId(accountId).setTokenId(tokenId).freezeWith(client);//Sign with the freeze key of the token constsignTx=awaittransaction.sign(freezeKey);//Submit the transaction to a Hedera network consttxResponse=awaitsignTx.execute(client);//Request the receipt of the transactionconstreceipt=awaittxResponse.getReceipt(client);//Get the transaction consensus statusconsttransactionStatus=receipt.status;console.log("The transaction consensus status "+transactionStatus.toString());//v2.0.7
//Freeze an account from transferring a tokentransaction, err = hedera.NewTokenFreezeTransaction().SetAccountID(accountId).SetTokenID(tokenId).FreezeWith(client)if err !=nil {panic(err)}//Sign with the freeze private key of the token, submit the transaction to a Hedera networktxResponse, err := transaction.Sign(freezeKey).Execute(client)if err !=nil {panic(err)}//Get the receipt of the transactionreceipt, err = txResponse.GetReceipt(client)if err !=nil {panic(err)}//Get the transaction consensus statusstatus := receipt.Statusfmt.Printf("The transaction consensus status is %v\n", status)//v2.1.0