Every piece of the purchase.
One thoughtful platform.

The paywall. The purchase. The renewal. The numbers.
Everything connects, so you can get back to building.

THE LIFECYCLE / END TO ENDExplore each stage ↓

Customer taps

  1. Paywalls

    Design & ship paywalls over the air

    Paywall canvasEditing · live
    Unlimited projects
    Advanced analytics
    Annual · $59.99SAVE 40%
    Explore Paywalls
  2. SDKs

    iOS, macOS, Android, Web & Chrome

    Install CashSDK
    Swift.package(url: "github.com/CashSDK/cashsdk-ios")
    Kotlinimplementation("com.cashsdk:cashsdk-android")
    Webnpm i cashsdk-web cashsdk-react
    Nodenpm i cashsdk-node
    Same entitlement API on every platform
    Explore SDKs
  3. Receipt validation

    Server-side Apple & Google verification

    Receipt validation Apple Google
    Signature verifiedpass
    Not a replaypass
    Fraud score 0.02pass
    Bound to app_user_idpass
    grant entitlementpro → true
    Explore Receipt validation
  4. Subscriptions

    Entitlements, trials, offers & renewals

    Subscription lifecycle auto-modeled
    Trial
    7 days
    Active
    $8.99/mo
    Grace
    billing retry
    Expired
    win-back
    entitlementpro · active
    iOS
    synced
    Android
    synced
    Web
    synced
    Explore Subscriptions
  5. Revenue analytics

    MRR, LTV, churn & cohort retention

    Cohort retentionby signup month
    M0M1M2M3M4M5
    Jan0
    1008271645955
    Jan1
    10079686156
    Jan2
    100847466
    Jan3
    1008070
    Jan4
    10083
    Explore Revenue analytics
  6. Experiments

    optimize loop

    A/B test pricing, copy & layouts

    Pricing experiment98% significant
    Control · $8.99/mo$1.42/view
    B · $6.99 + trial$1.67/view
    Revenue lift+18% · promote B
    Explore Experiments
  7. Webhooks & API

    Stream every event to your stack

    Events live
    purchase.completed$8.99
    subscription.renewed$59.99
    trial.started-
    subscription.canceled-
    payload.json
    {
      "type": "purchase.completed",
      "id": "evt_9f2",
      "product": "pro_monthly",
      "amount": 899,
      "app_user_id": "u_812"
    }
    Explore Webhooks & API

Your revenue, settled

A complete stack.
However you put it together.

Start with the piece you need. The rest is ready when you are.

A few lines.
A lot taken care of.

Your client handles the experience. CashSDK handles verification and purchase state. Your app gets one clear answer.

Explore the SDKs
App.swift
import CashSDK

// Configure once. Build something great.
CashSDK.configure(publishableKey: "csk_pk_your_key")

// Start a purchase with your store product ID.
let result = try await CashSDK.shared.purchase(
    "app.example.pro.yearly"
)

// Server-verified access, ready to use.
if CashSDK.shared.entitlements.isActive("pro") {
    unlockPro()
}
Native iOS · StoreKit 2UTF-8

From the first tap.
To what comes next.

Your first integration is the beginning of something good.