Update an account
A transaction that updates the properties of an existing account. The network will store the latest updates on the account. If you would like to retrieve the state of an account in the past, you can query a mirror node.
Account Properties
Account PropertiesTransaction Fees
Please see the transaction and query fees table for the base transaction fee
Please use the Hedera fee estimator to estimate your transaction fee cost
Transaction Signing Requirements
The account key(s) are required to sign the transaction
If you are updating the keys on the account the OLD KEY and NEW KEY must sign
If either is a key list then the key list keys are all required to sign
If either is a threshold key, the threshold value is required to sign
If you do not have the required signatures, the network will throw an INVALID_SIGNATURE error
Methods
setAccountId(<accountId>)
AccountId
Required
setKey(<key>)
Key
Optional
setReceiverSignatureRequired(<boolean>)
Boolean
Optional
setMaxAutomaticTokenAssociations(<amount>)
int
Optional
setAccountMemo(<memo>)
String
Optional
setAutoRenewPeriod(<duration>)
Duration
Optional
setStakedAccountId(<stakedAccountId>)
AccountId
Optional
setStakedNodeId(<stakedNodeId>)
long
Optional
setDeclineStakingReward(<declineStakingReward>)
boolean
Optional
setExpirationTime(<expirationTime>)
Instant
Disabled
//Create the transaction to update the key on the account
AccountUpdateTransaction transaction = new AccountUpdateTransaction()
.setAccountId(accountId)
.setKey(updateKey);
//Sign the transaction with the old key and new key, submit to a Hedera network
TransactionResponse txResponse = transaction.freezeWith(client).sign(oldKey).sign(newKey).execute(client);
//Request 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);
//Version 2.0.0
Get transaction values
Return the properties of an account create transaction.
getKey()
Key
Returns the public key on the account
getInitialBalance()
Hbar
Returns the initial balance of the account
getReceiverSignatureRequired()
boolean
Returns whether the receiver signature is required or not
getExpirationTime()
Instant
Returns the expiration time
getAccountMemo()
String
Returns the account memo
getDeclineStakingReward()
boolean
Returns whether or not the account is declining rewards
getStakedNodeId()
long
Returns the node ID the account is staked to
getStakedAccountId()
AccountId
Returns the account ID the node is staked to
getAutoRenewPeriod()
Duration
Returns the auto renew period on the account
//Create a transaction
AccountUpdateTransaction transaction = new AccountUpdateTransaction()
.setAccountId(accountId)
.setKey(newKeyUpdate);
//Get the key on the account
Key accountKey = transaction.getKey();
//v2.0.0
Last updated
Was this helpful?