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 new sponsored account
  "Destination": "rfkDkFai4jUfCvAJiZ5Vm7XvvWjYvDqeYo",
  "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.
tecNO_DST_INSUF_XRPThe Account does not have enough XRP to cover the account reserve requirement for the sponsored account.

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 1. If the deleted account had a SponsoredOwnerCount field, the sponsor's SponsoringOwnerCount is also decremented by that value.

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.