Overview
Understanding the relationship between databases, branches, and clusters is key to understanding your billing:- Database: Your overall project (e.g., “my-ecommerce-app”)
- Branch: Isolated database deployments that provide you with separate environments for development and testing, as well as restoring from backups. Learn more about branching
- Cluster: The underlying compute and storage infrastructure that powers each branch
- You are billed for the compute and storage resources (cluster) that power each branch (prorated to the millisecond each month)
- Every database branch you launch has default included amounts of:
- Usage beyond the included defaults is charged based on the costs for that resource, this includes:
- Cluster disk storage used beyond the included amount (for network-attached storage)
- Backup storage used beyond the included amount
- Network egress beyond the included amount
- Additional replicas
For information on Vitess cluster pricing on the Base plan, see Base plan cluster pricing.
Cluster instance size
Each database branch runs on its own dedicated cluster infrastructure. Clusters are billed based on the selected instance size and prorated to the millisecond. Each instance size includes defined amounts of vCPU cores and memory, as well as storage based on the storage type selected (network-attached storage or PlanetScale Metal). See cluster pricing for more information. You can increase or decrease your cluster size at any time. Pricing is prorated to the millisecond, so if you temporarily increase, you will only be charged for the larger cluster size for the time that it was running. Billing for a modified cluster size begins once the resize is completed. You can also spin up additional production branches at any time for additional cost. The pricing for these is also prorated.Cluster disk storage
We use gibibytes, otherwise known as binary gigabytes, to calculate storage and usage limits. For reference, 1 binary gigabyte is equivalent to 2^30 bytes.
Storage types explained
PlanetScale offers two storage options with different pricing models:Network-attached storage billing
For network-attached storage clusters, pricing varies by region and cloud provider:- Base storage: you manually configure this in cluster settings, unless autoscaling is enabled
- Additional IOPS: you manually configure this in cluster settings (AWS only)
- Additional Throughput: you manually configure this in cluster settings (AWS only)
AWS vs GCP Pricing: AWS network-attached storage cluster types allow separate billing for IOPS and throughput that you manually configure. GCP network-attached storage cluster types include IOPS and throughput that scale automatically with disk size at no additional cost. See AWS Storage Pricing and GCP Storage Pricing below for detailed regional pricing.
- IOPS (Input/Output Operations Per Second): How many read/write operations your database can handle per second. Higher IOPS = faster response for many small database queries.
- Throughput: How much data can be transferred per second (MiB/s). Higher throughput = faster for large data operations like bulk imports.
These defaults apply to all PS-series cluster sizes (PS-5 through PS-2560). You only pay additional IOPS or throughput charges if you manually configure values above these baselines.
For more information on changing your cluster’s storage, see the Cluster storage configuration documentation.
Backups
Included backup storage
PlanetScale automatically includes backup storage with every database branch at no extra cost. Each branch gets backup storage equal to 2x your disk size. Examples:For clusters with network-attached storage with autoscaling enabled, backup storage changes as your disk storage autoscales.
How backup billing works
Storage calculation: Both database data backups and WAL files are automatically compressed before being sent to backup storage. You’re billed only on the compressed size, which is typically much smaller than your active database size. Backup storage usage billing data is updated hourly. For more details on backup functionality, see Back up and restore. What affects storage costs:Network data transfer
Public traffic
Outgoing network traffic (egress) is billed based on the amount of data transferred out of PlanetScale Postgres instances to any other host or destination. You are not charged for data transfer associated with replicating data between primaries and replicas or backups. Each branch has a default amount of included public network egress that is aggregated for all cluster instances in the entire branch.
See AWS Egress Pricing and GCP Egress Pricing below for detailed regional pricing.
Incoming public network traffic (ingress) is free.
Private traffic
For databases using private connections (AWS PrivateLink or GCP Private Service Connect), all network traffic over that connection — both egress and ingress — is charged at a flat rate of $0.01/GB, regardless of region. This replaces the standard regional egress pricing for traffic routed over private connections. Each branch has a default amount of included private network traffic that is aggregated for all cluster instances in the entire branch.Additional replicas
Each production cluster includes 2 replicas (excluding Single Node) to provide high availability and additional read capacity alongside the primary. Certain read-heavy workloads may demand additional read replicas. If you need additional replicas beyond what is included, you can add them for an additional cost based on the branch’s instance size and storage requirements. The cost of an additional replica instance is ~1/3 the cost of the original 3-node cluster. New replica(s) billing begins once the change has completed. Examples:
*Note: Replicas with network-attached storage do not include the default included cluster storage disk amount of 10GB. You pay for the entire configured disk size. Figures shown here are for AWS based instances with additional storage amounts and no additional IOPS/Throughput configured.
Development branches and Single Node databases do not support replicas. For more information on replicas, see Replicas.
Cluster pricing
Cluster instance pricing is based on the cloud provider’s own pricing for the compute resources. Prices shown are for the us-east-1 (N. Virginia) region. Pricing may vary by region.Network-attached storage clusters
These clusters use network-attached storage, which is billed separately from compute. Storage can scale independently of your instance size.- Single Node clusters are a single database instance, ideal for development, cost-sensitive startups, or non-critical workloads.
- Highly Available clusters are 3-node clusters with automatic failover for production workloads.
View network-attached storage cluster pricing
View network-attached storage cluster pricing
PlanetScale Metal clusters
PlanetScale Metal clusters include high-performance NVMe storage directly attached to your servers. Storage is included in the cluster price.View PlanetScale Metal cluster pricing
View PlanetScale Metal cluster pricing
Storage pricing
Network-attached storage pricing varies by region and includes three billable components:- Storage: The cost per GB of data stored per month (can auto-scale with usage if enabled)
- Additional IOPS: Cost when you manually configure more input/output operations per second beyond the included baseline of 3,000 IOPS
- Additional Throughput: Cost when you manually configure more data transfer throughput (MiB/s) beyond the included baseline of 125 MiB/s
Most applications only pay for base storage. IOPS and throughput charges only apply if you manually increase these settings beyond the included baseline (3,000 IOPS and 125 MiB/s throughput for AWS gp3 storage) in your cluster configuration.

