Connectors are operated by the Marketplace API, a dedicated service that stores credentials encrypted, verifies inbound webhook signatures, normalizes each event, and forwards revenue into the unified ledger. You never write that plumbing; you connect a provider and map its catalog.
Marketplace
Connect billing backends and integrations to CashSDK. Every rail reconciles into one ledger, every revenue event fans out to your stack.
The CashSDK Marketplace is the directory of connectors that plug into your revenue stack. There are two kinds:
- Billing backends: payment rails (Stripe, Paddle, Lemon Squeezy, …). CashSDK verifies each provider's webhooks server-side and reconciles the revenue into the same entitlement model and ledger as your App Store and Google Play sales.
- Integrations: event destinations (Slack, Segment, Amplitude, …). Every purchase, renewal, and refund is delivered to the tools your team already runs.
Two kinds of connector#
Stripe, Paddle, Lemon Squeezy, Polar, FastSpring, Gumroad, Recurly, Chargebee plus the App Store and Google Play store rails.
Analytics, warehouses, messaging, CRM, attribution, and automation destinations for your revenue events.
How a connector works#
Every connector follows the same lifecycle, whichever kind it is:
Add the provider with its credentials. They're stored encrypted at rest (AES-256-GCM) and never returned or shipped in your app.
For billing, map the provider's products/prices to CashSDK products and the entitlements they unlock. For integrations, point it at your destination.
Confirm the configuration is complete, then activate. Billing events start flowing into the ledger; integrations start delivering.
Every event is deduplicated, verified, and logged. Revenue lands in one ledger; deliveries retry with backoff until they succeed.
Set it up from a prompt#
The whole lifecycle is driven by the MCP server, so you can connect and configure a provider by asking your agent in natural language.
connect_marketplace_app(provider="stripe", credential="rk_live_…", signingSecret="whsec_…")
map_marketplace_catalog(provider="stripe", mappings=[{ externalId: "price_123", productIdentifier: "pro_monthly", entitlement: "pro" }])
activate_marketplace_connection(provider="stripe")
See Prompt-driven setup for the full tool list.
Under the hood#
Verification, normalization, and reconciliation, step by step.
The uniform flow for every event destination.
The MCP tools that drive connectors.