sable network
Documentation · all sections

Sable Pro plans

Sable Pro is a four-tier subscription: Free, Pro, Private, and Business. Every feature is on every tier, Free included. A plan raises your limits, extends how far back your history reaches, and adds support. It is billed in USDT, auto-debited from the same prepaid balance that pays for your compute.

Two things a plan is deliberately not:

  • It does not change the price of compute. Every request is metered at list plus margin on every tier, the same rate on Free as on Business. A plan buys limits, retention and support, not cheaper compute. Free is a real pay-as-you-go tier, not a crippled trial.
  • It does not unlock features. Since 2026-10-14 every capability (confidential execution, audit packs, region pinning, Vault issuer tools, org seats, OpenTelemetry export) is on every plan, Free included.
  • It does not change how private your prompts are. Signed receipts and privacy by default are on every tier, including Free, and so is the confidential (TEE-attested) execution path. A plan never gates whether your prompt is protected.

The tiers

FeatureFreeProPrivateBusiness
Monthly fee (USDT)FreeFreePro$79Private$199Business$399
History visibleFree7 daysPro90 daysPrivate90 daysBusiness365 days
Rate limit per keyFree60/minPro600/minPrivate600/minBusiness1,200/min
Sandboxes running at onceFree4Pro8Private12Business24
Signed receiptsFreeYesProYesPrivateYesBusinessYes
Privacy by defaultFreeYesProYesPrivateYesBusinessYes
Metered computeFreeYesProYesPrivateYesBusinessYes
Confidential + double-blindFreeYesProYesPrivateYesBusinessYes
Region pinningFreeYesProYesPrivateYesBusinessYes
Compliance audit packsFreeYesProYesPrivateYesBusinessYes
Vault issuer toolsFreeYesProYesPrivateYesBusinessYes
Org seatsFreeYesProYesPrivateYesBusinessYes
OpenTelemetry exportFreeYesProYesPrivateYesBusinessYes
SupportFreecommunityProemail supportPrivateemail supportBusinesspriority support

Fees are set by the deployment operator, so the authoritative numbers are always whatever GET /v1/billing/plans returns. The figures above are the standard pricing.

The first three rows are enforced by the gateway when the operator turns plan gates on. Every row below them is on every plan, so no plan refuses any of them. Which gates actually exist today lists every row and says which side of that line it is on.

What each tier includes

Every feature, on every tier. The tiers differ only in capacity and support:

  • Free: 60 requests a minute per key, 4 sandboxes at once, 7 days of history, community support.
  • Pro: 600 a minute, 8 sandboxes, 90 days of history, email support.
  • Private: Pro's limits with 12 sandboxes at once.
  • Business: 1,200 a minute, 24 sandboxes, 365 days of history, priority support.

The privacy features are three different guarantees, and only one of them hides your prompt from the machine running the model:

  • The confidential tier runs on hardware-attested Intel TDX, where the host provably cannot read the prompt and the proof travels in your receipt. Each request is still metered at the model's price.
  • The double-blind lanes hide who is asking from the vendor. The vendor's servers still process your plaintext prompt. They are not confidential execution, and they are not host-blind.
  • Region pinning is honored only when the pin matches the region this deployment declared, and refused otherwise.

Which gates actually exist today

The table above is what a plan advertises. Enforcement is a separate, smaller thing, and the difference is worth stating plainly rather than implying the whole table is wired up.

Five things are checked in the gateway (two of them, confidential execution and audit packs, are on every plan today, so they refuse no one), and only when the operator sets SABLE_PLAN_GATES_ENFORCED=true. With it off, every check below is skipped, the same staged rollout as billing enforcement itself. GET /v1/billing/plans reports the current state per plan in an enforced block, so a client never has to take this page's word for it.

CapabilityEnforced?Where
Rate limit per keyEnforced?Yes, when enforcement is onWhereEvery API-key request. The plan's limit is a ceiling: a key may be set stricter, never looser. Over it returns 429 with Retry-After.
Sandboxes running at onceEnforced?Yes, when enforcement is onWherePOST /v1/sandboxes. The plan's number replaces the deployment-wide cap for your account. Over it returns 429.
History visibleEnforced?Yes, when enforcement is onWhereThe listings GET /v1/usage/events, GET /v1/usage/sandboxes and GET /v1/runs show records from inside the window only. Nothing is deleted: receipts and the credit ledger stay intact, a receipt stays fetchable by id, and upgrading shows the older records again.
Confidential (TEE-attested) executionEnforced?Checked, refuses no oneWherePOST /v1/chat/completions, on the attested route only. Every plan includes it since 2026-10-14, so the check passes for every account. A plan without it would get 402, never a silent downgrade.
Compliance audit packsEnforced?Checked, refuses no oneWherePOST /v1/runs/:id/audit. Every plan includes it since 2026-10-14. A plan without it would get 402.
Double-blind private lanesEnforced?NoWhereReachable on every tier. The public catalog reports them under one flag with confidential (confidential_and_double_blind), which overstates the gate.
Signed spend statementsEnforced?NoWherePOST /v1/usage/statement is not gated, though it is advertised alongside audit packs.
Region pinningEnforced?No, on every planWhereA pin is honored or refused on the deployment's declared region alone. The plan is never consulted.
Vault issuer toolsEnforced?No, on every planWhereNo Vault route consults the plan.
Org seatsEnforced?No, on every planWhereNo org route consults the plan.
OpenTelemetry exportEnforced?No, on every planWhereExport is a deployment-wide config flag, not a per-account capability.

Paid plans are also not on sale until the operator sets SABLE_PLANS_PURCHASABLE=true. While it is off, POST /v1/billing/subscription refuses a paid plan and charges nothing.

Discovering plans

GET /v1/billing/plans is public, so an agent or anyone evaluating Sable can read the catalog before holding any credential.

curl https://api.buildsable.com/v1/billing/plans
{
  "currency": "USD",
  "paid_in": "USDT (auto-debited from your prepaid balance)",
  "note": "Compute is metered at list + margin on every tier. A plan buys limits, retention and support — not cheaper compute, and not features: every capability is on every plan, Free included.",
  "gates_enforced": false,
  "plans": [
    {
      "id": "private",
      "name": "Private",
      "fee_micro_usd": 199000000,
      "fee_usd": 199.0,
      "retention_days": 90,
      "rate_limit_per_min": 600,
      "max_concurrent_sandboxes": 12,
      "features": {
        "signed_receipts": true,
        "privacy_by_default": true,
        "metered_compute": true,
        "confidential_and_double_blind": true,
        "region_pinning": true,
        "audit_packs": true,
        "vault_issuer": true,
        "org_seats": true,
        "otel_export": true
      },
      "support": "email support"
    }
  ]
}

Your subscription

GET /v1/billing/subscription (session-authed) returns the plan you are on, when the current period ends, whether it renews, the full plan spec, and your balance.

{
  "plan": "private",
  "period_end": "2026-10-01T00:00:00Z",
  "auto_renew": true,
  "spec": { "id": "private", "name": "Private", "fee_usd": 199.0, "...": "..." },
  "balance_micro_usd": 250000000
}

Subscribing and changing plans

POST /v1/billing/subscription with { "plan": "pro" | "private" | "business" | "free" } (session-authed).

curl https://api.buildsable.com/v1/billing/subscription \
-H "Authorization: Bearer $SABLE_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "plan": "private" }'

A paid plan charges its full monthly fee from your prepaid balance immediately and starts a fresh 30-day period. If your balance cannot cover the fee, the request returns 402 with the amount owed and your current balance; top up and try again. There is no proration when you switch plans, and the current period is not refunded.

Switching to "free" cancels auto-renew. Your current plan keeps its limits until the period ends, then drops to Free.

Cancelling

POST /v1/billing/subscription/cancel (session-authed) turns off auto-renew. The plan keeps its limits until period_end, then the renewal worker drops it to Free. There is no refund of the current period. You can also do all of this from the portal under Subscription.

Honest scope

A plan is a billing and entitlement record on this gateway. It changes your limits, retention and support. Every capability is on every plan. It does not change the privacy contract: prompts, completions, and submitted code are never persisted on any tier, and every plan artifact, like every Sable artifact, is metadata only.

Shipped
Sable Launchpad — launch a coin with a character, on Robinhood ChainProof of Backing — continuous reserve verification, published wholeSupport Program register opened to SABL holdersEight models added, including the Claude 5 and Gemini 3.8 familiesKnow Your Agent — a machine-checkable credential at a passport handleAutopilot — receipted evidence for a cheaper configurationThe Verifiable Arena — every score backed by a real receipted runTime Machine — record a request, replay it, diff the resultSable Notary — sign and anchor work Sable did not runIntelligence Engine — compile a configuration into an immutable buildSealed Calls — commit a prediction now, reveal it laterAgent Post — cross-account mail between agents, with postageSable Legacy — a dead man's switch for sealed contentThe Judge — a panel of models, one signed verdictSable Memory, Agent Runtime and the non-custodial payment railPersistent sandbox sessions with exec, files and snapshotsMCP Gateway — every tool call allowlisted, metered and receiptedOAuth 2.1 + dynamic client registration for one-click MCP connectSable Vault — a private registry with public settlement