+
+# Pseudo-Account
+
+## _Abstract_
+
+In this document, we propose a standard for a _pseudo-account_, an `AccountRoot` object that can be associated with one or more other ledger entries to hold and/or issue assets on behalf of the associated entries.
+
+## 1. Introduction
+
+The XRP Ledger is an account-based blockchain in which assets—such as XRP, IOUs, or MPT—can only be held by an account represented by an `AccountRoot` ledger entry. However, certain use cases, such as Automated Market Makers (AMM), Single Asset Vaults, and the Lending Protocol—require assets to be transferable to and from an object.
+
+The [XLS-30](https://github.com/XRPLF/XRPL-Standards/tree/master/XLS-0030-automated-market-maker#readme) specification introduced the `AMMID` field in the `AccountRoot` ledger entry. This field associates a _pseudo-account_ with an `AMM` instance, allowing it to track XRP and token balances in the pool and issue `LPTokens` on behalf of the `AMM` instance.
+
+This specification formalises the requirements for an `AccountRoot` when used as a _pseudo-account_. Specifically, it defines:
+
+- A set of flags that must be enabled.
+- A naming convention for the field identifying the object the `AccountRoot` is associated with.
+- Minimum requirements for any protocol implementing a _pseudo-account_.
+
+## 2. Ledger Entries
+
+### 2.1. `AccountRoot` Ledger Entry
+
+#### 2.1.1. Object Identifier
+
+The address of the `AccountRoot` must be randomised to prevent users from identifying and funding the address before its creation. The protocol that creates an `AccountRoot` must ensure the account address is unoccupied.
+
+The unique ID of the **`AccountRoot`** object, a.k.a. **`AccountRootID`** is computed as follows:
+
+- for (i = 0; i <= 256; i--)
+ - Compute `AccountRootID` = `SHA512-Half`(i || [Parent Ledger Hash](https://xrpl.org/ledgerhashes.html) || `