Inspiration Traditional recurring payments in Web3 are broken. Users often have to manually sign transactions every month, or worse, grant "infinite allowances" to smart contracts, which is a major security risk. We were inspired to build a system that uses the native power of the XRP Ledger's Smart Escrows to create a "set-and-forget" subscription model that is trustless, mathematical, and transparent.
What it does SubLedger is a decentralized subscription layer. It allows users to:
Lock funds in Smart Escrows: Native XRP is held in a time-locked on-chain vault that releases automatically to the creator. Pay with RLUSD: Supports Ripple's official USD stablecoin for price-stable subscriptions. Receive Immutable Receipts: Every transaction triggers a cryptographic receipt generated as a JSON file and pinned to IPFS via Pinata. Users get a permanent, verifiable CID as proof of payment that exists forever, independent of our database. How we built it We utilized a modern full-stack architecture:
Blockchain: The XRPL SDK (xrpl.js) powers the core logic for Escrow creation and RLUSD payments on the Testnet. Storage: Pinata serves as our decentralized storage layer, ensuring every subscription receipt is content-addressed and immutable. Frontend: Built with Next.js 14 and TypeScript, with a focus on "Rich Aesthetics"—using glassmorphism and motion to make Web3 feel premium. Development: The entire project was built using Google Antigravity, an agentic development platform that helped us refactor complex blockchain logic and UI components in record time. Challenges we ran into The biggest technical hurdle was managing RLUSD Trustlines. Since custom tokens on XRPL require a mathematical "handshake" between both the sender and receiver, we had to implement logic to detect and auto-set these trustlines. We also spent significant time perfecting the hex-encoding required for XRPL Memo_Data to ensure our IPFS CIDs were correctly stored on-chain.
Accomplishments that we're proud of As first-time attendees of the Midwest Blockathon, we are incredibly proud of moving from "zero" to a fully functional multi-chain DApp in one weekend. We successfully synchronized the On-Chain State Change (XRPL) with Decentralized Storage (IPFS), creating a verification loop that is usually only found in enterprise-grade systems.
What we learned We gained deep expertise in the XRP Ledger's specialized transaction types like EscrowCreate and learned the critical importance of content-addressing via Pinata. We also learned how to leverage Agentic IDEs (Google Antigravity) to bridge the gap between complex blockchain APIs and a polished user experience.
What's next for SubLedger Our goal is to move SubLedger toward Mainnet. We plan to implement:
Subscription Dashboards: A portal for creators to manage their incoming escrow streams. Multi-Sig Escrows: Adding an extra layer of security for high-value enterprise subscriptions. Direct Fiat-to-RLUSD On-ramps: Making it even easier for non-crypto users to subscribe.
Built With
- agentic
- api
- backend
- escrows
- framework.
- frontend
- ipfs
- native
- next.js
- node.js:
- pinata:
- ripple
- rlusd
- stablecoin.
- typescript:
- xrpl
Log in or sign up for Devpost to join the conversation.