Skip to content

AccountRoot

[Source]

An AccountRoot ledger entry type describes a single account, its settings, and XAH balance.

{
"Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn",
"AccountTxnID": "0D5FB50FA65C9FE1538FD7E398FFFE9D1908DFA4576D8D7A020040686F93C77D",
"AccountIndex": "59",
"Balance": "148446663",
"Domain": "6D64756F31332E636F6D",
"EmailHash": "98B4375E1D753E5B91627516F6D70977",
"Flags": 8388608,
"LedgerEntryType": "AccountRoot",
"MessageKey": "0000000000000000000000070000000300",
"OwnerCount": 3,
"PreviousTxnID": "0D5FB50FA65C9FE1538FD7E398FFFE9D1908DFA4576D8D7A020040686F93C77D",
"PreviousTxnLgrSeq": 14091160,
"Sequence": 336,
"TransferRate": 1004999999,
"index": "13F1A95D7AAB7108D5CE7EEAF504B2894B8C674E6D68499076441C4837282BF8"
}

An AccountRoot object has the following fields:

FieldJSON Type[Internal Type][]Required?Description
AccountStringAccountIDYesThe identifying (classic) address of this account.
SequenceNumberUInt32YesThe sequence number of the next valid transaction for this account.
BalanceStringAmountNoThe account’s current [XAH balance in drops][XAH, in drops], represented as a string.
OwnerCountNumberUInt32YesThe number of objects this account owns in the ledger, which contributes to its owner reserve.
PreviousTxnIDStringHash256YesThe identifying hash of the transaction that most recently modified this object.
PreviousTxnLgrSeqNumberUInt32YesThe [index of the ledger][Ledger Index] that contains the transaction that most recently modified this object.
AccountTxnIDStringHash256NoThe identifying hash of the transaction most recently sent by this account. This field must be enabled to use the AccountTxnID transaction field. To enable it, send an AccountSet transaction with the asfAccountTxnID flag enabled.
RegularKeyStringAccountIDNoThe address of a key pair that can be used to sign transactions for this account instead of the master key. Use a [SetRegularKey transaction][] to change this value.
EmailHashStringHash128NoThe md5 hash of an email address. Clients can use this to look up an avatar through services such as Gravatar.
WalletLocatorStringHash256NoAn arbitrary 256-bit value that users can set.
WalletSizeNumberUInt32NoUnused. (The code supports this field but there is no way to set it.)
MessageKeyStringBlobNoA public key that may be used to send encrypted messages to this account. In JSON, uses hexadecimal. Must be exactly 33 bytes, with the first byte indicating the key type: 0x02 or 0x03 for secp256k1 keys, 0xED for Ed25519 keys.
TransferRateNumberUInt32NoA transfer fee to charge other users for sending currency issued by this account to each other.
DomainStringBlobNoA domain associated with this account. In JSON, this is the hexadecimal for the ASCII representation of the domain. Cannot be more than 256 bytes in length.
TickSizeNumberUInt8NoHow many significant digits to use for exchange rates of Offers involving currencies issued by this address. Valid values are 3 to 15, inclusive. (Added by the [TickSize amendment][].)
TicketCountNumberUInt32NoHow many Tickets this account owns in the ledger. This is updated automatically to ensure that the account stays within the hard limit of 250 Tickets at a time. This field is omitted if the account has zero Tickets. (Added by the [TicketBatch amendment][].)
NFTokenMinterStringAccountIDNoAnother account that can mint non-fungible tokens on behalf of this account. (Added by the [NonFungibleTokensV1_1 amendment][])
MintedNFTokensNumberUInt32NoHow many total non-fungible tokens have been minted by and on behalf of this account. (Added by the [NonFungibleTokensV1_1 amendment][])
BurnedNFTokensNumberUInt32NoHow many total of this account’s issued non-fungible tokens have been burned. This number is always equal or less than MintedNFTokens.
HookStateCountNumberUInt32NoThe number of states on the Hook.
HookNamespacesArrayVector256NoA unique value to prevent state conflicts between multiple Hooks installed on the same XAHL account.
RewardLgrFirstNumberUInt32NoThe ledger number of the last ClaimReward transaction.
RewardLgrLastNumberUInt32NoThe ledger sequence number of the last transaction in or out of your account.
RewardTimeNumberUInt32NoThe ledger time the last reward was claimed.
RewardAccumulatorStringUInt64NoThe area under of the balance-time graph for your account since last ClaimReward transaction.
FirstNFTokenSequenceNumberUInt32NoThe account’s [Sequence Number][] at the time it minted its first non-fungible-token. (Added by the [fixNFTokenRemint amendment][] :not_enabled:)
ImportSequenceNumberUInt32NoThe current sequence number from the importing account on the XAHL Ledger.
GovernanceFlagsStringHash256No
GovernanceMarksStringHash256No
AccountIndexStringUInt64NoThe account’s [Index Number][]. (Added by the [xahauGenesis amendment][] :enabled:)
TouchCountStringUInt64NoAn incrementing counter for every time the ledger entry is “touched”.

There are several options which can be either enabled or disabled for an account. These options can be changed with an [AccountSet transaction][]. In the ledger, flags are represented as binary values that can be combined with bitwise-or operations. The bit values for the flags in the ledger are different than the values used to enable or disable those flags in a transaction. Ledger flags have names that begin with lsf.

fAccountRoot objects can have the following flag values:

Flag NameHex ValueDecimal ValueCorresponding AccountSet FlagDescription
lsfDefaultRipple0x008000008388608asfDefaultRippleEnable rippling on this addresses’s trust lines by default. Required for issuing addresses; discouraged for others.
lsfDepositAuth0x0100000016777216asfDepositAuthThis account has DepositAuth enabled, meaning it can only receive funds from transactions it sends, and from preauthorized accounts. (Added by the [DepositAuth amendment][])
lsfDisableMaster0x001000001048576asfDisableMasterDisallows use of the master key to sign transactions for this account.
lsfDisallowIncomingCheck0x08000000134217728asfDisallowIncomingCheckThis account blocks incoming Checks.
lsfDisallowIncomingNFTokenOffer0x0400000067108864asfDisallowIncomingNFTokenOfferThis account blocks incoming NFTokenOffers.
lsfDisallowIncomingPayChan0x10000000268435456asfDisallowIncomingPayChanThis account blocks incoming Payment Channels.
lsfDisallowIncomingTrustline0x20000000536870912asfDisallowIncomingTrustlineThis account blocks incoming trust lines.
lsfDisallowIncomingRemit0x800000002147483648asfDisallowIncomingRemitThis account blocks incoming remit transactions.
lsfDisallowXRP0x00080000524288asfDisallowXRPClient applications should not send XAH to this account. (Advisory; not enforced by the protocol.)
lsfGlobalFreeze0x004000004194304asfGlobalFreezeAll assets issued by this account are frozen.
lsfNoFreeze0x002000002097152asfNoFreezeThis account cannot freeze trust lines connected to it. Once enabled, cannot be disabled.
lsfPasswordSpent0x0001000065536(None)This account has used its free SetRegularKey transaction.
lsfRequireAuth0x00040000262144asfRequireAuthThis account must individually approve other users for those users to hold this account’s tokens.
lsfRequireDestTag0x00020000131072asfRequireDestRequires incoming payments to specify a Destination Tag.
lsfTshCollect0x0200000033554432asfTshCollectThe TSH pays for the execution of their own Hook Chain.
lsfURITokenIssuer0x0400000067108864asfURITokenIssuerThis account cannot be deleted after it has issued a URIToken.

The ID of an AccountRoot object is the [SHA-512Half][] of the following values, concatenated in order:

  • The Account space key (0x0061)
  • The AccountID of the account