ModScout — The Datapack Marketplace for Minecraft Java Creators Who Are Tired of Posting ZIPs on Discord
Minecraft Java datapacks are the fastest-growing creator format on the platform but there is no dedicated marketplace to sell them — CurseForge barely supports them and Modrinth has no payment layer. ModScout is a Stripe-powered datapack storefront that pays creators every time someone downloads their work.
Difficulty
intermediate
Category
Game Modding & Extensions
Market Demand
High
Revenue Score
7/10
Platform
Web App
Vibe Code Friendly
No
Hackathon Score
6/10
What is it?
Minecraft Java Edition datapacks (JSON-based, no Java required) exploded in popularity in 2024-2025 as a zero-setup modding format — creators build custom advancements, loot tables, world gen, and crafting recipes without compiling a single line of Java. The creator community distributes them on Discord, GitHub, or free Modrinth uploads, leaving massive monetization on the table. ModScout is a dedicated marketplace where creators list datapacks at $1.99-$9.99, buyers get a licensed download link, and creators receive 80% of revenue via Stripe Connect. Target platform: Minecraft Java 1.21+, datapack format (JSON + mcfunction), no mod loader required. Why 100% buildable right now: Stripe Connect handles creator payouts without a financial license, Cloudflare R2 stores the ZIP files cheaply, and the Minecraft Java datapack community on Reddit (r/MinecraftDataPacks, 180k members) is an already-assembled audience.
Why now?
Minecraft Java 1.21 shipped major datapack API expansions in 2024, triggering a wave of complex creator datapacks that players are actively paying for on Patreon — a dedicated marketplace with Stripe payouts captures this monetization shift before a well-funded competitor does.
- ▸Creator storefront with listing upload, preview screenshots, and Minecraft version compatibility tags (Java 1.19-1.21+)
- ▸Stripe Connect onboarding for creators with automatic 80/20 payout split on every purchase
- ▸Time-limited pre-signed R2 download link sent via Resend — buyer cannot share the raw ZIP URL
- ▸Datapack validation: server-side check that uploaded ZIP contains pack.mcmeta before listing goes live (Implementation: Node.js unzip + JSON parse on upload)
Target Audience
Minecraft Java datapack creators (estimated 50,000 active creators based on r/MinecraftDataPacks and Planet Minecraft submissions) and the 10M+ active Minecraft Java players who install datapacks monthly.
Example Use Case
Luna, a datapack creator with 12k Discord followers, lists her custom biome generation datapack at $4.99, posts once to r/MinecraftDataPacks, and earns $800 in the first week with zero fulfillment work.
User Stories
- ▸As a Minecraft datapack creator with a Discord following, I want to list my datapacks for sale at a price I set, so that I earn revenue instead of giving my work away for free.
- ▸As a Minecraft Java player, I want to browse paid datapacks by game version and category, so that I can find quality content without digging through Discord servers.
- ▸As a creator, I want automatic weekly payouts of 80% of my sales, so that I never have to chase payments or manage invoices.
Done When
- ✓Upload: done when creator uploads a ZIP containing pack.mcmeta and sees their listing live on the browse page within 60 seconds.
- ✓Purchase: done when buyer clicks Buy, completes Stripe checkout, and receives a download link email within 30 seconds of payment confirmation.
- ✓Download link expiry: done when the download link in the email returns a 403 error after 24 hours and a fresh link is available via the purchase history page.
- ✓Creator payout: done when creator dashboard shows correct earnings balance and a Stripe Connect payout scheduled for the following Friday.
Is it worth building?
$5 average datapack x 500 sales/month x 20% commission = $500 MRR at month 2. $5 average x 5,000 sales/month x 20% = $5,000 MRR at month 6. Assumes 10 top creators driving volume via community posts.
Unit Economics
CAC: $0 (creator-driven organic via community posts). LTV per creator: $200/year in commissions on 200 sales at $5 each. LTV per buyer: $12 average (2.4 purchases). Gross margin: 95% (R2 storage cost is negligible per download).
Business Model
Marketplace commission (20% of each sale)
Monetization Path
20% platform commission on all sales via Stripe Connect. Optional $4.99/month creator Pro for analytics and featured placement.
Revenue Timeline
First dollar: month 1 (first datapack sold). $500 MRR: month 3 (commission on 500 sales). $2k MRR: month 5. $5k MRR: month 8.
Estimated Monthly Cost
Cloudflare R2: $10 (ZIP storage and egress), Vercel: $20, Supabase: $25, Resend: $10, Stripe fees: variable. Total: ~$65/month at launch.
Profit Potential
$3k-$8k MRR at month 6 if 5-10 high-follower creators onboard and promote their storefronts.
Scalability
Expand to Bedrock Add-Ons, resource packs, and world saves. Add bundle purchases and creator subscription tiers.
Success Metrics
Month 1: 20 creators listed, 5 paid datapacks sold. Month 2: 100 creators, 200 sales. Month 3: $1k MRR from commissions.
Launch & Validation Plan
Post to r/MinecraftDataPacks asking if creators would sell their datapacks for $5 if a marketplace existed — validate demand before writing code, target 50 upvotes as green light.
Customer Acquisition Strategy
First creator: DM the top 10 posters on r/MinecraftDataPacks and Planet Minecraft offering free featured placement for 30 days in exchange for listing their most popular pack. Ongoing: r/MinecraftDataPacks posts, Minecraft YouTube creator outreach, Planet Minecraft forum ads.
What's the competition?
Competition Level
Low
Similar Products
CurseForge (free only, no payment layer for datapacks), Modrinth (free open-source only), Planet Minecraft (free downloads only) — none support paid datapack sales with creator payouts.
Competitive Advantage
CurseForge has no paid datapack tier and Modrinth has no payment layer — ModScout is the only marketplace purpose-built for paid Minecraft Java datapacks.
Regulatory Risks
Stripe Connect requires KYC for creator payouts — creators must complete identity verification. Minecraft EULA technically prohibits selling gameplay-altering content on third-party sites in certain interpretations — consult EULA Section 4 before launch. Low general regulatory risk otherwise.
What's the roadmap?
Feature Roadmap
V1 (launch): creator listings, Stripe Connect payouts, pre-signed download links, pack validation. V2 (month 2-3): reviews and ratings, version update notifications, featured placement. V3 (month 4+): bundle packs, creator subscription tiers, Bedrock Add-On support.
Milestone Plan
Phase 1 (Week 1-2): upload, validation, listing browse, and Stripe checkout working end-to-end. Phase 2 (Week 3): Stripe Connect creator onboarding, Resend download emails, 5 seed creators live. Phase 3 (Month 2): 50 creators listed, r/MinecraftDataPacks launch post, first $500 commission month.
How do you build it?
Tech Stack
Next.js 14, Stripe Connect, Supabase, Cloudflare R2 for ZIP storage, Resend for download emails — build with Cursor for backend, v0 for storefront UI, Lovable for creator dashboard
Suggested Frameworks
Drizzle ORM, Stripe Connect SDK, next-auth
Time to Ship
3 weeks
Required Skills
Stripe Connect payouts, Cloudflare R2 pre-signed URLs, Next.js, Supabase.
Resources
Stripe Connect docs, Cloudflare R2 docs, Supabase storage docs, r/MinecraftDataPacks community.
MVP Scope
app/page.tsx (marketplace browse grid), app/create/page.tsx (creator listing upload form), app/pack/[slug]/page.tsx (datapack detail + buy button), app/api/upload/route.ts (R2 ZIP upload + validation), app/api/checkout/route.ts (Stripe checkout session), app/api/webhook/stripe/route.ts (payment confirm + Resend download link), app/dashboard/page.tsx (creator sales analytics), lib/db/schema.ts (packs, purchases, creators tables), lib/r2.ts (R2 pre-signed URL generator), seed.ts (5 demo datapacks), .env.example
Core User Journey
Creator lists datapack -> buyer finds it on browse page -> buyer pays via Stripe -> download link arrives by email -> creator sees sale in dashboard.
Architecture Pattern
Creator uploads ZIP -> R2 storage -> pack.mcmeta validation -> listing saved to Postgres -> buyer clicks purchase -> Stripe checkout -> webhook confirms payment -> Resend fires pre-signed R2 download link to buyer -> creator payout batched weekly via Stripe Connect.
Data Model
Creator has many Packs. Pack has many Purchases. Pack has screenshots, version tags, price, and R2 file path. Purchase has one DownloadLink with expiry timestamp. Creator has Stripe Connect account ID.
Integration Points
Stripe Connect for creator onboarding and payouts, Stripe Checkout for buyer payments, Cloudflare R2 for ZIP file storage and pre-signed URLs, Resend for download link emails, Supabase for marketplace data.
V1 Scope Boundaries
V1 excludes: Bedrock Add-On support, bundle purchases, subscription creator tiers, review system, refund automation, search filters beyond version tag.
Success Definition
A creator the founder has never contacted lists a datapack, a buyer the founder has never met purchases it, the download link works correctly, and the creator receives their payout without any founder intervention.
Challenges
Piracy is the existential risk — pre-signed download links help but a motivated buyer will share the ZIP; the hardest non-technical problem is recruiting the first 5 creators with real audiences, since an empty marketplace is a ghost town that no buyer visits.
Avoid These Pitfalls
Do not launch with an empty marketplace — seed at least 5 real datapacks from willing creators before announcing publicly. Do not skip pack.mcmeta validation — invalid ZIPs that crash Minecraft will generate refund disputes on day one. Minecraft EULA is ambiguous on third-party paid content — read it carefully and consult a lawyer before scaling past $1k MRR.
Security Requirements
Supabase Auth with Google OAuth for creators. RLS on purchase and download_link tables. Pre-signed R2 URLs with 24-hour expiry for piracy mitigation. Rate limiting on download endpoint 10 req/min per IP. GDPR: buyer email used only for download delivery.
Infrastructure Plan
Vercel for Next.js, Supabase for Postgres and auth, Cloudflare R2 for ZIP storage, GitHub Actions for CI, Sentry for errors — total ~$65/month at launch.
Performance Targets
Browse page load under 1.5s with 100 pack listings. Checkout to download email delivery under 30 seconds. R2 pre-signed URL generation under 200ms. 500 DAU target at month 3.
Go-Live Checklist
- ☐Security audit complete.
- ☐Payment flow tested end-to-end.
- ☐Error tracking (Sentry) live.
- ☐Monitoring dashboard configured.
- ☐Custom domain set up with SSL.
- ☐Privacy policy and terms published.
- ☐5+ beta creators signed off.
- ☐Rollback plan documented.
- ☐Launch post drafted for r/MinecraftDataPacks and Planet Minecraft.
First Run Experience
On first run: 5 seeded demo datapacks appear on the browse page with screenshots, prices, and version tags. User can immediately click any pack, view details, and click Buy to see the Stripe checkout. No manual config required: demo packs pre-seeded, Stripe test mode enabled by default so checkout works without real payment details.
How to build it, step by step
1. Define schema: creators, packs, purchases, download_links in lib/db/schema.ts with Drizzle. 2. Run npx create-next-app modscout --typescript --tailwind --app and install Stripe, Drizzle, Resend. 3. Build R2 upload endpoint in app/api/upload/route.ts with unzip validation checking for pack.mcmeta JSON. 4. Build creator listing form in app/create/page.tsx with ZIP upload, screenshots, price, and version tags. 5. Build marketplace browse grid in app/page.tsx with pack cards showing name, price, and download count. 6. Build Stripe Checkout session in app/api/checkout/route.ts creating a session with pack metadata. 7. Build Stripe webhook handler in app/api/webhook/stripe/route.ts confirming payment and firing Resend download email with 24-hour pre-signed R2 URL. 8. Build creator dashboard in app/dashboard/page.tsx showing sales, revenue, and payout status via Stripe Connect API. 9. Add Stripe Connect onboarding flow in app/onboard/page.tsx redirecting creators to Stripe identity verification. 10. Verify: list a real datapack as creator, purchase as buyer, confirm download email arrives with working link, confirm R2 URL expires after 24 hours end-to-end.
Generated
June 12, 2026
Model
claude-sonnet-4-6
Disclaimer: Ideas on this site are AI-generated and may contain inaccuracies. Revenue estimates, market demand figures, and financial projections are illustrative assumptions only — not financial advice. Do your own research before making any business or investment decisions. Technology availability, pricing, and market conditions change rapidly; always verify details independently.