stubkit

Cryptosam LLC · Florida, USA

Subscription validation,
finally done right.

One API for Apple App Store, Google Play, and Stripe. Receipt verification, entitlement state, webhooks, admin dashboard — so your team focuses on the product, not on reverse-engineering three receipt formats.

No credit card · Set up in under 10 minutes · Apple / Google Play / Stripe

import { StubkitClient } from '@stubkit/js';

const stubkit = new StubkitClient({
  appId: 'taskpomo',
  getAuthToken: getSessionJwt,
});

const isPro = await stubkit.isActive(userId, 'pro');
→ true · 47ms (edge)

Everything you need

The subscription backend your team doesn't have to build.

Stop wiring Apple notifications, Google developer events, and Stripe webhooks into one more half-working state machine. We already built it, tested it in production, and shipped it as a single API.

Verified receipts

Apple App Store Server, Google Play Developer API, and Stripe signatures — all verified server-side before anything touches your data.

Fast reads everywhere

Global edge caching with intelligent invalidation. Sub-100ms entitlement checks whether your user is in Tokyo, Berlin, or Toronto.

Proper state machine

Trial, active, grace, cancelled, refunded, expired — transitions handled per provider semantics. No more out-of-order renewal bugs.

Multi-tenant ready

Run one instance for all your apps. Each tenant has isolated data, credentials, and analytics. Perfect for app studios and agencies.

Native SDKs for every platform

Drop-in SDKs for Swift, Kotlin, Flutter, and JavaScript. Three lines to check entitlements. Automatic retries, typed responses, built-in caching.

Admin grants and campaigns

Gift premium to a single user or run bulk campaigns. Full audit trail, reason codes, and optional recipient emails — no Slack pings to engineering.

How it works

From receipt to entitlement in three steps.

01

Register your app

Create a tenant in the dashboard. Upload your Apple, Google, and Stripe credentials. They're encrypted at rest and never shown back.

02

Point your webhooks

Paste three URLs into Apple App Store Connect, Google Cloud Console, and the Stripe dashboard. We handle the rest.

03

Call the SDK

Import the SDK in your app, ask isActive(userId, 'pro'), and get an answer in milliseconds. Done.

SDKs & Integrations

Drop-in SDKs for every platform.

Three lines of code to validate subscriptions. Native SDKs for iOS, Android, Flutter, and JavaScript — or use the REST API directly.

JavaScript / TypeScript

Available
npm install @stubkit/js

Swift (iOS / macOS)

Available
SPM: stubkithq/stubkit-swift

Kotlin (Android)

Available
implementation("com.stubkit:stubkit:1.0.0")

Flutter / Dart

Available
flutter pub add stubkit

3

Subscription sources

<100ms

Edge read latency

99.99%

Uptime target

2012

Parent company founded

Ready to stop babysitting webhooks?

Set up your first tenant in ten minutes. Migrate your existing subscriptions without downtime. Ship with confidence.