# PlanetScale pricing

Prices on this page based on AWS ap-southeast-2 (Sydney)
Actual prices vary by cloud provider and region.

Generated at: `2026-10-29T23:07:30.075Z`

## Pricing model overview

- **Neki**: shard compute + routers + network storage + backups + network usage; each shard includes a primary and two replicas
- **Postgres**: cluster size + storage (EBS) + backups + egress + optional dedicated PgBouncer + optional additional replicas
- **Vitess**: cluster size + storage (non-metal) + optional VTGates + replicas/sharding configuration

## Neki SKUs

Neki has no single-node configuration. Each shard uses a highly available
cluster SKU (one primary and two replicas). Shard compute is that monthly
rate times the number of shards on the configuration profile. Extra replicas
use the additional-replica rate.

Every Neki branch has at least one router group. The monthly production
router rate covers the three-router baseline: one router in each of three
availability zones (AZ).

```text
shard compute = highly available SKU rate × shards on the profile
additional replica compute = additional-replica rate × extra replicas × shards
production router compute = router-size monthly rate × observed running routers ÷ 3
development router compute = router-size monthly rate × running routers
```

Network-attached storage, backups, and network transfer are billed separately
from these SKU rates. Metal includes local NVMe in the cluster SKU rate.

### Neki standard (network-attached storage, 3-node per shard)

| SKU     | Architecture | vCPU | Memory  | Monthly price (USD) | Additional replica (USD) |
| ------- | ------------ | ---- | ------- | ------------------- | ------------------------ |
| PS-10   | arm64        | 1/8  | 1 GiB   | $41                 | $14                      |
| PS-10   | x86-64       | 1/8  | 1 GiB   | $47                 | $16                      |
| PS-20   | arm64        | 1/4  | 2 GiB   | $60                 | $20                      |
| PS-20   | x86-64       | 1/4  | 2 GiB   | $71                 | $24                      |
| PS-40   | arm64        | 1/2  | 4 GiB   | $99                 | $33                      |
| PS-40   | x86-64       | 1/2  | 4 GiB   | $119                | $40                      |
| PS-80   | arm64        | 1    | 8 GiB   | $177                | $59                      |
| PS-80   | x86-64       | 1    | 8 GiB   | $215                | $72                      |
| PS-160  | arm64        | 2    | 16 GiB  | $343                | $115                     |
| PS-160  | x86-64       | 2    | 16 GiB  | $419                | $140                     |
| PS-320  | arm64        | 4    | 32 GiB  | $684                | $228                     |
| PS-320  | x86-64       | 4    | 32 GiB  | $839                | $280                     |
| PS-640  | arm64        | 8    | 64 GiB  | $1,362              | $454                     |
| PS-640  | x86-64       | 8    | 64 GiB  | $1,679              | $560                     |
| PS-1280 | arm64        | 16   | 128 GiB | $2,721              | $907                     |
| PS-1280 | x86-64       | 16   | 128 GiB | $3,359              | $1,120                   |
| PS-2560 | arm64        | 32   | 256 GiB | $5,435              | $1,812                   |
| PS-2560 | x86-64       | 32   | 256 GiB | $6,719              | $2,240                   |
| PS-3840 | arm64        | 48   | 384 GiB | $13,440             | $4,480                   |
| PS-3840 | x86-64       | 48   | 384 GiB | $13,440             | $4,480                   |
| PS-5120 | arm64        | 64   | 512 GiB | $17,910             | $5,970                   |
| PS-5120 | x86-64       | 64   | 512 GiB | $17,910             | $5,970                   |

### Neki metal (3-node per shard)

| SKU    | Architecture | vCPU | Memory  | Included storage | Monthly price (USD) | Additional replica (USD) |
| ------ | ------------ | ---- | ------- | ---------------- | ------------------- | ------------------------ |
| M-10   | arm64        | 1/8  | 1 GiB   | 10 GiB           | $60                 | $20                      |
| M-10   | x86-64       | 1/8  | 1 GiB   | 10 GiB           | $60                 | $20                      |
| M-10   | arm64        | 1/8  | 1 GiB   | 25 GiB           | $70                 | $24                      |
| M-10   | x86-64       | 1/8  | 1 GiB   | 25 GiB           | $70                 | $24                      |
| M-10   | arm64        | 1/8  | 1 GiB   | 50 GiB           | $80                 | $27                      |
| M-10   | x86-64       | 1/8  | 1 GiB   | 50 GiB           | $80                 | $27                      |
| M-10   | arm64        | 1/8  | 1 GiB   | 100 GiB          | $110                | $37                      |
| M-10   | x86-64       | 1/8  | 1 GiB   | 100 GiB          | $110                | $37                      |
| M-10   | arm64        | 1/8  | 1 GiB   | 200 GiB          | $170                | $57                      |
| M-10   | x86-64       | 1/8  | 1 GiB   | 200 GiB          | $180                | $60                      |
| M-20   | arm64        | 1/4  | 2 GiB   | 10 GiB           | $90                 | $30                      |
| M-20   | x86-64       | 1/4  | 2 GiB   | 10 GiB           | $90                 | $30                      |
| M-20   | arm64        | 1/4  | 2 GiB   | 25 GiB           | $100                | $34                      |
| M-20   | x86-64       | 1/4  | 2 GiB   | 25 GiB           | $100                | $34                      |
| M-20   | arm64        | 1/4  | 2 GiB   | 50 GiB           | $110                | $37                      |
| M-20   | x86-64       | 1/4  | 2 GiB   | 50 GiB           | $110                | $37                      |
| M-20   | arm64        | 1/4  | 2 GiB   | 100 GiB          | $140                | $47                      |
| M-20   | x86-64       | 1/4  | 2 GiB   | 100 GiB          | $140                | $47                      |
| M-20   | arm64        | 1/4  | 2 GiB   | 200 GiB          | $200                | $67                      |
| M-20   | x86-64       | 1/4  | 2 GiB   | 200 GiB          | $210                | $70                      |
| M-40   | arm64        | 1/2  | 4 GiB   | 10 GiB           | $150                | $50                      |
| M-40   | x86-64       | 1/2  | 4 GiB   | 10 GiB           | $150                | $50                      |
| M-40   | arm64        | 1/2  | 4 GiB   | 25 GiB           | $160                | $54                      |
| M-40   | x86-64       | 1/2  | 4 GiB   | 25 GiB           | $160                | $54                      |
| M-40   | arm64        | 1/2  | 4 GiB   | 50 GiB           | $170                | $57                      |
| M-40   | x86-64       | 1/2  | 4 GiB   | 50 GiB           | $170                | $57                      |
| M-40   | arm64        | 1/2  | 4 GiB   | 100 GiB          | $200                | $67                      |
| M-40   | x86-64       | 1/2  | 4 GiB   | 100 GiB          | $200                | $67                      |
| M-40   | arm64        | 1/2  | 4 GiB   | 200 GiB          | $260                | $87                      |
| M-40   | x86-64       | 1/2  | 4 GiB   | 200 GiB          | $260                | $87                      |
| M-40   | arm64        | 1/2  | 4 GiB   | 400 GiB          | $380                | $127                     |
| M-40   | x86-64       | 1/2  | 4 GiB   | 400 GiB          | $390                | $130                     |
| M-40   | arm64        | 1/2  | 4 GiB   | 800 GiB          | $610                | $204                     |
| M-40   | x86-64       | 1/2  | 4 GiB   | 800 GiB          | $630                | $210                     |
| M-40   | arm64        | 1/2  | 4 GiB   | 1228.8 GiB       | $840                | $280                     |
| M-40   | x86-64       | 1/2  | 4 GiB   | 1228.8 GiB       | $880                | $294                     |
| M-80   | arm64        | 1    | 8 GiB   | 100 GiB          | $320                | $107                     |
| M-80   | x86-64       | 1    | 8 GiB   | 100 GiB          | $320                | $107                     |
| M-80   | arm64        | 1    | 8 GiB   | 200 GiB          | $380                | $127                     |
| M-80   | x86-64       | 1    | 8 GiB   | 200 GiB          | $380                | $127                     |
| M-80   | arm64        | 1    | 8 GiB   | 400 GiB          | $500                | $167                     |
| M-80   | x86-64       | 1    | 8 GiB   | 400 GiB          | $500                | $167                     |
| M-80   | arm64        | 1    | 8 GiB   | 800 GiB          | $730                | $244                     |
| M-80   | x86-64       | 1    | 8 GiB   | 800 GiB          | $750                | $250                     |
| M-80   | arm64        | 1    | 8 GiB   | 1228.8 GiB       | $960                | $320                     |
| M-80   | x86-64       | 1    | 8 GiB   | 1228.8 GiB       | $1,000              | $334                     |
| M-160  | x86-64       | 2    | 16 GiB  | 100 GiB          | $550                | $184                     |
| M-160  | arm64        | 2    | 16 GiB  | 100 GiB          | $560                | $187                     |
| M-160  | x86-64       | 2    | 16 GiB  | 200 GiB          | $610                | $204                     |
| M-160  | arm64        | 2    | 16 GiB  | 200 GiB          | $620                | $207                     |
| M-160  | arm64        | 2    | 16 GiB  | 118 GiB          | $650                | $217                     |
| M-160  | x86-64       | 2    | 16 GiB  | 118 GiB          | $700                | $234                     |
| M-160  | x86-64       | 2    | 16 GiB  | 400 GiB          | $730                | $244                     |
| M-160  | arm64        | 2    | 16 GiB  | 400 GiB          | $740                | $247                     |
| M-160  | x86-64       | 2    | 16 GiB  | 468 GiB          | $827                | $276                     |
| M-160  | arm64        | 2    | 16 GiB  | 468 GiB          | $830                | $277                     |
| M-160  | x86-64       | 2    | 16 GiB  | 468 GiB          | $870                | $290                     |
| M-160  | arm64        | 2    | 16 GiB  | 800 GiB          | $970                | $324                     |
| M-160  | x86-64       | 2    | 16 GiB  | 800 GiB          | $980                | $327                     |
| M-160  | x86-64       | 2    | 16 GiB  | 1280 GiB         | $1,067              | $356                     |
| M-160  | x86-64       | 2    | 16 GiB  | 1280 GiB         | $1,110              | $370                     |
| M-160  | arm64        | 2    | 16 GiB  | 1228.8 GiB       | $1,200              | $400                     |
| M-160  | x86-64       | 2    | 16 GiB  | 1228.8 GiB       | $1,230              | $410                     |
| M-320  | arm64        | 4    | 32 GiB  | 237 GiB          | $1,250              | $417                     |
| M-320  | x86-64       | 4    | 32 GiB  | 237 GiB          | $1,356              | $452                     |
| M-320  | arm64        | 4    | 32 GiB  | 937 GiB          | $1,610              | $537                     |
| M-320  | x86-64       | 4    | 32 GiB  | 937 GiB          | $1,619              | $540                     |
| M-320  | x86-64       | 4    | 32 GiB  | 937 GiB          | $1,690              | $564                     |
| M-320  | x86-64       | 4    | 32 GiB  | 2560 GiB         | $2,099              | $700                     |
| M-320  | x86-64       | 4    | 32 GiB  | 2560 GiB         | $2,170              | $724                     |
| M-640  | arm64        | 8    | 64 GiB  | 474 GiB          | $2,440              | $814                     |
| M-640  | x86-64       | 8    | 64 GiB  | 474 GiB          | $2,678              | $893                     |
| M-640  | arm64        | 8    | 64 GiB  | 1875 GiB         | $3,160              | $1,054                   |
| M-640  | x86-64       | 8    | 64 GiB  | 1875 GiB         | $3,215              | $1,072                   |
| M-640  | x86-64       | 8    | 64 GiB  | 1875 GiB         | $3,330              | $1,110                   |
| M-640  | x86-64       | 8    | 64 GiB  | 5120 GiB         | $4,163              | $1,388                   |
| M-640  | x86-64       | 8    | 64 GiB  | 5120 GiB         | $4,280              | $1,427                   |
| M-960  | x86-64       | 12   | 96 GiB  | 7680 GiB         | $6,227              | $2,076                   |
| M-960  | x86-64       | 12   | 96 GiB  | 7680 GiB         | $6,400              | $2,134                   |
| M-1280 | arm64        | 16   | 128 GiB | 950 GiB          | $4,810              | $1,604                   |
| M-1280 | x86-64       | 16   | 128 GiB | 950 GiB          | $5,323              | $1,775                   |
| M-1280 | arm64        | 16   | 128 GiB | 3840 GiB         | $6,260              | $2,087                   |
| M-1280 | x86-64       | 16   | 128 GiB | 3840 GiB         | $6,383              | $2,128                   |
| M-1280 | x86-64       | 16   | 128 GiB | 3840 GiB         | $6,600              | $2,200                   |
| M-1920 | x86-64       | 24   | 192 GiB | 15360 GiB        | $12,407             | $4,136                   |
| M-1920 | x86-64       | 24   | 192 GiB | 15360 GiB        | $12,740             | $4,247                   |
| M-2560 | arm64        | 32   | 256 GiB | 1945.6 GiB       | $9,570              | $3,190                   |
| M-2560 | x86-64       | 32   | 256 GiB | 1945.6 GiB       | $10,613             | $3,538                   |
| M-2560 | arm64        | 32   | 256 GiB | 7680 GiB         | $12,460             | $4,154                   |
| M-2560 | x86-64       | 32   | 256 GiB | 7680 GiB         | $12,731             | $4,244                   |
| M-2560 | x86-64       | 32   | 256 GiB | 7680 GiB         | $13,140             | $4,380                   |
| M-3840 | arm64        | 48   | 384 GiB | 2918.4 GiB       | $14,330             | $4,777                   |
| M-3840 | x86-64       | 48   | 384 GiB | 2918.4 GiB       | $15,903             | $5,301                   |
| M-3840 | arm64        | 48   | 384 GiB | 11520 GiB        | $18,660             | $6,220                   |
| M-3840 | x86-64       | 48   | 384 GiB | 11520 GiB        | $19,079             | $6,360                   |
| M-3840 | x86-64       | 48   | 384 GiB | 11520 GiB        | $19,680             | $6,560                   |
| M-3840 | x86-64       | 48   | 384 GiB | 30720 GiB        | $24,779             | $8,260                   |
| M-3840 | x86-64       | 48   | 384 GiB | 30720 GiB        | $25,420             | $8,474                   |
| M-5120 | arm64        | 64   | 512 GiB | 3891.2 GiB       | $19,090             | $6,364                   |
| M-5120 | x86-64       | 64   | 512 GiB | 3891.2 GiB       | $21,205             | $7,069                   |
| M-5120 | arm64        | 64   | 512 GiB | 15360 GiB        | $24,860             | $8,287                   |
| M-5120 | x86-64       | 64   | 512 GiB | 15360 GiB        | $25,415             | $8,472                   |
| M-5120 | x86-64       | 64   | 512 GiB | 15360 GiB        | $26,220             | $8,740                   |
| M-5760 | x86-64       | 72   | 576 GiB | 46080 GiB        | $38,110             | $12,704                  |
| M-7680 | arm64        | 96   | 768 GiB | 5836.8 GiB       | $28,600             | $9,534                   |
| M-7680 | arm64        | 96   | 768 GiB | 23040 GiB        | $37,250             | $12,417                  |
| M-7680 | x86-64       | 96   | 768 GiB | 23040 GiB        | $39,300             | $13,100                  |
| M-7680 | x86-64       | 96   | 768 GiB | 61440 GiB        | $50,790             | $16,930                  |

### Neki routers

| SKU     | vCPU | Memory    | Monthly price (USD) |
| ------- | ---- | --------- | ------------------- |
| NKR-0   | 1/32 | 115 MiB   | $7                  |
| NKR-1   | 1/16 | 128 MiB   | $14                 |
| NKR-2   | 1/8  | 256 MiB   | $28                 |
| NKR-5   | 1/4  | 512 MiB   | $60                 |
| NKR-10  | 1/2  | 1 GiB     | $110                |
| NKR-20  | 1    | 2 GiB     | $220                |
| NKR-80  | 3    | 4.8 GiB   | $880                |
| NKR-160 | 7    | 9.69 GiB  | $1,720              |
| NKR-320 | 14   | 19.38 GiB | $3,400              |
| NKR-640 | 27   | 38.75 GiB | $6,770              |


## Postgres SKUs

### Postgres EBS HA (3-node: 1 primary + 2 replicas)

| SKU     | Architecture | vCPU | Memory  | Monthly price (USD) |
| ------- | ------------ | ---- | ------- | ------------------- |
| PS-5    | x86-64       | 1/16 | 512 MiB | $15                 |
| PS-5    | arm64        | 1/16 | 512 MiB | $15                 |
| PS-10   | arm64        | 1/8  | 1 GiB   | $41                 |
| PS-10   | x86-64       | 1/8  | 1 GiB   | $47                 |
| PS-20   | arm64        | 1/4  | 2 GiB   | $60                 |
| PS-20   | x86-64       | 1/4  | 2 GiB   | $71                 |
| PS-40   | arm64        | 1/2  | 4 GiB   | $99                 |
| PS-40   | x86-64       | 1/2  | 4 GiB   | $119                |
| PS-80   | arm64        | 1    | 8 GiB   | $177                |
| PS-80   | x86-64       | 1    | 8 GiB   | $215                |
| PS-160  | arm64        | 2    | 16 GiB  | $343                |
| PS-160  | x86-64       | 2    | 16 GiB  | $419                |
| PS-320  | arm64        | 4    | 32 GiB  | $684                |
| PS-320  | x86-64       | 4    | 32 GiB  | $839                |
| PS-640  | arm64        | 8    | 64 GiB  | $1,362              |
| PS-640  | x86-64       | 8    | 64 GiB  | $1,679              |
| PS-1280 | arm64        | 16   | 128 GiB | $2,721              |
| PS-1280 | x86-64       | 16   | 128 GiB | $3,359              |
| PS-2560 | arm64        | 32   | 256 GiB | $5,435              |
| PS-2560 | x86-64       | 32   | 256 GiB | $6,719              |

### Postgres EBS non-HA (single node)

| SKU     | Architecture | vCPU | Memory  | Monthly price (USD) |
| ------- | ------------ | ---- | ------- | ------------------- |
| PS-5    | x86-64       | 1/16 | 512 MiB | $5                  |
| PS-5    | arm64        | 1/16 | 512 MiB | $5                  |
| PS-10   | arm64        | 1/8  | 1 GiB   | $14                 |
| PS-10   | x86-64       | 1/8  | 1 GiB   | $16                 |
| PS-20   | arm64        | 1/4  | 2 GiB   | $20                 |
| PS-20   | x86-64       | 1/4  | 2 GiB   | $24                 |
| PS-40   | arm64        | 1/2  | 4 GiB   | $33                 |
| PS-40   | x86-64       | 1/2  | 4 GiB   | $40                 |
| PS-80   | arm64        | 1    | 8 GiB   | $59                 |
| PS-80   | x86-64       | 1    | 8 GiB   | $72                 |
| PS-160  | arm64        | 2    | 16 GiB  | $115                |
| PS-160  | x86-64       | 2    | 16 GiB  | $140                |
| PS-320  | arm64        | 4    | 32 GiB  | $228                |
| PS-320  | x86-64       | 4    | 32 GiB  | $280                |
| PS-640  | arm64        | 8    | 64 GiB  | $454                |
| PS-640  | x86-64       | 8    | 64 GiB  | $560                |
| PS-1280 | arm64        | 16   | 128 GiB | $907                |
| PS-1280 | x86-64       | 16   | 128 GiB | $1,120              |
| PS-2560 | arm64        | 32   | 256 GiB | $1,812              |
| PS-2560 | x86-64       | 32   | 256 GiB | $2,240              |

### Postgres metal (3-node: 1 primary + 2 replicas)

| SKU    | Architecture | vCPU | Memory  | Included storage | Monthly price (USD) |
| ------ | ------------ | ---- | ------- | ---------------- | ------------------- |
| M-10   | arm64        | 1/8  | 1 GiB   | 10 GiB           | $70                 |
| M-10   | x86-64       | 1/8  | 1 GiB   | 10 GiB           | $80                 |
| M-10   | arm64        | 1/8  | 1 GiB   | 25 GiB           | $80                 |
| M-10   | x86-64       | 1/8  | 1 GiB   | 25 GiB           | $90                 |
| M-10   | arm64        | 1/8  | 1 GiB   | 50 GiB           | $100                |
| M-10   | x86-64       | 1/8  | 1 GiB   | 50 GiB           | $110                |
| M-10   | arm64        | 1/8  | 1 GiB   | 100 GiB          | $140                |
| M-10   | x86-64       | 1/8  | 1 GiB   | 100 GiB          | $150                |
| M-10   | arm64        | 1/8  | 1 GiB   | 200 GiB          | $220                |
| M-10   | x86-64       | 1/8  | 1 GiB   | 200 GiB          | $230                |
| M-20   | arm64        | 1/4  | 2 GiB   | 10 GiB           | $110                |
| M-20   | x86-64       | 1/4  | 2 GiB   | 10 GiB           | $120                |
| M-20   | arm64        | 1/4  | 2 GiB   | 25 GiB           | $120                |
| M-20   | x86-64       | 1/4  | 2 GiB   | 25 GiB           | $130                |
| M-20   | arm64        | 1/4  | 2 GiB   | 50 GiB           | $140                |
| M-20   | x86-64       | 1/4  | 2 GiB   | 50 GiB           | $150                |
| M-20   | arm64        | 1/4  | 2 GiB   | 100 GiB          | $180                |
| M-20   | x86-64       | 1/4  | 2 GiB   | 100 GiB          | $190                |
| M-20   | arm64        | 1/4  | 2 GiB   | 200 GiB          | $260                |
| M-20   | x86-64       | 1/4  | 2 GiB   | 200 GiB          | $270                |
| M-40   | arm64        | 1/2  | 4 GiB   | 10 GiB           | $170                |
| M-40   | x86-64       | 1/2  | 4 GiB   | 10 GiB           | $180                |
| M-40   | arm64        | 1/2  | 4 GiB   | 25 GiB           | $180                |
| M-40   | x86-64       | 1/2  | 4 GiB   | 25 GiB           | $190                |
| M-40   | arm64        | 1/2  | 4 GiB   | 50 GiB           | $200                |
| M-40   | x86-64       | 1/2  | 4 GiB   | 50 GiB           | $210                |
| M-40   | arm64        | 1/2  | 4 GiB   | 100 GiB          | $260                |
| M-40   | x86-64       | 1/2  | 4 GiB   | 100 GiB          | $270                |
| M-40   | arm64        | 1/2  | 4 GiB   | 200 GiB          | $320                |
| M-40   | x86-64       | 1/2  | 4 GiB   | 200 GiB          | $330                |
| M-40   | arm64        | 1/2  | 4 GiB   | 400 GiB          | $400                |
| M-40   | x86-64       | 1/2  | 4 GiB   | 400 GiB          | $410                |
| M-40   | arm64        | 1/2  | 4 GiB   | 800 GiB          | $560                |
| M-40   | x86-64       | 1/2  | 4 GiB   | 800 GiB          | $570                |
| M-40   | arm64        | 1/2  | 4 GiB   | 1228.8 GiB       | $720                |
| M-40   | x86-64       | 1/2  | 4 GiB   | 1228.8 GiB       | $730                |
| M-80   | arm64        | 1    | 8 GiB   | 100 GiB          | $370                |
| M-80   | x86-64       | 1    | 8 GiB   | 100 GiB          | $380                |
| M-80   | arm64        | 1    | 8 GiB   | 200 GiB          | $500                |
| M-80   | x86-64       | 1    | 8 GiB   | 200 GiB          | $510                |
| M-80   | arm64        | 1    | 8 GiB   | 400 GiB          | $650                |
| M-80   | x86-64       | 1    | 8 GiB   | 400 GiB          | $660                |
| M-80   | arm64        | 1    | 8 GiB   | 800 GiB          | $770                |
| M-80   | x86-64       | 1    | 8 GiB   | 800 GiB          | $780                |
| M-80   | arm64        | 1    | 8 GiB   | 1228.8 GiB       | $850                |
| M-80   | x86-64       | 1    | 8 GiB   | 1228.8 GiB       | $860                |
| M-160  | arm64        | 2    | 16 GiB  | 118 GiB          | $650                |
| M-160  | x86-64       | 2    | 16 GiB  | 118 GiB          | $700                |
| M-160  | arm64        | 2    | 16 GiB  | 100 GiB          | $710                |
| M-160  | x86-64       | 2    | 16 GiB  | 100 GiB          | $720                |
| M-160  | arm64        | 2    | 16 GiB  | 200 GiB          | $740                |
| M-160  | x86-64       | 2    | 16 GiB  | 200 GiB          | $750                |
| M-160  | arm64        | 2    | 16 GiB  | 400 GiB          | $790                |
| M-160  | x86-64       | 2    | 16 GiB  | 400 GiB          | $800                |
| M-160  | x86-64       | 2    | 16 GiB  | 468 GiB          | $827                |
| M-160  | arm64        | 2    | 16 GiB  | 468 GiB          | $830                |
| M-160  | arm64        | 2    | 16 GiB  | 800 GiB          | $950                |
| M-160  | x86-64       | 2    | 16 GiB  | 800 GiB          | $960                |
| M-160  | x86-64       | 2    | 16 GiB  | 1280 GiB         | $1,067              |
| M-160  | arm64        | 2    | 16 GiB  | 1280 GiB         | $1,070              |
| M-160  | arm64        | 2    | 16 GiB  | 1228.8 GiB       | $1,170              |
| M-160  | x86-64       | 2    | 16 GiB  | 1228.8 GiB       | $1,180              |
| M-320  | arm64        | 4    | 32 GiB  | 237 GiB          | $1,250              |
| M-320  | x86-64       | 4    | 32 GiB  | 237 GiB          | $1,356              |
| M-320  | arm64        | 4    | 32 GiB  | 937 GiB          | $1,610              |
| M-320  | x86-64       | 4    | 32 GiB  | 937 GiB          | $1,619              |
| M-320  | arm64        | 4    | 32 GiB  | 2560 GiB         | $2,080              |
| M-320  | x86-64       | 4    | 32 GiB  | 2560 GiB         | $2,099              |
| M-640  | arm64        | 8    | 64 GiB  | 474 GiB          | $2,440              |
| M-640  | x86-64       | 8    | 64 GiB  | 474 GiB          | $2,678              |
| M-640  | arm64        | 8    | 64 GiB  | 1875 GiB         | $3,160              |
| M-640  | x86-64       | 8    | 64 GiB  | 1875 GiB         | $3,215              |
| M-640  | arm64        | 8    | 64 GiB  | 5120 GiB         | $4,100              |
| M-640  | x86-64       | 8    | 64 GiB  | 5120 GiB         | $4,163              |
| M-960  | arm64        | 12   | 96 GiB  | 7680 GiB         | $6,120              |
| M-960  | x86-64       | 12   | 96 GiB  | 7680 GiB         | $6,227              |
| M-1280 | arm64        | 16   | 128 GiB | 950 GiB          | $4,810              |
| M-1280 | x86-64       | 16   | 128 GiB | 950 GiB          | $5,323              |
| M-1280 | arm64        | 16   | 128 GiB | 3840 GiB         | $6,260              |
| M-1280 | x86-64       | 16   | 128 GiB | 3840 GiB         | $6,383              |
| M-1920 | arm64        | 24   | 192 GiB | 15360 GiB        | $12,180             |
| M-1920 | x86-64       | 24   | 192 GiB | 15360 GiB        | $12,407             |
| M-2560 | arm64        | 32   | 256 GiB | 1945.6 GiB       | $9,570              |
| M-2560 | x86-64       | 32   | 256 GiB | 1945.6 GiB       | $10,613             |
| M-2560 | arm64        | 32   | 256 GiB | 7680 GiB         | $12,460             |
| M-2560 | x86-64       | 32   | 256 GiB | 7680 GiB         | $12,731             |
| M-3840 | arm64        | 48   | 384 GiB | 2918.4 GiB       | $14,330             |
| M-3840 | x86-64       | 48   | 384 GiB | 2918.4 GiB       | $15,903             |
| M-3840 | arm64        | 48   | 384 GiB | 11520 GiB        | $18,660             |
| M-3840 | x86-64       | 48   | 384 GiB | 11520 GiB        | $19,079             |
| M-3840 | arm64        | 48   | 384 GiB | 30720 GiB        | $24,300             |
| M-3840 | x86-64       | 48   | 384 GiB | 30720 GiB        | $24,779             |
| M-5120 | arm64        | 64   | 512 GiB | 3891.2 GiB       | $19,090             |
| M-5120 | x86-64       | 64   | 512 GiB | 3891.2 GiB       | $21,205             |
| M-5120 | arm64        | 64   | 512 GiB | 15360 GiB        | $24,860             |
| M-5120 | x86-64       | 64   | 512 GiB | 15360 GiB        | $25,415             |
| M-5760 | arm64        | 72   | 576 GiB | 46080 GiB        | $36,420             |
| M-7680 | arm64        | 96   | 768 GiB | 5836.8 GiB       | $28,600             |
| M-7680 | arm64        | 96   | 768 GiB | 23040 GiB        | $37,250             |
| M-7680 | arm64        | 96   | 768 GiB | 61440 GiB        | $48,540             |

## Vitess SKUs

### Vitess non-metal (3-node: 1 primary + 2 replicas)

| SKU     | Architecture | vCPU | Memory  | Monthly price (USD) |
| ------- | ------------ | ---- | ------- | ------------------- |
| PS-10   | x86-64       | 1/8  | 1 GiB   | $47                 |
| PS-20   | x86-64       | 1/4  | 2 GiB   | $71                 |
| PS-40   | x86-64       | 1/2  | 4 GiB   | $119                |
| PS-80   | x86-64       | 1    | 8 GiB   | $215                |
| PS-160  | x86-64       | 2    | 16 GiB  | $419                |
| PS-320  | x86-64       | 4    | 32 GiB  | $839                |
| PS-400  | x86-64       | 8    | 32 GiB  | $1,199              |
| PS-640  | x86-64       | 8    | 64 GiB  | $1,679              |
| PS-700  | x86-64       | 16   | 32 GiB  | $2,159              |
| PS-900  | x86-64       | 16   | 64 GiB  | $2,399              |
| PS-1280 | x86-64       | 16   | 128 GiB | $3,359              |
| PS-1400 | x86-64       | 32   | 64 GiB  | $4,319              |
| PS-1800 | x86-64       | 32   | 128 GiB | $4,799              |
| PS-2560 | x86-64       | 32   | 256 GiB | $6,719              |
| PS-2100 | x86-64       | 48   | 96 GiB  | $6,479              |
| PS-2700 | x86-64       | 48   | 192 GiB | $7,199              |
| PS-2800 | x86-64       | 64   | 128 GiB | $8,639              |

### Vitess metal (3-node: 1 primary + 2 replicas)

| SKU    | Architecture | vCPU | Memory  | Included storage | Monthly price (USD) |
| ------ | ------------ | ---- | ------- | ---------------- | ------------------- |
| M-160  | x86-64       | 2    | 16 GiB  | 110 GiB          | $699                |
| M-160  | x86-64       | 2    | 16 GiB  | 460 GiB          | $829                |
| M-160  | x86-64       | 2    | 16 GiB  | 1241 GiB         | $1,069              |
| M-320  | x86-64       | 4    | 32 GiB  | 229 GiB          | $1,399              |
| M-320  | x86-64       | 4    | 32 GiB  | 929 GiB          | $1,639              |
| M-320  | x86-64       | 4    | 32 GiB  | 2490 GiB         | $2,129              |
| M-400  | x86-64       | 8    | 32 GiB  | 466 GiB          | $2,399              |
| M-640  | x86-64       | 8    | 64 GiB  | 466 GiB          | $2,789              |
| M-640  | x86-64       | 8    | 64 GiB  | 1866 GiB         | $3,269              |
| M-640  | x86-64       | 8    | 64 GiB  | 4992 GiB         | $4,259              |
| M-960  | x86-64       | 12   | 96 GiB  | 7485 GiB         | $6,569              |
| M-900  | x86-64       | 16   | 64 GiB  | 942 GiB          | $4,389              |
| M-1280 | x86-64       | 16   | 128 GiB | 942 GiB          | $5,559              |
| M-1280 | x86-64       | 16   | 128 GiB | 3739 GiB         | $6,539              |
| M-1920 | x86-64       | 24   | 192 GiB | 14992 GiB        | $13,119             |
| M-2560 | x86-64       | 32   | 256 GiB | 1891 GiB         | $11,109             |
| M-2560 | x86-64       | 32   | 256 GiB | 7492 GiB         | $13,059             |
| M-3840 | x86-64       | 48   | 384 GiB | 2842 GiB         | $18,349             |
| M-3840 | x86-64       | 48   | 384 GiB | 11242 GiB        | $20,369             |
| M-5120 | x86-64       | 64   | 512 GiB | 3792 GiB         | $23,409             |
| M-5120 | x86-64       | 64   | 512 GiB | 14992 GiB        | $26,099             |

## Region-specific requests

By default, this endpoint returns pricing for `us-east` (AWS us-east-1).

To fetch pricing for another region, add the `region` query parameter:

`https://planetscale.com/pricing.md?region={region_identifier}`

Example:

`https://planetscale.com/pricing.md?region=eu-west`

The `region` value must match one of the supported identifiers below.

| Region identifier           | Region                      |
| --------------------------- | --------------------------- |
| ap-northeast                | AWS ap-northeast-1          |
| ap-south                    | AWS ap-south-1              |
| ap-southeast                | AWS ap-southeast-1          |
| aws-ap-southeast-2          | AWS ap-southeast-2          |
| aws-ca-central-1            | AWS ca-central-1            |
| eu-central                  | AWS eu-central-1            |
| eu-west                     | AWS eu-west-1               |
| aws-eu-west-2               | AWS eu-west-2               |
| aws-sa-east-1               | AWS sa-east-1               |
| us-east                     | AWS us-east-1               |
| aws-us-east-2               | AWS us-east-2               |
| us-west                     | AWS us-west-2               |
| azure-centralus             | Azure centralus             |
| azure-eastus2               | Azure eastus2               |
| azure-westeurope            | Azure westeurope            |
| gcp-asia-northeast3         | GCP asia-northeast3         |
| gcp-europe-west1            | GCP europe-west1            |
| gcp-europe-west4            | GCP europe-west4            |
| gcp-northamerica-northeast1 | GCP northamerica-northeast1 |
| gcp-us-central1             | GCP us-central1             |
| gcp-us-east1                | GCP us-east1                |
| gcp-us-east4                | GCP us-east4                |

## Query live prices from Postgres

You and your agent can query our pricing data using SQL. Connection details
are also on the [pricing page](/pricing#pricing-database).

The tables above are a snapshot for one region. The same catalog is a public,
read-only Postgres database. Use it when you need another region, a comparison
across clouds, or a calculated total for a topology.

The SQL catalog currently contains Postgres and Vitess cluster prices. Neki
SKU rates are in the tables above, not in this database.

### Connection

Role: `SELECT` only on `public.planetscale_prices`. SSL is required.

URI:

```
postgresql://pscale_api_hhdcchpiodja.dzken160d27q:pscale_pw_wa09rWwuQZQEWGS2eL0v7BlSGriZ6xgv@aws-us-east-1-3.pg.psdb.cloud:6432/postgres?sslmode=verify-full&sslrootcert=system
```

libpq:

```
host=aws-us-east-1-3.pg.psdb.cloud
port=6432
user=pscale_api_hhdcchpiodja.dzken160d27q
password=pscale_pw_bicEnt36PGCbgi8ZKnteKpRMCkARcoDy
dbname=postgres
sslmode=verify-full
sslrootcert=system
```

If your client rejects `sslrootcert=system`, point `sslrootcert` at the OS CA
bundle (on macOS, `/etc/ssl/cert.pem`).

This role cannot insert, update, delete, create objects, or read any other
table. Traffic Control is enforced on this user. Oversized or abusive queries
fail with SQLSTATE `53000` and a `[PGINSIGHTS] Traffic Control:` message.
Keep statements simple. Filter in `WHERE`. Do not run cartesian joins or
unbounded exploratory scans.

### How to read a row

Each row is one **priced cluster**, not one VM.

| Column                                   | Meaning                                                                                                                                                                 |
| ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `product`                                | `Postgres` or `Vitess`                                                                                                                                                  |
| `machine_sku`                            | Cluster size. `PS-*` is network-attached disk. `M-*` is metal (local NVMe). AWS ARM sizes end in `-ARM` (example: `PS-160-ARM`). GCP `PS-*` rows have no `-ARM` suffix. |
| `disk_sku`                               | Empty string for `PS-*`. `D-METAL-*` for metal included NVMe.                                                                                                           |
| `replication_factor`                     | `1` = single node. `3` = HA (primary + 2 replicas).                                                                                                                     |
| `provider`                               | `AWS` or `GCP`                                                                                                                                                          |
| `region`                                 | Cloud region id, e.g. `us-east-1`, `eu-west-1`, `us-east4`                                                                                                              |
| `price`                                  | Monthly cluster price in whole USD                                                                                                                                      |
| `db_slice_vcpus`, `db_slice_ram_mib`     | Customer-facing CPU and RAM for the SKU                                                                                                                                 |
| `db_instance_*`                          | Host instance the slice runs on                                                                                                                                         |
| `nas_volume_size_gib`, `nas_volume_type` | Included network volume for `PS-*` (starting size, usually `gp3`)                                                                                                       |
| `local_partition_size_bytes`             | Included metal disk when present                                                                                                                                        |
| `network_transfer_gb`                    | Included egress in the SKU, in GB                                                                                                                                       |
| `availability_zones`                     | JSON array of provider AZ ids                                                                                                                                           |
| `natural_sku_order`                      | Stable sort key from small to large                                                                                                                                     |

`price` is the cluster SKU only. It does not include extra EBS beyond the
included volume, extra backups, extra egress, dedicated PgBouncer, or extra
replicas beyond `replication_factor`.

Not every SKU exists in every region. São Paulo (`sa-east-1`) has metal
Postgres rows and no `PS-*` Postgres rows. If a lookup returns zero rows, the
configuration is not sold there. Do not invent a price.

Vitess in this catalog is mostly x86 `PS-*` / `M-*`. There is no
`PS-160-ARM` Vitess row.

### Pricing with SQL

Look up one cluster:

```sql
SELECT machine_sku, replication_factor, price
FROM planetscale_prices
WHERE product = 'Postgres'
  AND machine_sku = 'PS-160-ARM'
  AND provider = 'AWS'
  AND region = 'us-east-1'
  AND disk_sku = ''
  AND replication_factor = 3;
```

That is a 3-node HA Postgres PS-160 on ARM in Virginia. Expect `286`.

HA vs single node:

```sql
SELECT replication_factor, price
FROM planetscale_prices
WHERE product = 'Postgres'
  AND machine_sku = 'PS-160-ARM'
  AND provider = 'AWS'
  AND region = 'us-east-1'
  AND disk_sku = ''
ORDER BY replication_factor;
```

ARM vs x86 in the same region:

```sql
SELECT machine_sku, db_instance_architecture, price
FROM planetscale_prices
WHERE product = 'Postgres'
  AND machine_sku IN ('PS-160', 'PS-160-ARM')
  AND provider = 'AWS'
  AND region = 'us-east-1'
  AND disk_sku = ''
  AND replication_factor = 3;
```

Multi-region total: sum independent clusters. A “US + EU” topology is two
rows, not one:

```sql
SELECT region, price
FROM planetscale_prices
WHERE product = 'Postgres'
  AND machine_sku = 'PS-160-ARM'
  AND provider = 'AWS'
  AND region IN ('us-east-1', 'eu-west-1')
  AND disk_sku = ''
  AND replication_factor = 3;

SELECT SUM(price) AS monthly_usd
FROM planetscale_prices
WHERE product = 'Postgres'
  AND machine_sku = 'PS-160-ARM'
  AND provider = 'AWS'
  AND region IN ('us-east-1', 'eu-west-1')
  AND disk_sku = ''
  AND replication_factor = 3;
```

Metal: pick both machine and disk:

```sql
SELECT machine_sku, disk_sku, price
FROM planetscale_prices
WHERE product = 'Postgres'
  AND machine_sku = 'M-160-ARM'
  AND disk_sku = 'D-METAL-200'
  AND provider = 'AWS'
  AND region = 'us-east-1'
  AND replication_factor = 3;
```

Cheapest HA Postgres that meets a CPU/RAM floor:

```sql
SELECT machine_sku, db_slice_vcpus, db_slice_ram_mib, price
FROM planetscale_prices
WHERE product = 'Postgres'
  AND provider = 'AWS'
  AND region = 'us-east-1'
  AND replication_factor = 3
  AND disk_sku = ''
  AND db_slice_vcpus >= 2
  AND db_slice_ram_mib >= 16384
ORDER BY price, natural_sku_order
LIMIT 5;
```

List regions that sell a SKU:

```sql
SELECT provider, region, price
FROM planetscale_prices
WHERE product = 'Postgres'
  AND machine_sku = 'PS-160-ARM'
  AND disk_sku = ''
  AND replication_factor = 3
ORDER BY price, provider, region;
```

### Agent rules

1. Connect with the URI above. Run `SELECT` only.
2. Price from `planetscale_prices.price`. Do not hardcode SKU prices from
   memory if they disagree with a query.
3. Specify `product`, `provider`, `region`, `machine_sku`,
   `replication_factor`, and `disk_sku` (`''` for `PS-*`).
4. One row = one cluster. Multi-region or primary + DR = `SUM(price)` over
   those rows.
5. If the query returns no rows, say the SKU is unavailable in that region.
   Suggest the closest row that does exist.
6. Say what is **not** in `price` (extra storage, backups, egress above the
   included GB, dedicated PgBouncer).
7. Prefer ARM (`%-ARM`) on AWS when the user did not ask for x86.
8. Add `LIMIT` while exploring. The table is small (~2,450 rows); still
   filter. If you get SQLSTATE `53000`, simplify the query and retry.
