Own your push tokens.
An open-source push campaign server for iOS and Android apps. Run it yourself as one container with Postgres, or let us host it. Your device tokens stay yours, so you can switch providers whenever you like.
In development. Nothing to install yet.
An open-source push campaign server for iOS and Android apps. Run it yourself as one container with Postgres, or let us host it. Your device tokens stay yours, so you can switch providers whenever you like.
AGPL-3.0 server, MIT SDKs. Free to self-host.
Sending a push through APNs or FCM is free. OneSignal became the default because it handles everything around the send. Here is what that costs once your app grows, in OneSignal's own words.
“On the Free plan, you must have fewer than 1,000 monthly active users (MAU) to send mobile push and in-app messages.” The cap applies to your whole organization, summed across all its apps, over a trailing 30 days. MAU “does not depend on subscription status”, so devices that never allowed notifications still count. Go over, and mobile push stops sending until you upgrade, after a 24-hour grace period.
Source: OneSignal Billing FAQ
The Growth plan “starts at $19/mo”, and mobile push adds “$0.012 per monthly active user”. At list price that comes to about $139 a month at 10,000 MAU and about $619 at 50,000. That's our arithmetic: $19 + MAU × $0.012.
Source: OneSignal pricing, checked 9 November 2026
OneSignal's iOS SDK is released under a “Modified MIT License” whose second clause says copies “may only be used in connection with services provided by OneSignal.” Leaving means a new SDK, a new app release, and a long tail of users still on the old version.
Source: OneSignal-iOS-SDK license
Below 1,000 MAU, OneSignal's Free plan is a good deal and a mature product. Zilcast is for apps that have outgrown it.
Planned for version 1. None of this has shipped yet. This is the build order.
Direct APNs with .p8 token auth, so your iOS app needs no Firebase. FCM HTTP v1 for Android. Dead tokens are removed as soon as APNs or FCM reports them. A send API with idempotency keys, plus test devices.
Log users in and out to tie devices to accounts, set attributes, track events and opens, handle deep links. React Native and Expo apps can send the tokens they already collect.
Segments built from attributes, last seen, platform, app version, country and language, with a live audience count. Send now, at a set time, or at each recipient's local time.
Compose and send without shipping code. Reports keep “accepted by APNs or FCM” separate from “opened”, and never show a “delivered” number the platforms don't actually report.
The OneSignal importer with bridge mode. docker compose up for the app and Postgres. A migration guide. No telemetry by default.
Not in scope: email, SMS, WhatsApp and web push. Zilcast is mobile push only.
OneSignal's subscription export includes each device's push token. Those tokens come from Apple and Google, and your APNs key and Firebase project already belong to you. So the planned importer can reach your existing audience on the day you switch, while the app update with the new SDK rolls out.
Bridge mode is temporary by design: imported tokens fade as people change phones or reinstall, so the SDK swap is the lasting fix. We're testing the Android side of this in a technical spike right now.
Source: OneSignal docs, Exporting data
Tapping “Allow” on the system prompt is not consent to marketing. Zilcast keeps the two apart.
These are tools that make compliance easier, not legal advice.
The core stays AGPL. Segments and scheduled campaigns stay in the open-source edition. No telemetry by default.
Tell us what you'd pay in the waitlist form. Your answer shapes the tiers.
You can, and for sending a message it's free. Zilcast uses APNs and FCM underneath too. The work is the layer around the send: cleaning up dead tokens, linking several devices to one user, tracking opens, scheduling, segments, and a dashboard where someone can send a campaign without shipping code. Zilcast is that layer, open source.
No. Zilcast is in development and there's nothing to install yet. Join the waitlist and we'll email you when there's something to try. Tick the OneSignal box to be among the first to test the importer.
The server is AGPL-3.0 and the SDKs are MIT. Self-hosting is free.
Mustafa Enes Demirkaya, an indie mobile developer based in Turkey. Questions and ideas are welcome at hello@zilcast.dev.
It's stored with your answers to run this waitlist. We'll email you about early access, and about product news only if you tick that box. No tracking cookies, no ad pixels. The privacy notice has the details.
Only your email is required. The other questions take a minute and decide what gets built first.
We'll email you when there's something to try.