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
Constructor | Description |
| Initializes the TokenFreezeTransaction object |
new TokenFreezeTransaction()
​
Method | Type | Description | Requirement |
| TokenId | The token for this account to be frozen | Required |
| AccountId | The account to be frozen | Required |
Java//Freeze an account from transferring a tokenTokenFreezeTransaction transaction = new TokenFreezeTransaction().setAccountId(accountId).setTokenId(tokenId);​//Freeze the unsigned transaction, sign with the sender freeze private key of the token, submit the transaction to a Hedera networkTransactionResponse 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
JavaScript//Freeze an account from transferring a tokenconst transaction = await new TokenFreezeTransaction().setAccountId(accountId).setTokenId(tokenId).freezeWith(client);​//Sign with the freeze key of the tokenconst signTx = await transaction.sign(freezeKey);​//Submit the transaction to a Hedera networkconst txResponse = await signTx.execute(client);​//Request the receipt of the transactionconst receipt = await txResponse.getReceipt(client);//Get the transaction consensus statusconst transactionStatus = receipt.status;​console.log("The transaction consensus status " +transactionStatus.toString());​//v2.0.7
Go//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.Status​fmt.Printf("The transaction consensus status is %v\n", status)​//v2.1.0
Method | Type | Description | Requirement |
| TokenId | The token for this account to be frozen | Required |
| AccountId | The account to be frozen | Required |
Java//Freeze an account from transferring a tokenTokenFreezeTransaction 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 networkTransactionId transactionId = transaction.build(client).sign(freezeKey).execute(client);//Request the receipt of the transactionTransactionReceipt getReceipt = transactionId.getReceipt(client);//Obtain the transaction consensus statusStatus transactionStatus = getReceipt.status;System.out.print("The transaction consensus status is " +transactionStatus);//Version: 1.2.2
JavaScript//Freeze an account from transferring a tokenconst 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 networkconst transactionId = await transaction.build(client).sign(freezeKey).execute(client);//Request the receipt of the transactionconst getReceipt = await transactionId.getReceipt(client);//Obtain the transaction consensus statusconst transactionStatus = getReceipt.status;console.log("The transaction consensus status is " +transactionStatus);//Version 1.4.2
​