Skip to content

Productize Switchboard Hosted: Standard + Pro billing surface #87

@abhicris

Description

@abhicris

Problem

The Switchboard 2-SKU economic model specifies Hosted Switchboard with two tiers (Standard, Pro) plus per-tx overage. Today the OSS lib is self-hostable but there is no managed control plane that a customer can point a checkout flow at. To onboard the first Hosted customers (IPTO PI per #82, Hanzo enterprise per #81, others), we need the billing surface live.

This issue tracks the productized billing surface itself, not any individual customer onboarding.

Proposed Approach

  1. Customer onboarding flow:
    • Sign-up endpoint that issues an API key + endpoint URL
    • Tier selection (Standard / Pro) at sign-up; tier change requires support ticket (no self-serve downgrade)
    • Month-to-month default; annual option for Pro at a 10% discount
  2. Metering:
    • Per-tx counter incremented on every x402_middleware.settle and AgentEscrow.release event
    • Overage line item: tx count above the included tier minute at $0.001/tx
  3. Invoicing:
    • Monthly via Stripe (or a paid-billing provider already in the stack)
    • Pro annual customers get a single annual invoice with 10% off
  4. Customer dashboard:
  5. No public pricing page. Per the kcolbchain pricing-private convention, prospects get pricing on application via the standard contact flow. The billing system enforces the tier numbers; the public surface does not display them.

Acceptance Criteria

  • Sign-up flow live
  • Stripe billing integrated; monthly invoices generated on test data
  • Customer dashboard ships behind auth
  • First customer onboarded successfully (likely IPTO PI per Tracking: IPTO PI as Switchboard Hosted Standard customer (arms-length) #82)
  • Overage line item correctly billed on a synthetic over-tier workload
  • No public pricing page; pricing visible only to authenticated customers + sales

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    docsDocumentationenhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions