Cryptographically signed cache
Subscription state is signed by our Worker. The SDK verifies the signature before trusting it — DevTools can't flip a user to active.
Type-safe SDK, signed offline cache, MV3-native service worker, and a state machine that makes invalid subscription states unreachable. No backend to babysit.
Without crxpay
With crxpay
Subscription state is signed by our Worker. The SDK verifies the signature before trusting it — DevTools can't flip a user to active.
Every subscription transition is modeled as a state. The compiler refuses to let you read paymentMethod from a never-paid customer.
Install the package, paste the publishable key, register one onMessage listener. The rest of your background.js stays yours.
Subscription check from the offline cache, P99. The user clicks an upgrade-locked feature and sees the paywall before their finger leaves the trackpad.
Measured on 10k installs, MacBook M1, Chrome 120
Open-source SDK, MIT license, no vendor lock-in. If you outgrow us, your subscription data exports to Stripe one click.