Guide
How Partcl bills usage of Boson, the GPU-accelerated chip-design tool. The short version: $10K prepaid minimum, metered overage at $3 per million gate-runs, hard cap at 200%.
Pricing model
Annual contracts. You prepay a minimum that buys included usage. Once you've used your prepaid credit, additional runs are metered as overage at a per-Mgate-run rate. A hard limit (default 200% of credit) caps your maximum spend in any cycle.
| Component | Default | Notes |
|---|---|---|
| Prepaid minimum | $10,000 / cycle | Buys ~3,333 Mgate-runs at the default rate. |
| Overage rate | $3.00 / Mgate-run | Charged at penny resolution: ceil(gate_runs × rate / 1e6). |
| Hard limit | 200% of credit | Daemon refuses new runs once total consumption hits this cap. |
| Cycle length | 1 year | Cycle ends → invoice issued for any overage. |
Core concepts
Your company's account. One org = one customer relationship with Partcl. The org holds all your billing data: workspaces, cycles, balance, invoices.
e.g. Partcl, Acme Corp
A single machine running Boson, identified by its own Ed25519 keypair. One org typically has multiple workspaces — one per cluster, server, or developer laptop. Each workspace runs a small partcl-licensed daemon that issues local grants and buffers usage to push back to Partcl.
e.g. laptop-will, gpu-cluster-a, ci-runner-3
The window your prepaid credit is scoped to. Typically one calendar year. Mid-cycle credit top-ups add to the same cycle's balance — you see one rolling balance, not multiple drops.
e.g. April 2026 → April 2027
The included usage your annual contract prepays for. Expressed in dollars on the portal, but the underlying meter unit is Mgate-runs. Default minimum is $10,000 ≈ 3,333 Mgate-runs at the standard rate.
The atomic billable unit. Roughly: one cell evaluated by Boson during a static-timing-analysis pass. The metering protocol speaks gate-runs; the portal converts to dollars at presentation time.
A picorv32 STA = ~7,000 gate-runs ≈ $0.03. An NVDLA partition STA = ~7.7 M gate-runs ≈ $23.10.
One million gate-runs. Pricing is quoted per Mgate-run because it's a more human-readable unit. 1 Mg = 1,000,000 gate-runs.
Usage above your prepaid credit. Charged at the org's overage rate per Mgate-run, rounded up to the cent — not to the nearest Mgate. At the default $3/Mg rate, 3,334 gate-runs is billed as 2¢, not $3.
The maximum total consumption permitted in any cycle, expressed as a percentage of the prepaid credit (default 200%). Once this is hit, the local daemon refuses new grants and returns an error to Boson — runs fail loud rather than rack up unbounded charges.
The cryptographic primitive behind a credit grant: a CBOR-encoded, Ed25519-signed token that the Partcl API issues and the customer daemon imports. Customers don't usually deal with bundles directly — the portal shows balance in dollars.
The on-customer-machine process (partcl-licensed) that holds an active bundle, issues local grants to Boson, logs usage, and pushes signed reports back to Partcl over HTTPS.
Deployment
Boson runs on the customer's hardware. The licensing daemon runs alongside it.
Air-gapped
Operator emails an enrollment blob → customer runs partcl-licensed enroll --token ... once → daemon mints local grants for every Boson run. Periodically (e.g. quarterly) the customer exports usage, ships it to Partcl out-of-band, and gets a fresh signed bundle in return.
Connected
Same enrollment, except the daemon auto-pushes usage reports to api.partcl.com over HTTPS continuously, and Partcl issues bundles back without manual exchange.
Hybrid
Connected by default; falls back to local-only when the network is down. Pushes catch up when connectivity returns.
Direct cloud (no daemon)
For non-air-gapped customers who don't want to run the daemon at all. Boson uses an API key (psk_*) and meters every STA directly against api.partcl.com/v1/usage/record. No SQLite, no Ed25519 identity to manage on the client. Loses the append-only crypto chain of the daemon path, but TLS to api.partcl.com is the trust boundary instead.
export PARTCL_API_KEY=psk_xxxxxxxxxxxx_yyyy...
# That's it. Boson now meters every STA against the org owning the key.
Mint keys via the Dashboard's "API keys" button on each org. The plaintext is shown once, at creation time — store it then. Revoking is instant.
Access & permissions
Operator (Partcl side)
Anyone with a verified @partcl.com Google Workspace account is automatically an operator and can:
- See every organization in the system
- Issue enrollment tokens (mint new bundles)
- Grant per-email customer access
- Rename organizations
- Download reconciliation CSV
Customer
Anyone with a verified Google account whose email has been granted to a specific organization can sign in and see only that org's balance and history. Grants are made by an operator via the Dashboard.
API (scripted access)
For service accounts or CI: paste an audience-pinned ID token into the fallback box on the sign-in card.
gcloud auth print-identity-token \
--audiences=https://api.partcl.com
Limits & safeguards
- Hard cap (200% default): refuses new runs above the cap; never produces a surprise invoice.
- Penny rounding: overage rounds up to the cent, not to whole Mgate-runs.
- Append-only ingest: usage reports include a sequence number and Merkle root; Partcl detects gaps but never silently drops data.
- Signed bundles: every credit grant is signed by Partcl's Cloud KMS master key. Daemons reject anything not signed by the pinned master pubkey.
- Workspace-scoped identities: each workspace has its own Ed25519 keypair generated locally; private keys never leave the customer machine.
Questions? Email will@partcl.com.