auth— registration, login, JWT issuance and validationusers— profile, wallet connect, email lookup for recipient resolutionorganizations— organizer accounts and membershipevents— event/ticket-type CRUD and on-chain publishingtickets— the full ticket lifecycle (issue, purchase, transfer, check-in, revoke, resale)stellar— the only module that talks to Soroban RPC
Every on-chain write follows the same two-step shape:
build*TxinStellarServicesimulates the call against the caller's own public key and returns an unsigned XDR envelope.- The caller's wallet signs it client-side.
submitSignedTransactionrelays the signed envelope and polls it to completion.
No other module calls Soroban RPC directly — they all go through
StellarService, which keeps the "we never hold a key" invariant in
one place.