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

pageAccount Properties

Transaction 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

MethodTypeRequirement

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.

MethodTypeDescription

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