---
title: AccountRoot
---
[\[Source\]](https://github.com/Xahau/xahaud/blob/264280edd79b7f764536e02459f33f66a59c0531/src/ripple/protocol/impl/LedgerFormats.cpp#L36-L60)

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

### Example JSON

```json
{
    "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"
}
```

### Fields

An `AccountRoot` object has the following fields:

| Field                  | JSON Type | \[Internal Type]\[] | Required? | Description                                                                                                                                                                                                                                                                            |
| ---------------------- | --------- | ------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Account`              | String    | AccountID           | Yes       | The identifying (classic) address of this account.                                                                                                                                                                                                                                     |
| `Sequence`             | Number    | UInt32              | Yes       | The sequence number of the next valid transaction for this account.                                                                                                                                                                                                                    |
| `Balance`              | String    | Amount              | No        | The account's current \[XAH balance in drops]\[XAH, in drops], represented as a string.                                                                                                                                                                                                |
| `OwnerCount`           | Number    | UInt32              | Yes       | The number of objects this account owns in the ledger, which contributes to its owner reserve.                                                                                                                                                                                         |
| `PreviousTxnID`        | String    | Hash256             | Yes       | The identifying hash of the transaction that most recently modified this object.                                                                                                                                                                                                       |
| `PreviousTxnLgrSeq`    | Number    | UInt32              | Yes       | The \[index of the ledger]\[Ledger Index] that contains the transaction that most recently modified this object.                                                                                                                                                                       |
| `AccountTxnID`         | String    | Hash256             | No        | The 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.                                              |
| `RegularKey`           | String    | AccountID           | No        | The 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.                                                                                                                |
| `EmailHash`            | String    | Hash128             | No        | The md5 hash of an email address. Clients can use this to look up an avatar through services such as [Gravatar](https://en.gravatar.com/).                                                                                                                                             |
| `WalletLocator`        | String    | Hash256             | No        | An arbitrary 256-bit value that users can set.                                                                                                                                                                                                                                         |
| `WalletSize`           | Number    | UInt32              | No        | Unused. (The code supports this field but there is no way to set it.)                                                                                                                                                                                                                  |
| `MessageKey`           | String    | Blob                | No        | A 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.                                              |
| `TransferRate`         | Number    | UInt32              | No        | A transfer fee to charge other users for sending currency issued by this account to each other.                                                                                                                                                                                        |
| `Domain`               | String    | Blob                | No        | A 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.](https://github.com/Xahau/xahaud/blob/55dc7a252e08a0b02cd5aa39e9b4777af3eafe77/src/ripple/app/tx/impl/SetAccount.h#L34) |
| `TickSize`             | Number    | UInt8               | No        | How 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]\[].)_                                                                                       |
| `TicketCount`          | Number    | UInt32              | No        | How 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]\[].)_                  |
| `NFTokenMinter`        | String    | AccountID           | No        | Another account that can mint non-fungible tokens on behalf of this account. _(Added by the \[NonFungibleTokensV1_1 amendment]\[])_                                                                                                                                                   |
| `MintedNFTokens`       | Number    | UInt32              | No        | How many total non-fungible tokens have been minted by and on behalf of this account. _(Added by the \[NonFungibleTokensV1_1 amendment]\[])_                                                                                                                                          |
| `BurnedNFTokens`       | Number    | UInt32              | No        | How many total of this account's issued non-fungible tokens have been burned. This number is always equal or less than `MintedNFTokens`.                                                                                                                                               |
| `HookStateCount`       | Number    | UInt32              | No        | The number of states on the Hook.                                                                                                                                                                                                                                                      |
| `HookNamespaces`       | Array     | Vector256           | No        | A unique value to prevent state conflicts between multiple Hooks installed on the same XAHL account.                                                                                                                                                                                   |
| `RewardLgrFirst`       | Number    | UInt32              | No        | The ledger number of the last ClaimReward transaction.                                                                                                                                                                                                                                 |
| `RewardLgrLast`        | Number    | UInt32              | No        | The ledger sequence number of the last transaction in or out of your account.                                                                                                                                                                                                          |
| `RewardTime`           | Number    | UInt32              | No        | The ledger time the last reward was claimed.                                                                                                                                                                                                                                           |
| `RewardAccumulator`    | String    | UInt64              | No        | The area under of the balance-time graph for your account since last ClaimReward transaction.                                                                                                                                                                                          |
| `FirstNFTokenSequence` | Number    | UInt32              | No        | The account's \[Sequence Number]\[] at the time it minted its first non-fungible-token. _(Added by the \[fixNFTokenRemint amendment]\[] :not_enabled:)_                                                                                                                               |
| `ImportSequence`       | Number    | UInt32              | No        | The current sequence number from the importing account on the XAHL Ledger.                                                                                                                                                                                                             |
| `GovernanceFlags`      | String    | Hash256             | No        |                                                                                                                                                                                                                                                                                        |
| `GovernanceMarks`      | String    | Hash256             | No        |                                                                                                                                                                                                                                                                                        |
| `AccountIndex`         | String    | UInt64              | No        | The account's \[Index Number]\[]. _(Added by the \[xahauGenesis amendment]\[] :enabled:)_                                                                                                                                                                                              |
| `TouchCount`           | String    | UInt64              | No        | An incrementing counter for every time the ledger entry is "touched".                                                                                                                                                                                                                  |

### AccountRoot Flags

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:

<table><thead><tr><th width="174">Flag Name</th><th>Hex Value</th><th width="129">Decimal Value</th><th width="118">Corresponding AccountSet Flag</th><th>Description</th></tr></thead><tbody><tr><td><code>lsfDefaultRipple</code></td><td><code>0x00800000</code></td><td>8388608</td><td><code>asfDefaultRipple</code></td><td>Enable rippling on this addresses's trust lines by default. Required for issuing addresses; discouraged for others.</td></tr><tr><td><code>lsfDepositAuth</code></td><td><code>0x01000000</code></td><td>16777216</td><td><code>asfDepositAuth</code></td><td>This account has DepositAuth enabled, meaning it can only receive funds from transactions it sends, and from preauthorized accounts. <em>(Added by the [DepositAuth amendment][])</em></td></tr><tr><td><code>lsfDisableMaster</code></td><td><code>0x00100000</code></td><td>1048576</td><td><code>asfDisableMaster</code></td><td>Disallows use of the master key to sign transactions for this account.</td></tr><tr><td><code>lsfDisallowIncomingCheck</code></td><td><code>0x08000000</code></td><td>134217728</td><td><code>asfDisallowIncomingCheck</code></td><td>This account blocks incoming Checks. </td></tr><tr><td><code>lsfDisallowIncomingNFTokenOffer</code></td><td><code>0x04000000</code></td><td>67108864</td><td><code>asfDisallowIncomingNFTokenOffer</code></td><td>This account blocks incoming NFTokenOffers. </td></tr><tr><td><code>lsfDisallowIncomingPayChan</code></td><td><code>0x10000000</code></td><td>268435456</td><td><code>asfDisallowIncomingPayChan</code></td><td>This account blocks incoming Payment Channels. </td></tr><tr><td><code>lsfDisallowIncomingTrustline</code></td><td><code>0x20000000</code></td><td>536870912</td><td><code>asfDisallowIncomingTrustline</code></td><td>This account blocks incoming trust lines. </td></tr><tr><td><code>lsfDisallowIncomingRemit</code></td><td><code>0x80000000</code></td><td>2147483648</td><td><code>asfDisallowIncomingRemit</code></td><td>This account blocks incoming remit transactions. </td></tr><tr><td><code>lsfDisallowXRP</code></td><td><code>0x00080000</code></td><td>524288</td><td><code>asfDisallowXRP</code></td><td>Client applications should not send XAH to this account. (Advisory; not enforced by the protocol.)</td></tr><tr><td><code>lsfGlobalFreeze</code></td><td><code>0x00400000</code></td><td>4194304</td><td><code>asfGlobalFreeze</code></td><td>All assets issued by this account are frozen.</td></tr><tr><td><code>lsfNoFreeze</code></td><td><code>0x00200000</code></td><td>2097152</td><td><code>asfNoFreeze</code></td><td>This account cannot freeze trust lines connected to it. Once enabled, cannot be disabled.</td></tr><tr><td><code>lsfPasswordSpent</code></td><td><code>0x00010000</code></td><td>65536</td><td>(None)</td><td>This account has used its free SetRegularKey transaction.</td></tr><tr><td><code>lsfRequireAuth</code></td><td><code>0x00040000</code></td><td>262144</td><td><code>asfRequireAuth</code></td><td>This account must individually approve other users for those users to hold this account's tokens.</td></tr><tr><td><code>lsfRequireDestTag</code></td><td><code>0x00020000</code></td><td>131072</td><td><code>asfRequireDest</code></td><td>Requires incoming payments to specify a Destination Tag.</td></tr><tr><td><code>lsfTshCollect</code></td><td><code>0x02000000</code></td><td>33554432</td><td><code>asfTshCollect</code></td><td>The TSH pays for the execution of their own Hook Chain.</td></tr><tr><td><code>lsfURITokenIssuer</code></td><td><code>0x04000000</code></td><td>67108864</td><td><code>asfURITokenIssuer</code></td><td>This account cannot be deleted after it has issued a URIToken.</td></tr></tbody></table>

### AccountRoot ID Format

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
