Inspiration
Aid distribution in disaster shelters is messy: duplicate claims, paper vouchers getting traded or stolen, slow merchant reimbursement, and NGOs struggling to audit what actually happened. We wanted a simple “eligibility-enforced voucher” flow where only verified recipients can hold/spend aid, and every transaction is transparently traceable.
What it does RippleAid+ issues digital aid vouchers on XRPL Testnet: Beneficiaries create a non-PII DIDSet proof hash (eligibility proof without exposing identity). The NGO enables RequireAuth (Authorized Trust Lines) so only allowlisted wallets can hold voucher tokens.
NGO issues two voucher tokens: FOD (Food) MED (Medical) Beneficiary spends vouchers with a Merchant. Merchant redeems vouchers back to NGO. NGO settles the Merchant in XRP. An Attacker wallet is tested and fails to receive vouchers, proving enforcement works.
How we built it xrpl-py scripts (src/demo.py) to run the end-to-end flow on XRPL Testnet: Wallet creation + funding via faucet DIDSet write (proof hash) AccountSet flags for DefaultRipple and RequireAuth Trust lines + authorization (allowlist) Token payments + redemption + XRP settlement Fraud test (attacker)
A lightweight Streamlit UI (app.py) that runs the demo and shows: Addresses + Explorer links Transaction results + hashes Success/failure outcomes A Figma prototype to present a polished “real product” interface for judges.
Challenges we ran into Library/version differences in xrpl-py enums (fixed by using numeric set_flag values). XRPL issued token rules (currency formatting) — we standardized on FOD / MED. Streamlit + Windows terminal encoding issues (emoji/Unicode) causing crashes — removed/adjusted output. Making the demo both reproducible and judge-friendly with clear explorer links.
Accomplishments that we're proud of A fully working end-to-end XRPL Testnet MVP with real transactions and explorer proof. Clear enforcement of eligibility using RequireAuth (attacker cannot receive vouchers). A Streamlit interface that turns the technical demo into something easy to understand quickly. Clean README instructions so anyone can run it locally.
What we learned
How Authorized Trust Lines (RequireAuth) can enforce token eligibility on XRPL. How to structure a blockchain demo so it’s auditable: addresses + tx hashes + explorer links. Practical debugging under time pressure: encoding issues, enum mismatches, token constraints. How to present a blockchain project to non-technical judges using UI + narrative.
What's next for Rippleaid-xrpl
Deploy the UI online (Streamlit Cloud / Render) so users can run it without local setup. Add a real “verification” layer (e.g., NGO attestation / credential issuer) instead of mock proof hash. Add roles + dashboards: NGO distribution controls, merchant redemption queue, beneficiary wallet view. Improve security + UX: rate limits, better error handling, clear transaction states, multi-camp support. Extend the model to more voucher types (shelter kits, water, transport) and analytics for NGO auditing.
Log in or sign up for Devpost to join the conversation.