Delete a smart contract

A transaction that deletes a smart contract from a Hedera network. Once a smart contract is marked deleted, you will not be able to modify any of the contract's properties. **** If a smart contract did not have an admin key defined, you cannot delete the smart contract. You can verify the smart contract was deleted by submitting a smart contract info query to the network. If a smart contract has an associated hbar balance, you will need to transfer the balance to another Hedera account.

Transaction Signing Requirements

  • If the admin key was defined for the smart contract it is required to sign the transaction.

  • The client operator's (fee payer account) private key is required to sign the transaction.

Transaction Fees




Sets the contract ID (x.z.y) which should be deleted.



Sets the account ID (x.z.y) which will receive all remaining hbars



Sets the contract ID (x.z.y) which will receive all remaining hbars.


//Create the transaction
ContractDeleteTransaction transaction = new ContractDeleteTransaction()

//Freeze the transaction for signing, sign with the admin key on the contract, sign with the client operator private key and submit to a Hedera network
TransactionResponse txResponse = transaction.freezeWith(client).sign(adminKey).execute(client);

//Get the receipt of the transaction
TransactionReceipt receipt = txResponse.getReceipt(client);

//Get the transaction consensus status
Status transactionStatus = receipt.status;

System.out.println("The transaction consensus status is " +transactionStatus);


Last updated