Skip to content

Updated Transactions

This page describes the changes to existing transaction types introduced by Sponsored Fees and Reserves.

(Requires the Sponsor amendment )

Payment Transaction Updates

Example JSON

{
  "TransactionType": "Payment",
  "Account": "rN7n7otQDd6FczFgLdlqtyMVrn3HMfXpf", // The sponsor funding the account creation
  "Destination": "rfkDkFai4jUfCvAJiZ5Vm7XvvWjYvDqeYo", // The new account being created and sponsored
  "Amount": "1",  // 1 drop, the minimum
  "Flags": 524288, // tfSponsorCreatedAccount
  "Fee": "10",
  "Sequence": 3
}

Payment Flags

A new flag is added to the Payment transaction for sponsoring new accounts:

Flag NameHex ValueDecimal ValueDescription
tfSponsorCreatedAccount0x00080000524288This flag is only valid if the Payment is used to create an account. If it is enabled, the created account will be sponsored by the Account submitting the transaction.

Error Cases

When tfSponsorCreatedAccount is enabled, the following additional error cases apply:

Error CodeDescription
temINVALID_FLAGtfNoRippleDirect, tfPartialPayment, or tfLimitQuality are enabled. The tfSponsorCreatedAccount flag cannot be combined with these flags.
temBAD_AMOUNTThe Amount specifies a non-XRP currency.
tecNO_SPONSOR_PERMISSIONThe Destination already exists. This flag is only valid when creating a new account.
tecUNFUNDED_PAYMENTThe sponsoring Account does not have enough XRP to deliver the Amount while still covering its own reserve (or the transaction fee, whichever is greater).

AccountDelete Transaction Updates

The AccountDelete transaction adds new constraints for sponsored accounts. If the account being deleted has a Sponsor field, the Destination must equal the Sponsor value to ensure the sponsor can recoup their reserve.

On successful deletion, the sponsor's SponsoringAccountCount is decremented by one.

Example JSON

{
  "TransactionType": "AccountDelete",
  "Account": "rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm",
  "Destination": "rN7n7otQDd6FczFgLdlqtyMVrn3HMfXpf", // The sponsor
  "Fee": "5000000",
  "Sequence": 2470665
}

Error Cases

The following additional error cases apply for AccountDelete transactions:

Error CodeDescription
tecNO_SPONSOR_PERMISSIONThe AccountRoot has a Sponsor field, but the Destination is not equal to the sponsor. Sponsored account funds must go to the sponsor.
tecHAS_OBLIGATIONSThe AccountRoot has a non-zero SponsoringOwnerCount or SponsoringAccountCount field. The account cannot be deleted until those sponsorships are transferred or dissolved.