Back

DonorSpark: On-Chain Charities without the Hassles

Overview

DonorSpark is a decentralized donation platform built on the XRP Ledger (XRPL), utilizing RLUSD & XSGD stablecoins for store-of-value and transactions. Its close integration with StraitsX allows organisations to easily off-ramp the stablecoins earned from their campaigns with no additional on-chain transactions or actions, making it extremely normie friendly. Users can also generate on-chain accounting tax reports for tax write-offs from applicable charities.

Features
  • On-chain storage via XRPL
  • RLUSD-based donation mechanism
  • On-chain transparency of donation flows
  • Planned dashboard for charities
  • Tax report generation for donors
  • Simulated easy off-ramping for organizations
System Overview
  1. Donor connects an XRPL-compatible wallet using Crossmark
  2. Donor chooses a cause and sends RLUSD to a campaign wallet (all donations are on-chain)
  3. Upon campaign goal/deadline: RLUSD is exchanged for XSGD, off-ramped to fiat for the charity

Demo Video:

Watch Demo
Tech Stack
  • React.js (TypeScript, TailwindCSS)
  • Crossmark (XRPL wallet extension)
  • Node.js, Express.js
  • MySQL
  • XRPL, XRPL.js, RLUSD
Project Structure
RIPPLE-X-EASYA-SINGAPORE-HACKATHON-2025-1
├── Frontend/
│   └── DonorSpark/               # React frontend application
├── routes/                       # Express route handlers
├── services/                     # Backend service logic
├── node_modules/                 # Node.js dependencies
├── xrpl/                         # XRPL interaction logic
├── XRPLtest/                     # Test scripts for XRPL features
├── .env                          # Environment variable configuration
├── .gitignore                    # Git ignore rules
├── server.js                     # Entry point for Node.js backend
├── package.json                  # Project metadata and scripts
├── package-lock.json             # npm lock file
├── requirements.txt              # Python backend dependencies
├── tsconfig.json                 # TypeScript configuration
├── README.md                     # Project documentation
        
Getting Started
  • Clone the repository: git clone https://github.com/goheesheng/Ripple-x-EasyA-Singapore-Hackathon-2025.git
  • cd Ripple-x-EasyA-Singapore-Hackathon-2025
  • cd frontend/DonorSpark
  • npm i
  • npm run dev:full
  • Navigate to localhost:5173
Block Explorer
Goh Ee Sheng © 2023