Beta · Free to start

Ship React Native Updates Fast.

Push JavaScript bundle fixes directly to your users' devices — no App Store review, no waiting. Native analytics, signed bundles, rollback safety net, all in one place.

React Native & Expo
5-minute setup
BYO storage bucket
Terminal
$ npx nitropush login
✓ Authenticated as you@company.com
$ npx nitropush release upload \
--project my-app
--env production
--bundle ./dist/bundle.js
Uploading bundle… 100%
Bundle verified
SHA-256 signed
Rolling out
1,000 devices
v1.2.3 → production · iOS + Android Live
< 3s
Time to ship a fix
5 min
SDK setup, end-to-end
100%
Server-side analytics
0 ms
App Store wait time

Integrates with the tools you already use

Slack
Discord
GitHub Actions
Expo
React Native
PagerDuty
Linear
AWS S3
Cloudflare R2
Google Cloud
Slack
Discord
GitHub Actions
Expo
React Native
PagerDuty
Linear
AWS S3
Cloudflare R2
Google Cloud

How we deliver
high-quality updates

Four steps from your editor to your users' pockets — no App Store middleman.

01

Communicate via CLI

Run `npx nitropush release upload` from your CI pipeline or local machine. Flags let you target project, environment, app version, and platform.

02

NitroPush routes the update

The control plane validates your deployment key, hashes the bundle, stores it on your chosen backend, and writes the release record.

03

Verify & sign the bundle

Optional ECDSA P-256 signing lets devices verify every bundle before installing. A tampered file is rejected before it touches the runtime.

04

Devices install silently

The SDK polls on foreground or on demand, downloads the diff, and swaps the bundle on next restart — users get the fix without a store visit.

Everything you need,
nothing you don't

Built specifically for React Native and Expo — not adapted from a web deploy tool.

Native analytics

Telemetry fires from Swift and Kotlin — not from JS. Install events, rollback triggers, and device sessions are server-authoritative and tamper-proof.

Per-project routing

Each project has isolated environments. One deploy key per environment — no cross-project leakage.

Rollback safety net

If a device crashes before calling notifyAppReady(), the SDK auto-rolls back to the previous bundle on next launch.

Content-addressable storage

Bundles are stored by SHA-256 hash. Identical files are deduplicated automatically — re-releases cost zero extra storage.

Five-minute SDK

One npm package, one configure() call at module scope, one notifyAppReady() after mount. Works with Expo managed workflow and bare React Native.

Delta bundle updates

Ship only the bytes that changed. The CLI computes a bsdiff4 patch against the previous release — opted-in devices download 85–95% less data for JS-only changes.

Ship 90% less data
with every release

Instead of sending a full 1.5 MB bundle for a one-line fix, NitroPush computes a binary diff and sends only what changed — typically 5–15% of the bundle size.

screens/HomeScreen.tsx
 import React from 'react';
 import { Text, View } from 'react-native';
 
 export default function HomeScreen() {
   return (
     <View>
-      <Text>Welcome to my app!</Text>
+      <Text>Welcome back! What's new?</Text>
     </View>
   );
 }

1 line changed in source

Download size comparison

Full bundle (before delta) 1.5 MB
Delta patch 107 KB
Bandwidth saved 93%

How it works

  1. 1 CLI computes a bsdiff4 binary diff between the previous bundle and the new one
  2. 2 Patch (+ full bundle as fallback) uploaded to storage in one command
  3. 3 Device downloads only the patch — 107 KB instead of 1.5 MB
  4. 4 SDK applies bspatch natively in Swift/Kotlin, verifies SHA-256, installs
→ Delta updates docs

Full bundle always uploaded as automatic fallback. Billing counts actual bytes served server-side — delta patch size or full bundle size, never client-reported.

Simple, usage-based pricing

Start free. Pay only as your app grows. No seat minimums, no annual lock-in on Pro.

Free
$0 forever

Test OTA updates before you ship to real users.

  • 1 seat
  • 1 project
  • 1,000 MAU / mo — monthly active devices
  • Unlimited bandwidth — on test environments
  • Test environments only
  • All SDK features
  • Bundle signing (ECDSA)
Get started

All prices in USD. MAU = a device that polls for updates at least once in the calendar month. Delta downloads are billed at actual patch size — not the full bundle size.

Stop waiting on the
App Store to ship a fix

Five-minute setup. Free during beta. No lock-in. Ship your first OTA update today and never wait for a review again.

No credit card requiredFree during beta5-minute setupRollback protection