Amendment XLS: Ticket Taxon #597
bigcjat
started this conversation in
XLS Proposals
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
XLS-XXd: Ticket Taxon for Application Sequence Coordination
Abstract
This proposal introduces an optional
TicketTaxon(STUInt32) metadata field to the existingTicketCreatetransaction andTicket(ltTICKET) ledger object on the XRP Ledger.TicketTaxonprovides a standardized on-chain identifier for application-reserved sequence tickets. This allows self-custody mobile wallets and dApp client SDKs to identify, group, and respect tickets reserved by specific applications (such as automated bots or multi-step escrow systems), preventing accidental ticket consumption across multi-dApp user workflows without imposing restrictive consensus execution locks.Motivation
The Multi-dApp Sequence Collision Problem
The XRP Ledger's Ticket primitive (
ltTICKET) allows accounts to reserve sequence numbers for out-of-order transaction execution. This capability is vital for dApps, off-chain proposal builders, and automated processing systems that prepare transactions in advance.However, sequence numbers are globally scoped to the account:
account_objectsfor available tickets, selects the next available Ticket Sequence (Sequence 100), and consumes it.The
TicketTaxonSolutionDrawing inspiration from
NFTokenTaxon(which groups NFTs by collection or application namespace),TicketTaxonadds a lightweight, non-restrictiveSTUInt32identifier to theltTICKETledger object.By adding
TicketTaxon:0x12345678).TicketTaxonwhen querying account tickets. Wallets politely skip tagged tickets during generic auto-sequence selection, reserving them for their intended application.Specification
1. Transaction Field Modification:
TicketCreateAdd an optional
TicketTaxonfield to theTicketCreatetransaction format.TicketTaxonSTUInt322. Ledger Object Modification:
Ticket(ltTICKET)Update the
Ticketledger entry structure to store the optionalTicketTaxonfield.TicketTaxonSTUInt32Standard Workflow Example
Mobile Wallet & dApp Sequence Coordination
TicketCreatewithTicketTaxon = 305419896(0x12345678).ltTICKETentries are stored on-ledger withTicketTaxon = 305419896.account_objects. The SDK detects that Tickets 100–104 are tagged withTicketTaxon = 305419896. The wallet automatically selects the standard account sequence (or an un-tagged ticket), leaving the reserved tickets untouched for Application A.Advantages Over Un-Tagged Tickets
TicketTaxon(Proposed)STUInt32TagltTICKETltTICKET)Backwards Compatibility
This amendment is fully backwards compatible:
TicketCreatetransactions withoutTicketTaxoncontinue to function identically.TicketTaxonomitted) are treated as generic, unreserved tickets.featureTicketTaxon.Security Considerations
TicketTaxonis a client-coordination tag rather than a hard consensus lock, there is zero risk of locking user funds or causing unexpectedtectransaction failures.TicketCreatereserve requirements remain unchanged.All reactions