Show / Hide Table of Contents

Class UpdateAccountParams

Represents the properties on an account that can be changed.
Any property set to 
null

on this object when submitted to the UpdateAccountAsync(ConsensusClient, UpdateAccountParams, Action<IConsensusContext>?) method will be left unchanged by the system. Certain additional conditions apply to certain properties such as the signing key are described below.

Inheritance
object
TransactionParams
TransactionParams<TransactionReceipt>
UpdateAccountParams
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Hiero
Assembly: Hiero.dll
Syntax
public sealed class UpdateAccountParams : TransactionParams<TransactionReceipt>
Examples

Rotate the signing key on an account. Both the current key (from the client context) and the new key (from the params Signatory) must sign:

// Rotate the signing key on an existing account. The network requires
// both the *current* key and the *new* key to sign — supply the new
// signatory on the params so it is combined with the existing context
// signatory during signing.
var receipt = await client.UpdateAccountAsync(new UpdateAccountParams
{
    Address = account,
    Endorsement = newEndorsement,
    Memo = "Key rotation 2026-Q2",
    Signatory = newSignatory
});
Console.WriteLine($"Update status: {receipt.Status}");

Properties

| Edit this page View Source

AddHooks

Optional list of hooks to add to the account.

Declaration
public IEnumerable<HookMetadata>? AddHooks { get; set; }
Property Value
Type Description
IEnumerable<HookMetadata>
| Edit this page View Source

Address

The network address of account to update.

Declaration
public EntityId Address { get; set; }
Property Value
Type Description
EntityId
| Edit this page View Source

AutoAssociationLimit

If set, updates the maximum number of tokens or NFTs that this account may be implicitly associated with (by means of being made a treasury or other related actions).

Declaration
public int? AutoAssociationLimit { get; set; }
Property Value
Type Description
int?
| Edit this page View Source

AutoRenewPeriod

Incremental period for auto-renewal of the account. If account does not have sufficient funds to renew at the expiration time, it will be renewed for a period of time the remaining funds can support. If no funds remain, the account will be deleted.

Declaration
public TimeSpan? AutoRenewPeriod { get; set; }
Property Value
Type Description
TimeSpan?
| Edit this page View Source

CancellationToken

Optional Cancellation token that can interrupt the update process.

Declaration
public CancellationToken? CancellationToken { get; set; }
Property Value
Type Description
CancellationToken?
| Edit this page View Source

DeclineStakeReward

If set, updates the flag indicating to the network that this account does not wish to receive any earned staking rewards.

Declaration
public bool? DeclineStakeReward { get; set; }
Property Value
Type Description
bool?
| Edit this page View Source

Endorsement

Replace this Address's current key signing requirements with new signing requirements.

Declaration
public Endorsement? Endorsement { get; set; }
Property Value
Type Description
Endorsement
Remarks

For this request to be accepted by the network, both the current private key(s) for this account and the new private key(s) must sign the transaction.
The existing key must sign for security and the new key must sign as a safeguard to avoid accidentally changing the key to an invalid value.
Either the Payer account or Address may carry the new private key for signing to meet this requirement.

| Edit this page View Source

Expiration

The new expiration date for this account, it will be ignored if it is equal to or before the current expiration date value for this account.

Declaration
public ConsensusTimeStamp? Expiration { get; set; }
Property Value
Type Description
ConsensusTimeStamp?
| Edit this page View Source

Memo

If not null, a new description of the account.

Declaration
public string? Memo { get; set; }
Property Value
Type Description
string
| Edit this page View Source

ProxyAccount

If set, updates this account's staking proxy account. The funds of this account will be staked to the node that this account is staked to and the specified proxy account will receive the earned reward.

Declaration
public EntityId? ProxyAccount { get; set; }
Property Value
Type Description
EntityId
| Edit this page View Source

RemoveHooks

Optional list of hook numeric identifiers to remove from the account.

Declaration
public IEnumerable<long>? RemoveHooks { get; set; }
Property Value
Type Description
IEnumerable<long>
| Edit this page View Source

RequireReceiveSignature

If set to True, the account must sign any transaction transferring crypto into account.

Declaration
public bool? RequireReceiveSignature { get; set; }
Property Value
Type Description
bool?
| Edit this page View Source

Signatory

Any additional signing keys required to validate the transaction that are not already specified in the client object's context.

Declaration
public Signatory? Signatory { get; set; }
Property Value
Type Description
Signatory
Remarks

Keys/callbacks added here will be combined with those already identified in the client object's context when signing this transaction to change the state of this account.

| Edit this page View Source

StakedNode

If set, updates this account's staked node. The funds of this account will be staked to the gossip node with the given ID.

Declaration
public long? StakedNode { get; set; }
Property Value
Type Description
long?
Remarks

Node IDs are used instead of node account IDs because a node has the ability to change its wallet account ID.

  • Edit this page
  • View Source
In this article
Back to top .NET Client Library for Hiero Network and Hedera Hashgraph