◉RORK LABJP
●GPT6.1 — GPT-6.1 Sol joined the Rork model menu (Sep 29). It is the latest entry on the changelog●10/12 — 7 days left until React Native 0.88.x is due. Expo SDK 58 stable is only described as early October●NEW — Multiseat Purchases Are Already On: Decide Whether to Keep Them Before October 22●SDK 58 — A fix PR (#50998) for npm install failing in new projects is under review. No stable date has been given yet●SONNET — Claude Sonnet 5.5 is now in Rork (Sep 28). It is described as over 30% faster than Sonnet 5●iOS 27 — From April 2027, App Store uploads require the iOS 27 SDK. There is time to update your build environment calmly●GPT6.1 — GPT-6.1 Sol joined the Rork model menu (Sep 29). It is the latest entry on the changelog●10/12 — 7 days left until React Native 0.88.x is due. Expo SDK 58 stable is only described as early October●NEW — Multiseat Purchases Are Already On: Decide Whether to Keep Them Before October 22●SDK 58 — A fix PR (#50998) for npm install failing in new projects is under review. No stable date has been given yet●SONNET — Claude Sonnet 5.5 is now in Rork (Sep 28). It is described as over 30% faster than Sonnet 5●iOS 27 — From April 2027, App Store uploads require the iOS 27 SDK. There is time to update your build environment calmly
Articles/Getting Started
◈ Getting Started/2026-04-19Beginner

Rork Pricing Compared: Free vs Pro vs Max

An honest comparison of Rork's Free, Junior, Senior, and Max tiers for indie developers: how the 35-credit non-rolling system really works, a script that back-calculates your burn rate, and break-even DAU tables you can redraw with your own eCPM.

Rork575pricing7plansindie dev30costProMax

✦ Premium Article

If you've landed on Rork's pricing page and felt unsure which plan to pick, you're not alone. When I first started using Rork, I spent a while on the free tier trying to figure out exactly where the ceiling was — and then hit it at the worst possible moment, mid-build, right before I wanted to submit my first app.

The short answer: your ideal plan depends on what you're building and how serious you are about shipping. The feature comparison table on the official site tells you what's included, but it doesn't tell you what running out of generations at 11pm feels like. Here's the version I wish I'd read before deciding.

The Three Plans at a Glance

Before the details, here's the whole picture in one table, current as of this writing. Prices and limits change, so confirm the latest numbers on the official pricing page before you commit.

AspectFreeProMax
Monthly price (at writing)$0~$25+$200
GenerationsCapped (runs out fast)Greatly increasedPro-level and up
EAS Build (device builds)RestrictedIncludedCloud Mac, end-to-end
App outputReact NativeReact NativeNative Swift
Best forTrying it out / learningIndie devs shipping appsApps where native is the core

The single most important thing this table shows: Max is not a higher tier of Pro — it's a different product line. Get that backwards and you fail in both directions: paying $200 when Pro was enough, or hitting a wall on Pro when you actually needed Max.

One note before going further. The paid tiers have been renamed: what used to be called "Pro" is now split into Junior and Senior. Where this article says "Pro," read it as that middle paid band. The next section lays the current tiers out alongside how credits actually work.

The Real Unit Isn't Dollars — It's Credits

What took me longest to internalize was the phrase "generation limits." Once I actually used the tool, the underlying mechanic became clear: Rork bills in credits, and comparing plans by monthly price alone will lead you to the wrong choice.

The rule is simple. Every AI interaction costs one credit. "Build me a login screen" is one credit. "Change that button to blue" is also one credit. The weight of the request is irrelevant.

The part that changes how you work: credits reset on the 1st of each month and do not roll over. Whatever you don't spend, you lose.

The free tier is 35 credits a month — roughly five a day. On the paid side, at the time of writing, Junior is $25/month, Senior is $100/month, and Max is $200/month. The tiering has become more granular than the older "Pro" label suggested, so check the official pricing page for current names and numbers.

TierMonthly (at time of writing)CreditsHow far it gets you
Free$035/month (~5/day)Getting a feel for it, simple prototypes
Junior$25Enough to validateIdea validation through a working demo
Senior$100Enough to build properlyThe realistic line for finishing an MVP
Max$200Includes native generationSwift output across the Apple ecosystem

Framed this way, the question shifts. It stops being "how much am I paying" and becomes will this tier actually get me to ship? A tier that doesn't is expensive even when it's free — you pay in time instead.

Budgeting Weekly, Because Nothing Rolls Over

Since credits expire, the "poke at it early in the month, finish it at the end" rhythm works against the system. Credits you underspend in week one don't wait for you in week four. They're gone.

What I settled on is dividing the monthly allowance across four weeks and spending each week's share. On the free tier that's eight or nine interactions per week — tight enough that you decide in advance what a given week is meant to prove.

  • Week 1: Get the skeleton out. Screens and navigation only
  • Week 2: Make data flow. Save and read back working end to end
  • Week 3: Fix the one thing that's stuck. Resist adding scope
  • Week 4: Test on device, spend the rest on small corrections

If you run out mid-week, stop for the week. It rolls into the next one, and there's no reason to panic-upgrade.

Back-Calculating Your Burn Rate From Month End

Deciding on a weekly share is one thing; knowing whether you're holding to it is another. Once around the middle of the month I feed three numbers into the script below. It's nothing more than dividing what's left by the days remaining, but seeing it on screen makes "stop here for this week" an easy call instead of an agonizing one.

#!/usr/bin/env node
// credit-pace.mjs — turns a non-rolling credit balance into a spendable daily pace.
// Usage: node credit-pace.mjs <monthly credits> <days elapsed> <credits used> [days in month]
const [total, elapsed, used, daysInMonth = 30] = process.argv.slice(2).map(Number);
if ([total, elapsed, used].some(Number.isNaN)) {
  console.error("Usage: node credit-pace.mjs <monthly credits> <days elapsed> <used> [days in month]");
  process.exit(1);
}
const remain = total - used;
const daysLeft = Math.max(daysInMonth - elapsed, 1);
const pace = used / Math.max(elapsed, 1);       // current spend per day
const landing = Math.round(pace * daysInMonth); // where this pace lands by month end
const allowance = remain / daysLeft;            // per-day budget to finish the balance
 
console.log(`Remaining : ${remain} credits over ${daysLeft} days`);
console.log(`Pace      : ${pace.toFixed(2)}/day  -> lands at ${landing} (cap ${total})`);
console.log(`Budget    : ${allowance.toFixed(2)}/day (${(allowance * 7).toFixed(1)}/week)`);
 
if (landing > total) {
  console.log(`! You run dry on day ${Math.floor(total / pace)}. Pack more into each prompt to cut round trips.`);
} else if (landing < total * 0.7) {
  console.log(`~ ${total - landing} credits will expire unused (no rollover).`);
} else {
  console.log(`OK — on pace to spend the balance.`);
}

Here's a month where 20 of the free tier's 35 credits were gone by day 12:

$ node credit-pace.mjs 35 12 20
Remaining : 15 credits over 18 days
Pace      : 1.67/day  -> lands at 50 (cap 35)
Budget    : 0.83/day (5.8/week)
! You run dry on day 21. Pack more into each prompt to cut round trips.

A concrete date changes the conversation. Knowing it's day 21 lets you decide calmly whether to coast through the last ten days unpaid or upgrade for this month only.

The overlooked case is the opposite one — same day 12, only six credits spent:

$ node credit-pace.mjs 35 12 6
Remaining : 29 credits over 18 days
Pace      : 0.50/day  -> lands at 15 (cap 35)
Budget    : 1.61/day (11.3/week)
~ 20 credits will expire unused (no rollover).

Twenty credits quietly disappear. That looks like thrift, but it's twenty experiments you declined to run. On a plan with no rollover, an unspent balance is not a discount. The day I see that output is the day I finally build the screen I'd been putting off.

Make Each Credit Heavier

If a credit is deducted regardless of how much you ask for, then packing more into each request lowers your effective cost.

❌ Three credits
1. "Build a settings screen"
2. "Add a dark mode toggle"
3. "Persist the toggle state"

✅ One credit
"Build a settings screen with a dark mode toggle. Persist the selected
state to AsyncStorage and restore it on next launch. Layout: title at
the top, settings rows stacked vertically below it."

Same result, three times the cost. On the free tier, that difference decides whether you finish.

Put differently: the time you spend writing the spec before you prompt is the time you save in credits. Thinking on paper before touching the tool turns directly into money here.

One more thing worth knowing — editing the generated code yourself costs nothing. Asking the AI to adjust copy or nudge padding is a poor use of a credit. Let it produce structure; do the detail work by hand. That split is what carries a limited credit budget the furthest.

✦

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
✦How the non-rolling credit system works, plus a runnable script that back-calculates your burn rate from month end
✦A break-even script and the resulting DAU tables across $1, $2, and $5 eCPM for the $25 and $200 tiers
✦A staged Free-to-Pro-to-Max investment path plus a per-profile annual cost comparison
Secure payment via Stripe · Cancel anytime
✦

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Rork Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • ✦Copy-paste ready implementation code
  • ✦New advanced guides published daily
  • ✦$5/mo or $15 for lifetime access
View Membership →

Related Articles

◈ Getting Started2026-09-05
Rork's Free Tier Gives You 35 Credits a Month, but the Number That Shapes Your Work Is 5 a Day
Rork's free plan is 35 credits per month with a 5-credit daily cap. The daily cap, not the monthly total, decides how you work. Here is how I spend those five, what I verify off-credit, and where the free tier stops.
⟐ Business2026-05-03
Making a Rork App Sell on the App Store — ASO, Pricing, and IAP Strategy
How to take a Rork-built app from invisible to ranked, priced right, and earning real money on the App Store. ASO, price psychology, IAP design, and subscription tactics drawn from running indie apps solo.
◈ Getting Started2026-09-25
Building the Same Gallery Grid with Opus 5.5 and GPT-6 Sol in Rork — Choosing a Model by Its Effort Steps
Rork's model menu now lists Opus 5.5 and GPT-6 Sol. I built the same three-column gallery screen with both, compared their effort settings, and kept the code I'd actually ship. Here is what differed and how I chose.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links