Pricing

You pay for what you actually held.

Tenura's billing unit is the capacity-second: the amount of a specific resource held for one second. No instance-hour rounding, no static-reservation premium, no estimation gap between what you allocated and what you used.

The model

Capacity × time × rate.

Every lease event — allocation, renewal, release, expiry, revocation — is recorded with a timestamp, capacity, and resource type. Usage summaries reconstruct the lease intervals exactly (with sweep-line accounting for overlapping leases). The cost of a lease is capacity × duration_seconds × rate. No averaging.

Because the audit chain is hash-linked and persisted, the bill you see is the same artifact your auditor sees — there's no separate billing pipeline that could drift.

Default rate card

Where conversations start.

These are the defaults that ship with the scheduler. They're the starting point for pilot conversations; final rates are negotiated based on commitment, region, and hardware mix.

ResourceRateUnit
GPU0.01per GPU-second
CPU core0.002per core-second
Memory0.001per GiB-second
Block storage0.0005per GiB-second
Network0.0003per Gb-second

Rates are in your contract's currency. The numbers above are abstract pricing units; we set the conversion when you sign up. Example: at 0.01 per GPU-second and a conversion of $1.00 = 100 units, an L4 held for one hour costs 3,600 × 0.01 / 100 = $0.36.

Tiers

Three priority tiers.

Tier multipliers and exact pilot terms are set in your contract. The mechanism is the same for every tenant: priority is enforced by the scheduler, with audit records of every preemption decision.

Pilots

Free during private beta.

Approved beta tenants don't pay during pilot. The point of the pilot is to validate that the lease model fits your workload — not to extract revenue while the surface is still changing. We share metering data with you so you can build the ROI case for managed cells or production self-hosting after the pilot.

Deployment models

Self-hosted vs managed.

Self-hosted

The reference implementation is source-available and free to run on your own hardware. You operate the daemon, the scheduler, the CA, and your own audit-chain collector. We don't charge software fees during private beta; production-license terms come with general availability.

Managed cells

We operate the control plane. You bring tenants and workloads. Pricing is custom based on the rate card above plus a control-plane fee that depends on cell size, region, and hardware mix. Talk to us for a quote.

FAQ

The three questions everyone asks.

Why capacity-seconds instead of GPU-hours?

A GPU-hour tells you that a GPU was allocated for an hour. It says nothing about whether the GPU was used or whether the allocation matched the actual workload. Capacity-seconds tell you what was actually held — and because lease metadata records the resource type, you can also see what kind of capacity dominates a workload's cost. That's what makes optimization tractable.

Can I cap costs?

Yes. Per-tenant quotas (hard, soft, and burst) are first-class. A hard quota rejects new lease requests when exceeded. A burst quota allows temporary over-quota with its own TTL. Quotas can also be set per-resource: e.g., 4 GPUs hard, 1 TB of memory hard, unlimited block.

What about idle GPUs between leases?

That's the Scavenger tier's job. Idle capacity earns revenue at scavenger rates instead of zero. Scavenger leases are evicted the moment a higher-tier request arrives — so the operator's floor utilization rises without compromising guaranteed workloads.

Get a quote

Pilots are scoped to your workload.

Tell us your cluster size, current utilization, and the workloads you'd like to migrate first. We'll come back with a pilot scope and a path to a quote.