Skip to main content
These methods allow you to build a transaction that requires further processing before it is submitted to a Hedera network. After you freeze the transaction you can use .sign(privateKey) to sign the transaction with multiple keys or convert the transaction to bytes for further processing.
MethodTypeDescription
freeze()Freeze this transaction from further modification to prepare for signing or serialization. You will need to set the node account ID (setNodeAccountId()) and transaction ID (setTransactionId()).
freezeWith(<client>)ClientFreeze this transaction from further modification to prepare for signing or serialization. Will use the ‘Client’, if available, to generate a default Transaction ID and select 1/3 nodes to prepare this transaction for.
freezeWithSigner(<signer>)Freeze the transaction with a local wallet. Local wallet available in Hedera JavaScript SDK only. >=v2.11.0
The example below uses setKeyWithAlias() to set the EVM Address from Public Key at account creation, the recommended pattern for EVM compatibility. See Create an Account for details, including the immutability behavior and when to use setKeyWithoutAlias() instead.
Sample Output