{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["not-enabled"]},"type":"markdown"},"seo":{"title":"Updated Transactions","siteUrl":"https://opensource.ripple.com/","meta":[{"name":"google-site-verification","content":"bLwyBi1imklcIuQxZ7JeI_kRF5Mg7yfr6arpEQV2nsE"}],"llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"updated-transactions","__idx":0},"children":["Updated Transactions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This page describes the changes to existing transaction types introduced by Sponsored Fees and Reserves."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"em","attributes":{},"children":["(Requires the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://xls.xrpl.org/xls/XLS-0068-sponsored-fees-and-reserves.html"},"children":["Sponsor amendment"]}," ",{"$$mdtype":"Tag","name":"NotEnabled","attributes":{},"children":[]},")"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"payment-transaction-updates","__idx":1},"children":["Payment Transaction Updates"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"example-json","__idx":2},"children":["Example JSON"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"TransactionType\": \"Payment\",\n  \"Account\": \"rN7n7otQDd6FczFgLdlqtyMVrn3HMfXpf\", // The new sponsored account\n  \"Destination\": \"rfkDkFai4jUfCvAJiZ5Vm7XvvWjYvDqeYo\",\n  \"Amount\": \"1\",  // 1 drop, the minimum\n  \"Flags\": 524288, // tfSponsorCreatedAccount\n  \"Fee\": \"10\",\n  \"Sequence\": 3\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"payment-flags","__idx":3},"children":["Payment Flags"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A new flag is added to the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://xrpl.org/docs/references/protocol/transactions/types/payment"},"children":["Payment transaction"]}," for sponsoring new accounts:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Flag Name"},"children":["Flag Name"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Hex Value"},"children":["Hex Value"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Decimal Value"},"children":["Decimal Value"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tfSponsorCreatedAccount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["0x00080000"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["524288"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["This 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 ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Account"]}," submitting the transaction."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"error-cases","__idx":4},"children":["Error Cases"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tfSponsorCreatedAccount"]}," is enabled, the following additional error cases apply:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Error Code"},"children":["Error Code"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["temINVALID_FLAG"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tfNoRippleDirect"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tfPartialPayment"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tfLimitQuality"]}," are enabled. The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tfSponsorCreatedAccount"]}," flag cannot be combined with these flags."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["temBAD_AMOUNT"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Amount"]}," specifies a non-XRP currency."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tecNO_SPONSOR_PERMISSION"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Destination"]}," already exists. This flag is only valid when creating a new account."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tecNO_DST_INSUF_XRP"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Account"]}," does not have enough XRP to cover the account reserve requirement for the sponsored account."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"accountdelete-transaction-updates","__idx":5},"children":["AccountDelete Transaction Updates"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://xrpl.org/docs/references/protocol/transactions/types/accountdelete"},"children":["AccountDelete transaction"]}," adds new constraints for sponsored accounts. If the account being deleted has a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Sponsor"]}," field, the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Destination"]}," must equal the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Sponsor"]}," value to ensure the sponsor can recoup their reserve."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["On successful deletion, the sponsor's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SponsoringAccountCount"]}," is decremented by 1. If the deleted account had a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SponsoredOwnerCount"]}," field, the sponsor's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SponsoringOwnerCount"]}," is also decremented by that value."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"example-json-1","__idx":6},"children":["Example JSON"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"TransactionType\": \"AccountDelete\",\n  \"Account\": \"rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm\",\n  \"Destination\": \"rN7n7otQDd6FczFgLdlqtyMVrn3HMfXpf\", // The sponsor\n  \"Fee\": \"5000000\",\n  \"Sequence\": 2470665\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"error-cases-1","__idx":7},"children":["Error Cases"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following additional error cases apply for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccountDelete"]}," transactions:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Error Code"},"children":["Error Code"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tecNO_SPONSOR_PERMISSION"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccountRoot"]}," has a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Sponsor"]}," field, but the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Destination"]}," is not equal to the sponsor. Sponsored account funds must go to the sponsor."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tecHAS_OBLIGATIONS"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccountRoot"]}," has a non-zero ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SponsoringOwnerCount"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SponsoringAccountCount"]}," field. The account cannot be deleted until those sponsorships are transferred or dissolved."]}]}]}]}]}]},"headings":[{"value":"Updated Transactions","id":"updated-transactions","depth":1},{"value":"Payment Transaction Updates","id":"payment-transaction-updates","depth":2},{"value":"Example JSON","id":"example-json","depth":3},{"value":"Payment Flags","id":"payment-flags","depth":3},{"value":"Error Cases","id":"error-cases","depth":3},{"value":"AccountDelete Transaction Updates","id":"accountdelete-transaction-updates","depth":2},{"value":"Example JSON","id":"example-json-1","depth":3},{"value":"Error Cases","id":"error-cases-1","depth":3}],"frontmatter":{"seo":{"title":"Updated Transactions"}},"editPage":{"to":"https://github.com/ripple/opensource.ripple.com/tree/main/docs/xls-68-sponsored-fees-and-reserves/references/transactions/updated-transactions.md"},"lastModified":"2026-04-10T16:11:18.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/xls-68-sponsored-fees-and-reserves/references/transactions/updated-transactions","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}