2.8 KiB
seo, labels, status
| seo | labels | status | |||||
|---|---|---|---|---|---|---|---|
|
|
not_enabled |
Pseudo-Accounts
The XRP Ledger is an account-based blockchain where assets like XRP, trust line tokens, and Multi-Purpose Tokens (MPTs) are held by accounts, and are represented on-chain by an AccountRoot ledger entry. However, certain use cases require assets to be transferable to and from an object, which is why a pseudo-account is needed.
A pseudo-account is a special type of account that holds assets on behalf of an on-chain protocol. Use cases for pseudo-accounts include:
-
Automated Market Makers (AMM): The XLS-30 amendment introduced pseudo-accounts for AMMs by adding the
AMMIDfield to theAccountRootledger entry. This field links a pseudo-account to an AMM instance, allowing it to track XRP and token balances in the pool and issueLPTokenson behalf of the AMM instance. -
Single Asset Vaults: A single asset vault pseudo-account is used to store deposited funds and issue MPT shares. A new
VaultIDfield is introduced in theAccountRootledger entry, which links the pseudo-account with the vault. -
Lending Protocol: The Lending Protocol also uses the single asset vault's pseudo-account, with each
LoanBrokertracked in the pseudo-account's owner directory. The pseudo-account holds first-loss capital that protects vault depositors from loan defaults, as well as the loan funds themselves.
A pseudo-account has strict limitations. It cannot receive payments from other accounts, cannot send transactions since it has no signing authority, and exists solely to store or issue assets.
Reserve Requirements
The cost of creating a pseudo-account depends on whether it is owned and controlled by another account:
-
Owned pseudo-accounts: For objects like a
Vaultwhere a single account owns and controls the associated pseudo-account, the creation transaction increases the owner's XRP reserve by one incremental owner reserve (currently {% $env.PUBLIC_OWNER_RESERVE %}). This is in addition to any other reserve requirements of the transaction (for example, the Vault object itself). -
Unowned pseudo-accounts: For objects like an
AMMthat are not owned by any account, the creation transaction must charge a special, higher-than-normal transaction fee. This fee must be at least the value of one incremental owner reserve. This amount is burned, compensating for the permanent ledger space without tying the reserve to a specific owner.
{% raw-partial file="/docs/_snippets/common-links.md" /%}