Implementation:Helicone Helicone Pricing Tiers
| Knowledge Sources | |
|---|---|
| Domains | Billing, Pricing |
| Last Updated | 2026-02-14 06:32 GMT |
Overview
Single source of truth for Helicone's tiered pricing schedules, defining the rate structures for both GB storage and API request billing.
Description
This module defines the pricing tier interfaces and constant arrays that drive Helicone's usage-based billing model. It is consumed by the pricing calculator and displayed on pricing pages across the web frontend and Bifrost marketing site.
GBPricingTier defines tiers with a maxGB threshold, ratePerGB rate, and label. The GB_PRICING_TIERS array contains five tiers:
| Tier | Range | Rate per GB |
|---|---|---|
| First 30 GB | 0 - 30 GB | $3.25 |
| 31-80 GB | 31 - 80 GB | $2.00 |
| 81-200 GB | 81 - 200 GB | $1.25 |
| 201-450 GB | 201 - 450 GB | $0.75 |
| 450+ GB | > 450 GB | $0.50 |
RequestPricingTier defines tiers with a maxLogs threshold, ratePerLog rate, and label. The REQUEST_PRICING_TIERS array contains seven tiers:
| Tier | Range | Rate per Log |
|---|---|---|
| First 10,000 | 0 - 10K | Free ($0) |
| 10,001-30,000 | 10K - 30K | $0.0007 |
| 30,001-90,000 | 30K - 90K | $0.00035 |
| 90,001-250,000 | 90K - 250K | $0.000175 |
| 250,001-800,000 | 250K - 800K | $0.0000875 |
| 800,001-2,500,000 | 800K - 2.5M | $0.00004375 |
| 2,500,000+ | > 2.5M | $0.00002 |
A legacy BYTE_PRICING constant is also exported for backward compatibility, referencing the first GB tier rate.
Usage
Use these tier definitions when rendering pricing tables in the UI, feeding the pricing calculator, or validating billing computations. They serve as the single source of truth for all pricing-related logic across the application.
Code Reference
Source Location
- Repository: Helicone
- File: packages/pricing/tiers.ts
Signature
export interface GBPricingTier {
maxGB: number;
ratePerGB: number;
label: string;
}
export interface RequestPricingTier {
maxLogs: number;
ratePerLog: number;
label: string;
}
export const GB_PRICING_TIERS: GBPricingTier[];
export const REQUEST_PRICING_TIERS: RequestPricingTier[];
export const BYTE_PRICING: {
ratePerGB: number;
freeGB: number;
};
Import
import {
GB_PRICING_TIERS,
REQUEST_PRICING_TIERS,
GBPricingTier,
RequestPricingTier,
BYTE_PRICING,
} from "@helicone/pricing/tiers";
I/O Contract
GBPricingTier
| Field | Type | Description |
|---|---|---|
maxGB |
number |
Upper bound of the tier in GB (Infinity for the last tier)
|
ratePerGB |
number |
Dollar cost per GB in this tier |
label |
string |
Human-readable tier label |
RequestPricingTier
| Field | Type | Description |
|---|---|---|
maxLogs |
number |
Upper bound of the tier in request count (Infinity for the last tier)
|
ratePerLog |
number |
Dollar cost per log/request in this tier |
label |
string |
Human-readable tier label |
Usage Examples
import { GB_PRICING_TIERS, REQUEST_PRICING_TIERS } from "@helicone/pricing/tiers";
// Render a pricing table
GB_PRICING_TIERS.forEach((tier) => {
console.log(`${tier.label}: $${tier.ratePerGB}/GB (up to ${tier.maxGB} GB)`);
});
// Find the tier for a given usage level
const currentGB = 150;
const activeTier = GB_PRICING_TIERS.find((tier) => currentGB <= tier.maxGB);
// activeTier = { maxGB: 200, ratePerGB: 1.25, label: "81-200 GB" }
// Check if requests are in the free tier
const requestCount = 5000;
const isFree = requestCount <= REQUEST_PRICING_TIERS[0].maxLogs;
// isFree = true (first 10K are free)