What is OtaKit?
OtaKit is a platform for shipping over-the-air updates to Capacitor apps. Push bug fixes and new features directly to your users' devices without waiting for a store release.
Install the Capacitor plugin, connect the CLI, and release. The simplest managed flow is one command:
otakit upload --release
How it works
- You build your web assets and run
otakit upload --release. The CLI zips the directory, calculates a SHA-256 checksum, and uploads a single cross-platform bundle. Bundle path comes from the CLI path argument or your configured output directory. Version can be explicit, come from environment variables, or be auto-generated by the CLI. - On app launch, the Capacitor plugin can check for updates. If a newer version is available, it downloads the bundle and verifies the SHA-256 checksum.
- By default, the downloaded bundle becomes active on the next cold launch. The plugin then waits for your app to call
notifyAppReady(). If that call does not happen within the timeout, the update rolls back.
Features
One-command shipping
Point OtaKit at your build output once, then ship with otakit upload --release.
Base stream first
Keep it simple with one release stream, then add named channels such as staging only when you need them.
Activation safety timeout
If the app doesn't call notifyAppReady() within the timeout, the new update is marked as failed.
SHA-256 verification
Every bundle is verified on download. Tampered bundles are rejected before activation.
Hosted by default
The plugin already targets the managed OtaKit service, so hosted setup does not need a custom server URL.
Multi-organization
Organizations with scoped API keys, team members, and role-based access.
Open source & self-hostable
Run on your own infrastructure or use our managed service.
App Store compliant
OTA updates for web layers only — fully compliant with Apple and Google guidelines.
Next steps
Setup
Install the plugin and CLI in 5 minutes.
Full walkthrough
Next.js + Capacitor from scratch to first OTA update.
Channels & update mode
Base-stream-first setup, named tracks, and update behavior.
CI automation
GitHub Actions workflow to upload automatically and optionally release to a channel.
CLI reference
All commands, options, and defaults.
Plugin API
Methods, events, and configuration.