Ruuma
Stop guessing what people want. Ruuma turns community demand into real creator drops you can buy, receive, and actually trust.
Videos




Pila tecnológica
Descripción
Ruuma
Anyone can request. Communities show demand. Creators decide what actually ships. Payment only starts after terms are clear, funds sit in IDRX campaign escrow on Polygon, and the collectible mints only after fulfillment.
The problem
Creators already sell physical goods, limited editions, and experiences, but the digital layer is messy. Demand is mostly likes. Checkout often happens before refund rules and deadlines are clear. NFTs often mint first and "shipping" comes later. In Indonesia we also need a practical pay rail, so we use IDRX on Polygon.
What Ruuma does
1. Request: interest signal, free, not a purchase.
2. Official Drop: creator publishes price, deadline, and refund terms before any order.
3. Order and pay in IDRX; campaign escrow labels funds per Drop.
4. Fulfillment is recorded off-chain (host update, buyer confirm).
5. Claim the collectible; mint the ERC-721 only after claim rules pass.
Product rules we keep
A Request is not a purchase. Orders only start from an Official Drop. Payment, fulfillment, and collectible claim stay separate. The token is a receipt after the real world finishes, not authenticity proof, not legal title to the physical item, and not an investment product.
Why this fits Ethereum Jakarta Hackathon 2026 (RWA)
The "asset" is a real offer (good or experience) plus payment rules you can check onchain. Escrow and mint do not replace delivery. They record payment custody and issuance after the real process completes. That sits next to payments/stablecoins, ownership records, and real-world process verification, without claiming we tokenize land titles or securities.
Roles
Member: request, order, confirm receipt, claim collectible.
Host: publishing eligibility, linked wallet, publish Drop, update fulfillment, open claim.
Live now
App: https://ruuma-ncph.vercel.app/
API: https://ruuma-api.vercel.app/v1/health
Repo: https://github.com/taufiqhidayah/Ruuma
Stack
Next.js, React, Wagmi/WalletConnect, NestJS, Prisma, Supabase Auth, Foundry, IDRX checkout, deployed on Vercel.
Onchain (Polygon mainnet)
CampaignEscrow: 0x523797498a57b0Eb1C5a9053D72EdE10A50FBbE9
RuumaCollectible: 0x3A59c1dE598Eb033A33f0D63f3Db59f123a5aC9D
IDRX: 0x649a2DA7B28E0D54c13D5eFf95d3A660652742cC
Both contracts are Sourcify exact-match verified.
Short judge demo
Landing, open a Request, open a Drop, order and payment state, fulfillment, claim/mint, check the tx on Polygonscan, open the collectible verify page.
Limits we admit
The collectible is not legal ownership of the physical good. Some fiat-to-IDRX flow still goes through treasury/operator before every order auto-deposits into escrow. The demo focuses on the happy path: pay, fulfill, mint. We run on Polygon (EVM compatible) for cost and UX. Contracts are plain Solidity if we move later.
Bottom line
Not a PFP mint. We put creator offers behind clear terms, a stablecoin, campaign custody, and an onchain receipt after the real world is done.
Progreso del hackathon
Progress during Ethereum Jakarta Hackathon 2026
Start
We locked an RWA angle for creator goods and experiences, not a speculative NFT-first drop. Stack: Next.js, NestJS, Foundry, Polygon + IDRX. Monorepo so web, API, and contracts ship together.
Built
Requests (not purchases). Official Drops with terms before checkout. Orders + IDRX pay. Host and buyer fulfillment. Collectibles from ELIGIBLE to mint/ISSUED with a ChainRecord. Member/host dashboards follow the signed-in account, not fake persona data.
Auth and accounts
Supabase email + X. Fixed OAuth so codes land on /auth/callback. Workspace profile, publishing eligibility, verified wallets for host and buyer.
Onchain
Wrote and tested CampaignEscrow and RuumaCollectible in Foundry, deployed on Polygon mainnet, verified on Sourcify. Backend live mode: openCampaign, deposit IDRX, mint collectible. Token metadata over the public HTTPS API. Explorer links in the UI.
Payments
IDRX hosted checkout plus status verification. Respect the IDRX mint minimum. Custody state (treasury/escrow) comes from the API so judges can read it clearly.
Deploy
Web: https://ruuma-ncph.vercel.app/
API: https://ruuma-api.vercel.app/
README with screenshots, plus a demo recording checklist.
Fixes during the sprint
Publish blockers (eligibility + host wallet). Collectibles need public visibility to show in collection. Mint scripts for demo volume. Removed the mock "Sari" dashboard name; use the real workspace name.
What judges can click now
Browse Requests/Drops on the live MVP, sign in, follow order + payment state, open a collectible + Polygonscan, read contracts on Sourcify.
Still polishing
Auto-deposit into escrow on every verified order, clearer fail/refund UX, demo/pitch video for Demo Day.
Estado de recaudación de fondos
No external fundraising. No priced round, SAFE, or token sale for this submission. Hackathon costs (Vercel, Supabase, POL gas, small IDRX amounts) are self-funded.
After the event we are open to grants or creator pilots, but this submission stands without outside capital. Near term: make escrow deposits more automatic, run creator pilots in Jakarta, keep contracts portable to other EVM chains if needed.