React Native OTA updates without the MAU tax.
Ship JavaScript updates over the air. Unlimited users on every plan, from $7/month, and the same bill at 10K users or 1M.
Free plan · no card · unlimited users
$ npm install @rollbird/react-native
$ npx rollbird login
✓ Device confirmed in your browser
$ npx rollbird init
✓ React Native detected
✓ Android + iOS projects detected
✓ Project linked to Rollbird
✓ Native config written
Wrap your app and rebuild once. After that, every JS change ships over the air.
The MAU tax
MAU pricing bills you for growing.
Rollbird prices on apps, storage, and seats. Never on the people using what you built.
MONTHLY BILL vs. MONTHLY ACTIVE USERS · LOG SCALE
Expo EAS Update
Rollbird Indie
Your users
Expo EAS Update
Rollbird Indie
10,000
$54
$7
100,000
$449
$7
1,000,000
$3,774
$7
EAS Update list prices at expo.dev/pricing, cheapest plan at each size, checked September 2026. Excludes bandwidth overage.
Your users aren't a billing metric. Your app grew. Your bill didn't.
How it works
Linked in minutes. One rebuild, then OTA forever.
01
npx rollbird login
Confirm the device in your browser. No passwords.
02
npx rollbird init
Detects both platforms, links the project, writes native config.
03
Rollbird.wrap(App)
Wrap your entry and ship one store build. It's the last store trip for JS changes.
04
rollbird release
Bundles, signs, uploads. Preview by default; add
--production when it holds up.$ npx rollbird release --production
- rollbird release · fieldkit → production
- Publish a new release to the "production" channel?
- Yes
- Bundled iOS966 KB · 12.4s
- Bundled Android968 KB · 11.8s
- Signed2 bundles
- Uploaded1.9 MB · 2.1s
- PublishedRelease #4 · 100% rollout
- Live in production
- https://app.rollbird.dev/p/fieldkit/r/4
Platform
Everything a release needs. Nothing it doesn't.
Staged rollouts
Start at 5%, watch, go to 100%. Pause and it stops going out.
Instant rollback
One command back to the last good bundle. Free on every plan, never counted.
Preview & production channels
Ship to a preview build first. Publish to production when it holds up.
Signed bundles
Every bundle is signed with your project's signing key and verified on the device before it installs.
CI/CD from any pipeline
Scoped tokens. GitHub Actions, GitLab, Bitrise, your own runner.
Bare React Native and Expo
Both, properly. Bare apps get their native config written directly; Expo apps get a config plugin, so it survives every prebuild.
Questions
Before you ship your first update.
- When do users actually get an update?
- The app checks on launch and downloads in the background, so the update runs the next time someone opens the app. Mark a release as forced and it reloads as soon as it lands.
- What counts as a production release?
- Only publishing to the production channel. Preview releases are unlimited on every plan, and rollbacks never count.
- Does it work with Expo?
- Yes, and it works without it.
rollbird initreads a bare app'sios/andandroid/projects and writes the native config itself. On an Expo app it registers a config plugin instead, so the channel, key and fingerprint are written again on everyexpo prebuildrather than being thrown away by it. Tested on Expo SDK 53 and 57. Expo Go can't run custom native code, so updates need a development or release build. - When do I have to submit to the stores again?
- When your native code changes: a new native module, a React Native upgrade, or anything else that changes the build. JavaScript and assets ship over the air.
- What happens if an update crashes the app?
- The device falls back to the bundle it was running before and reports it, so the release page shows the crash count next to the installs.
- Who can publish?
- Anyone with a token you issue, scoped to read or write and bindable to a single app. Revoke it and that pipeline stops publishing.
Pricing
Priced on what we store, not who you reach.
Indie
$70/year
$5.83/mo billed yearly
For solo developers shipping their own apps.
- ✓Unlimited production releases
- ✓3 apps
- ✓1 team member
- ✓2 organizations
- ✓2 GB storage
- ✓Preview history: 100 releases / channel
- ✓Cancel anytime and your live releases keep serving
Recommended for teams
Team
$150/year
$12.50/mo billed yearly
For small teams whose apps have real users.
- ✓3 team members · 10 apps
- ✓Unlimited releases
- ✓5 organizations
- ✓10 GB storage
- ✓Unlimited preview history
- ✓Cancel anytime and your live releases keep serving
Studio
$290/year
$24.17/mo billed yearly
For agencies running many client apps.
- ✓Unlimited apps · 10 members
- ✓Unlimited releases
- ✓Unlimited organizations
- ✓50 GB storage
- ✓Unlimited preview history
- ✓Cancel anytime and your live releases keep serving
Or start on Free: 1 organization, 1 app, 3 production releases a month, unlimited preview releases. No card.
✓Rollback is always free and never counts against anything.
Ship the fix now, not after review.
Unlimited users, free rollback, flat pricing from $7/month, however big you grow.
Ship your first updateFree plan · no card required
$ npx rollbird login