Platform

Pricing & billing

Two economies live on the platform, and it pays to keep them separate in your head:

  1. How workspaces pay Saaslivery. Capacity tiers with per-seat pricing. Every core app is included on every tier.
  2. How third-party developers earn. Paid marketplace apps set their own pricing, and the developer keeps 80% of revenue.

How workspaces pay

Workspaces choose a tier: Free, Starter, Growth, or Scale. Every app and every feature is available on every tier; tiers differ only in capacity (storage, call minutes, automation runs, retention, and similar limits). There is also a Per-App plan, priced per user per app per month, for teams that only want a few apps.

The seat rule is a cliff, not a ramp:

  • Teams of 5 or fewer pay nothing, on any plan.
  • From the 6th user, every user is billed. A 6-person team pays for 6 seats, not 1.

New workspaces get a 14-day trial at Scale capacity. Prices are regional (set from the signup country) and are lower when billed annually. The current numbers are always on the pricing page; the billing engine and that page read from the same source, so what it shows is what is billed.

What this means for your app

A core or free marketplace app never bills a workspace by itself; capacity limits are enforced by the platform per tier. You do not implement billing checks in app code.

How third-party developers earn

Paid marketplace apps declare their pricing in the manifest, using usage dimensions:

Dimension Unit Example
seat Per active user per month $4/user/month
minute Per minute of usage $0.03/minute
document Per document processed $1.50/document signed
storage Per GB stored per month $0.10/GB/month
message Per message sent $0.001/message
active_resource Per active resource per month $5/active vacancy/month
flat Fixed monthly fee per workspace $10/month

Dimensions can combine (for example seat + minute), and each can carry a free_allowance so small teams use your app for free:

"pricing": {
    "model": "usage",
    "trial_days": 14,
    "dimensions": [
        {
            "type": "seat",
            "label": "User access",
            "unit_price": 4.00,
            "currency": "USD",
            "period": "month",
            "free_allowance": 5,
        },
    ],
}

Free apps declare the shorthand "pricing": "free".

Metering

Apps report consumption with the metering API; the platform stamps workspace_id, the app slug, and the timestamp:

# After a call ends
await req.app.meter("minute", quantity=call_duration_minutes)

# After a document is signed
await req.app.meter("document", quantity=1)

seat, storage, and flat dimensions are metered by the platform automatically. Apps are responsible for metering minute, document, message, and active_resource.

The split and payouts

Party Share
Developer 80%
Saaslivery 20%
  • Calculated per app per billing cycle
  • Payouts are monthly, 30 days after the billing period closes
  • Minimum payout threshold: $50 (rolls over if not met)

Track revenue, installs, and active workspaces from your developer dashboard on the marketplace.

Billing questions apps should never answer

The platform owns invoicing, payment collection, trials, dunning, and enforcement of tier capacity. Apps never store card data, never gate features on payment state, and never query billing tables. If your app's behaviour should differ by usage, meter the usage and let the platform bill it.