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.
Inherited Members
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 SourceAddHooks
Optional list of hooks to add to the account.
Declaration
public IEnumerable<HookMetadata>? AddHooks { get; set; }
Property Value
| Type | Description |
|---|---|
| IEnumerable<HookMetadata> |
Address
The network address of account to update.
Declaration
public EntityId Address { get; set; }
Property Value
| Type | Description |
|---|---|
| EntityId |
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? |
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? |
CancellationToken
Optional Cancellation token that can interrupt the update process.
Declaration
public CancellationToken? CancellationToken { get; set; }
Property Value
| Type | Description |
|---|---|
| CancellationToken? |
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? |
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.
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? |
Memo
If not null, a new description of the account.
Declaration
public string? Memo { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
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 |
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> |
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? |
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.
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.