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 — no app store review, no waiting. Free up to 100 devices.

Install the Capacitor plugin, connect the CLI, and release. Two commands to ship an update:

otakit upload
otakit release

How it works

  1. You build your web assets and run otakit upload. The CLI zips the directory, calculates a SHA-256 checksum, and uploads a single cross-platform bundle. Version is read from package.json, bundle path from your Capacitor config.
  2. You run otakit release to release the latest bundle to the default channel (or any channel you choose).
  3. On next app launch, the Capacitor plugin checks for updates. If a newer version is available, it downloads the bundle and verifies the SHA-256 checksum.
  4. The plugin swaps to the new bundle and waits for your app to call notifyAppReady(). If the call doesn't happen within the timeout, it automatically rolls back to the previous known-good bundle.

Features

Zero-config uploads

Version from package.json, bundle path from capacitor.config.ts, platform defaults to both. Just run otakit upload.

Channel-based releases

Keep it simple with default, or release to production, staging, and other custom channels. Roll back instantly if something goes wrong.

Automatic rollback

If the app doesn't call notifyAppReady() within the timeout, the plugin reverts to the last working bundle.

SHA-256 verification

Every bundle is verified on download. Tampered bundles are rejected before activation.

Signed manifests

Optional ES256 manifest signing for end-to-end integrity.

Multi-tenant

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