XRPL deletable accounts amendment enabled: What’s new?

by | May 7, 2020 | 0 comments

The XRPL (XRP Ledger) is open-source technology that anyone can use. It follows a specific set of rules but that doesn’t mean it does not evolve. Any changes/upgrades to the XRPL go through the amendment process.

What’s an amendment?

The amendment system provides a means of introducing new features to the decentralized XRP Ledger network without causing disruptions. The amendments system works by utilizing the core consensus process of the network to approve any changes by showing continuous support before those changes go into effect. An amendment requires 80% support from the UNL validators for two weeks before it can apply.

20 XRP Reserve

One of the features of the XRP ledger is the reserve. As explained at the XRP Ledger Dev Portal: “To submit transactions, an address must hold a minimum amount of XRP in the shared global ledger. You cannot send this XRP to other addresses. To fund a new address, you must send enough XRP to meet the reserve requirement. The current minimum reserve requirement is 20 XRP”.

In other words, up until now, every address needed to be funded with 20 XRP, which could not be moved once it arrived.

Deletable accounts feature

This changes with the deletable accounts feature that was first introduced by Nik Bougalis in February 2019.

After obtaining an 80% majority and the required passing of two weeks, the deletable accounts amendment has been enabled. This means that users can now delete their accounts and retrieve their XRP.

With any new feature, a lot of questions are bound to come up, especially with a big change like this one.

  • Who deletes the account and how?

Only the owner of the account, the entity that holds the private keys, executes an AccountDelete transaction, like any other transaction.

  • What happens to the balance?

While executing an AccountDelete transaction the user specifies a destination account, sending the account’s remaining XRP to it.

  • What is the cost of this transaction?

The AccountDelete transaction must pay a special transaction cost equal to at least the owner reserve for one item (currently 5 XRP).

  • Are there any other requirements that need to be met?

The account must not be linked to any of the following types of ledger objects (as a sender or receiver): Escrow, PayChannel, RippleState, Check.

  • Can the account be re-created?

After an account has been deleted, it can be re-created in the ledger through the normal method of creating accounts. An account that has been deleted and re-created is no different than an account that has been created for the first time.

  • What are the common errors that can occur while executing an AccountDelete transaction?

In addition to errors that can occur for all transactions, AccountDelete transactions can result in the following transaction result codes:

Error CodeDescription
temDISABLEDOccurs if the DeletableAccounts amendment is not enabled.
temDST_IS_SRCOccurs if the Destination matches the sender of the transaction (Account field).
tecDST_TAG_NEEDEDOccurs if the Destination account requires a destination tag, but the DestinationTag field was not provided.
tecNO_DSTOccurs if the Destination account is not a funded account in the ledger.
tecNO_PERMISSIONOccurs if the Destination account requires deposit authorization and the sender is not preauthorized.
tecTOO_SOONOccurs if the sender’s Sequence number is too high. The transaction’s Sequence number plus 256 must be less than the current Ledger Index.
tecHAS_OBLIGATIONSOccurs if the account to be deleted is connected to objects that cannot be deleted in the ledger. (This includes objects created by other accounts, such as escrows.)
tefTOO_BIGOccurs if the sending account is linked to more than 1000 objects in the ledger. The transaction could succeed on retry if some of those objects were deleted separately first.

This means that if there is an error in the address or destination tag, the user will receive an error message, thus preventing the transaction from going through. Moreover, if the account is connected to other obligations like escrows, the account will not be deleted.

  • Why was this feature enabled?

Account owners can now retrieve any XRP remaining in their accounts. Each new version of the XRP Ledger’s public ledger chain contains the full state of the ledger, which increases in size with each new account. As users delete their accounts this will reduce the size of the ledger.