VeriTix is a Web2.5 ticket verification bridge. Buyers arrive from partner ticketing platforms (e.g., Ticketmaster), verify identity via Singpass-style flow, and have their ticket secured on XRPL behind the scenes. The UI keeps crypto jargon out of the default experience but exposes audit proof when needed.
- Partner redirect flow:
/bridgeguides users to verify and secure a purchased ticket. - Identity onboarding: NRIC-based login with auto XRPL wallet creation (demo).
- Ticket minting: backend minting for purchases and client-side XRPL testnet minting for the create-wallet demo.
- Ticket wallet: Profile page shows owned tickets and pending-sale tickets.
- Marketplace: simple second-hand listing flow (localStorage-backed) with “Your Listings” section.
- No real Stripe checkout (payment is mocked in the UI).
- Marketplace is not backed by a real database or XRPL offers.
- MongoDB is optional; most flows still work without it.
/Landing page for direct visitors./bridgePartner redirect verification flow./eventsPartner events directory (demo data)./profileUser profile + My Tickets + Pending Sale./marketplaceSecond-hand listings (localStorage).
- Frontend: React + Vite + TypeScript + Tailwind
- Backend: Node.js + Express
- XRPL: Testnet websocket (
wss://s.altnet.rippletest.net:51233by default)
cd backend
npm installCreate backend/.env:
PORT=4000
ISSUER_SEED=your_issuer_seed
XRPL_SERVER=wss://s.altnet.rippletest.net:51233
MONGODB_URI=mongodb://127.0.0.1:27017/veritix
STRIPE_SECRET_KEY=mock_key_okStart server:
npm startcd frontend
npm install
npm run devVite proxies /api to http://127.0.0.1:4000.
- Visit
/bridge. - Continue to login, verify, and secure your ticket.
- Events are demo data.
- Payment is simulated.
- Backend mints a ticket NFT and the UI stores it in localStorage.
- From Profile → My Tickets, list a ticket.
- Ticket moves to Pending Sale and appears in Marketplace.
- Removing a listing restores it to My Tickets.
- Start backend + frontend.
- Open
http://localhost:5173. - Click "Verify My Ticket" to enter the partner bridge flow.
- Complete login (NRIC demo) and follow the secure ticket flow.
- Go to Profile → My Tickets to see the minted ticket.
- List a ticket for resale and confirm it moves to Pending Sale.
- Visit Marketplace to see public listings and "Your Listings".
- Remove your listing to restore the ticket back to My Tickets.
veritix_userveritix_ticketsveritix_tickets_pendingmock_listings
- XRPL access is required for wallet creation and minting.
- If XRPL is unavailable, login/mint will fail with a 500 error from the backend.
- MongoDB is optional; server runs without it, but DB-backed routes will not function.