# PlanetScale pricing

Prices on this page based on AWS ap-northeast-1 (Tokyo)
Actual prices vary by cloud provider and region.

Generated at: `2026-11-05T18:39:21.093Z`

## 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 | $15,630             | $5,210                   |
| PS-3840 | x86-64       | 48   | 384 GiB | $15,630             | $5,210                   |
| PS-5120 | arm64        | 64   | 512 GiB | $20,820             | $6,940                   |
| PS-5120 | x86-64       | 64   | 512 GiB | $20,820             | $6,940                   |

### 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          | $160                | $54                      |
| M-10   | x86-64       | 1/8  | 1 GiB   | 200 GiB          | $160                | $54                      |
| 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          | $190                | $64                      |
| M-20   | x86-64       | 1/4  | 2 GiB   | 200 GiB          | $190                | $64                      |
| 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   | x86-64       | 1/2  | 4 GiB   | 25 GiB           | $150                | $50                      |
| M-40   | arm64        | 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          | $250                | $84                      |
| M-40   | x86-64       | 1/2  | 4 GiB   | 200 GiB          | $250                | $84                      |
| M-40   | arm64        | 1/2  | 4 GiB   | 400 GiB          | $350                | $117                     |
| M-40   | x86-64       | 1/2  | 4 GiB   | 400 GiB          | $370                | $124                     |
| M-40   | arm64        | 1/2  | 4 GiB   | 800 GiB          | $560                | $187                     |
| M-40   | x86-64       | 1/2  | 4 GiB   | 800 GiB          | $590                | $197                     |
| M-40   | arm64        | 1/2  | 4 GiB   | 1228.8 GiB       | $770                | $257                     |
| M-40   | x86-64       | 1/2  | 4 GiB   | 1228.8 GiB       | $820                | $274                     |
| M-80   | x86-64       | 1    | 8 GiB   | 100 GiB          | $310                | $104                     |
| M-80   | arm64        | 1    | 8 GiB   | 100 GiB          | $320                | $107                     |
| M-80   | arm64        | 1    | 8 GiB   | 200 GiB          | $370                | $124                     |
| M-80   | x86-64       | 1    | 8 GiB   | 200 GiB          | $370                | $124                     |
| M-80   | arm64        | 1    | 8 GiB   | 400 GiB          | $480                | $160                     |
| M-80   | x86-64       | 1    | 8 GiB   | 400 GiB          | $480                | $160                     |
| M-80   | arm64        | 1    | 8 GiB   | 800 GiB          | $690                | $230                     |
| M-80   | x86-64       | 1    | 8 GiB   | 800 GiB          | $710                | $237                     |
| M-80   | arm64        | 1    | 8 GiB   | 1228.8 GiB       | $900                | $300                     |
| M-80   | x86-64       | 1    | 8 GiB   | 1228.8 GiB       | $930                | $310                     |
| 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          | $600                | $200                     |
| M-160  | arm64        | 2    | 16 GiB  | 200 GiB          | $610                | $204                     |
| M-160  | arm64        | 2    | 16 GiB  | 118 GiB          | $690                | $230                     |
| M-160  | arm64        | 2    | 16 GiB  | 400 GiB          | $720                | $240                     |
| M-160  | x86-64       | 2    | 16 GiB  | 400 GiB          | $720                | $240                     |
| M-160  | x86-64       | 2    | 16 GiB  | 118 GiB          | $737                | $246                     |
| M-160  | x86-64       | 2    | 16 GiB  | 468 GiB          | $806                | $269                     |
| M-160  | arm64        | 2    | 16 GiB  | 468 GiB          | $810                | $270                     |
| M-160  | x86-64       | 2    | 16 GiB  | 468 GiB          | $850                | $284                     |
| M-160  | arm64        | 2    | 16 GiB  | 800 GiB          | $930                | $310                     |
| M-160  | x86-64       | 2    | 16 GiB  | 800 GiB          | $940                | $314                     |
| M-160  | x86-64       | 2    | 16 GiB  | 1280 GiB         | $960                | $320                     |
| M-160  | arm64        | 2    | 16 GiB  | 1228.8 GiB       | $1,140              | $380                     |
| M-160  | x86-64       | 2    | 16 GiB  | 1228.8 GiB       | $1,170              | $390                     |
| M-160  | x86-64       | 2    | 16 GiB  | 1280 GiB         | $1,188              | $396                     |
| M-320  | arm64        | 4    | 32 GiB  | 237 GiB          | $1,320              | $440                     |
| M-320  | x86-64       | 4    | 32 GiB  | 237 GiB          | $1,427              | $476                     |
| M-320  | arm64        | 4    | 32 GiB  | 937 GiB          | $1,560              | $520                     |
| M-320  | x86-64       | 4    | 32 GiB  | 937 GiB          | $1,578              | $526                     |
| M-320  | x86-64       | 4    | 32 GiB  | 937 GiB          | $1,640              | $547                     |
| M-320  | x86-64       | 4    | 32 GiB  | 2560 GiB         | $1,860              | $620                     |
| M-320  | x86-64       | 4    | 32 GiB  | 2560 GiB         | $2,353              | $785                     |
| M-640  | arm64        | 8    | 64 GiB  | 474 GiB          | $2,580              | $860                     |
| M-640  | x86-64       | 8    | 64 GiB  | 474 GiB          | $2,818              | $940                     |
| M-640  | arm64        | 8    | 64 GiB  | 1875 GiB         | $3,070              | $1,024                   |
| M-640  | x86-64       | 8    | 64 GiB  | 1875 GiB         | $3,134              | $1,045                   |
| M-640  | x86-64       | 8    | 64 GiB  | 1875 GiB         | $3,240              | $1,080                   |
| M-640  | x86-64       | 8    | 64 GiB  | 5120 GiB         | $3,670              | $1,224                   |
| M-640  | x86-64       | 8    | 64 GiB  | 5120 GiB         | $4,659              | $1,553                   |
| M-960  | x86-64       | 12   | 96 GiB  | 7680 GiB         | $5,480              | $1,827                   |
| M-960  | x86-64       | 12   | 96 GiB  | 7680 GiB         | $6,955              | $2,319                   |
| M-1280 | arm64        | 16   | 128 GiB | 950 GiB          | $5,110              | $1,704                   |
| M-1280 | x86-64       | 16   | 128 GiB | 950 GiB          | $5,601              | $1,867                   |
| M-1280 | arm64        | 16   | 128 GiB | 3840 GiB         | $6,090              | $2,030                   |
| M-1280 | x86-64       | 16   | 128 GiB | 3840 GiB         | $6,223              | $2,075                   |
| M-1280 | x86-64       | 16   | 128 GiB | 3840 GiB         | $6,420              | $2,140                   |
| M-1920 | x86-64       | 24   | 192 GiB | 15360 GiB        | $10,900             | $3,634                   |
| M-1920 | x86-64       | 24   | 192 GiB | 15360 GiB        | $13,876             | $4,626                   |
| M-2560 | arm64        | 32   | 256 GiB | 1945.6 GiB       | $10,170             | $3,390                   |
| M-2560 | x86-64       | 32   | 256 GiB | 1945.6 GiB       | $11,167             | $3,723                   |
| M-2560 | arm64        | 32   | 256 GiB | 7680 GiB         | $12,130             | $4,044                   |
| M-2560 | x86-64       | 32   | 256 GiB | 7680 GiB         | $12,413             | $4,138                   |
| M-2560 | x86-64       | 32   | 256 GiB | 7680 GiB         | $12,780             | $4,260                   |
| M-3840 | arm64        | 48   | 384 GiB | 2918.4 GiB       | $15,230             | $5,077                   |
| M-3840 | x86-64       | 48   | 384 GiB | 2918.4 GiB       | $16,733             | $5,578                   |
| M-3840 | arm64        | 48   | 384 GiB | 11520 GiB        | $18,160             | $6,054                   |
| M-3840 | x86-64       | 48   | 384 GiB | 11520 GiB        | $18,602             | $6,201                   |
| M-3840 | x86-64       | 48   | 384 GiB | 11520 GiB        | $19,150             | $6,384                   |
| M-3840 | x86-64       | 48   | 384 GiB | 30720 GiB        | $21,750             | $7,250                   |
| M-3840 | x86-64       | 48   | 384 GiB | 30720 GiB        | $27,813             | $9,271                   |
| M-5120 | arm64        | 64   | 512 GiB | 3891.2 GiB       | $20,290             | $6,764                   |
| M-5120 | x86-64       | 64   | 512 GiB | 3891.2 GiB       | $22,311             | $7,437                   |
| M-5120 | arm64        | 64   | 512 GiB | 15360 GiB        | $24,200             | $8,067                   |
| M-5120 | x86-64       | 64   | 512 GiB | 15360 GiB        | $24,779             | $8,260                   |
| M-5120 | x86-64       | 64   | 512 GiB | 15360 GiB        | $25,510             | $8,504                   |
| M-5760 | x86-64       | 72   | 576 GiB | 46080 GiB        | $41,699             | $13,900                  |
| M-7680 | arm64        | 96   | 768 GiB | 5836.8 GiB       | $30,410             | $10,137                  |
| M-7680 | arm64        | 96   | 768 GiB | 23040 GiB        | $36,270             | $12,090                  |
| M-7680 | x86-64       | 96   | 768 GiB | 23040 GiB        | $38,240             | $12,747                  |
| M-7680 | x86-64       | 96   | 768 GiB | 61440 GiB        | $55,583             | $18,528                  |

### Neki routers

| SKU     | vCPU | Memory    | Monthly price (USD) |
| ------- | ---- | --------- | ------------------- |
| NKR-0   | 1/32 | 115 MiB   | $8                  |
| NKR-1   | 1/16 | 128 MiB   | $15                 |
| NKR-2   | 1/8  | 256 MiB   | $30                 |
| NKR-5   | 1/4  | 512 MiB   | $60                 |
| NKR-10  | 1/2  | 1 GiB     | $120                |
| NKR-20  | 1    | 2 GiB     | $240                |
| NKR-80  | 3    | 4.8 GiB   | $940                |
| NKR-160 | 7    | 9.69 GiB  | $1,850              |
| NKR-320 | 14   | 19.38 GiB | $3,670              |
| NKR-640 | 27   | 38.75 GiB | $7,310              |


## 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          | $690                |
| M-160  | arm64        | 2    | 16 GiB  | 100 GiB          | $710                |
| M-160  | x86-64       | 2    | 16 GiB  | 100 GiB          | $720                |
| M-160  | x86-64       | 2    | 16 GiB  | 118 GiB          | $737                |
| 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          | $806                |
| M-160  | arm64        | 2    | 16 GiB  | 468 GiB          | $810                |
| M-160  | arm64        | 2    | 16 GiB  | 800 GiB          | $950                |
| M-160  | x86-64       | 2    | 16 GiB  | 800 GiB          | $960                |
| M-160  | arm64        | 2    | 16 GiB  | 1280 GiB         | $1,040              |
| M-160  | arm64        | 2    | 16 GiB  | 1228.8 GiB       | $1,170              |
| M-160  | x86-64       | 2    | 16 GiB  | 1228.8 GiB       | $1,180              |
| M-160  | x86-64       | 2    | 16 GiB  | 1280 GiB         | $1,188              |
| M-320  | arm64        | 4    | 32 GiB  | 237 GiB          | $1,320              |
| M-320  | x86-64       | 4    | 32 GiB  | 237 GiB          | $1,427              |
| M-320  | arm64        | 4    | 32 GiB  | 937 GiB          | $1,560              |
| M-320  | x86-64       | 4    | 32 GiB  | 937 GiB          | $1,578              |
| M-320  | arm64        | 4    | 32 GiB  | 2560 GiB         | $2,030              |
| M-320  | x86-64       | 4    | 32 GiB  | 2560 GiB         | $2,353              |
| M-640  | arm64        | 8    | 64 GiB  | 474 GiB          | $2,580              |
| M-640  | x86-64       | 8    | 64 GiB  | 474 GiB          | $2,818              |
| M-640  | arm64        | 8    | 64 GiB  | 1875 GiB         | $3,070              |
| M-640  | x86-64       | 8    | 64 GiB  | 1875 GiB         | $3,134              |
| M-640  | arm64        | 8    | 64 GiB  | 5120 GiB         | $4,010              |
| M-640  | x86-64       | 8    | 64 GiB  | 5120 GiB         | $4,659              |
| M-960  | arm64        | 12   | 96 GiB  | 7680 GiB         | $5,980              |
| M-960  | x86-64       | 12   | 96 GiB  | 7680 GiB         | $6,955              |
| M-1280 | arm64        | 16   | 128 GiB | 950 GiB          | $5,110              |
| M-1280 | x86-64       | 16   | 128 GiB | 950 GiB          | $5,601              |
| M-1280 | arm64        | 16   | 128 GiB | 3840 GiB         | $6,090              |
| M-1280 | x86-64       | 16   | 128 GiB | 3840 GiB         | $6,223              |
| M-1920 | arm64        | 24   | 192 GiB | 15360 GiB        | $11,910             |
| M-1920 | x86-64       | 24   | 192 GiB | 15360 GiB        | $13,876             |
| M-2560 | arm64        | 32   | 256 GiB | 1945.6 GiB       | $10,170             |
| M-2560 | x86-64       | 32   | 256 GiB | 1945.6 GiB       | $11,167             |
| M-2560 | arm64        | 32   | 256 GiB | 7680 GiB         | $12,130             |
| M-2560 | x86-64       | 32   | 256 GiB | 7680 GiB         | $12,413             |
| M-3840 | arm64        | 48   | 384 GiB | 2918.4 GiB       | $15,230             |
| M-3840 | x86-64       | 48   | 384 GiB | 2918.4 GiB       | $16,733             |
| M-3840 | arm64        | 48   | 384 GiB | 11520 GiB        | $18,160             |
| M-3840 | x86-64       | 48   | 384 GiB | 11520 GiB        | $18,602             |
| M-3840 | arm64        | 48   | 384 GiB | 30720 GiB        | $23,770             |
| M-3840 | x86-64       | 48   | 384 GiB | 30720 GiB        | $27,813             |
| M-5120 | arm64        | 64   | 512 GiB | 3891.2 GiB       | $20,290             |
| M-5120 | x86-64       | 64   | 512 GiB | 3891.2 GiB       | $22,311             |
| M-5120 | arm64        | 64   | 512 GiB | 15360 GiB        | $24,200             |
| M-5120 | x86-64       | 64   | 512 GiB | 15360 GiB        | $24,779             |
| M-5760 | arm64        | 72   | 576 GiB | 46080 GiB        | $35,620             |
| M-5760 | x86-64       | 72   | 576 GiB | 46080 GiB        | $41,699             |
| M-7680 | arm64        | 96   | 768 GiB | 5836.8 GiB       | $30,410             |
| M-7680 | arm64        | 96   | 768 GiB | 23040 GiB        | $36,270             |
| M-7680 | arm64        | 96   | 768 GiB | 61440 GiB        | $47,480             |
| M-7680 | x86-64       | 96   | 768 GiB | 61440 GiB        | $55,583             |

## 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          | $739                |
| M-160  | x86-64       | 2    | 16 GiB  | 1241 GiB         | $1,189              |
| M-320  | x86-64       | 4    | 32 GiB  | 229 GiB          | $1,469              |
| M-320  | x86-64       | 4    | 32 GiB  | 2490 GiB         | $2,369              |
| M-400  | x86-64       | 8    | 32 GiB  | 466 GiB          | $2,359              |
| M-640  | x86-64       | 8    | 64 GiB  | 466 GiB          | $2,919              |
| M-640  | x86-64       | 8    | 64 GiB  | 4992 GiB         | $4,699              |
| M-960  | x86-64       | 12   | 96 GiB  | 7485 GiB         | $7,229              |
| M-900  | x86-64       | 16   | 64 GiB  | 942 GiB          | $4,289              |
| M-1280 | x86-64       | 16   | 128 GiB | 942 GiB          | $5,839              |
| M-1920 | x86-64       | 24   | 192 GiB | 14992 GiB        | $14,439             |
| M-2560 | x86-64       | 32   | 256 GiB | 1891 GiB         | $11,659             |
| M-3840 | x86-64       | 48   | 384 GiB | 2842 GiB         | $17,909             |
| M-5120 | x86-64       | 64   | 512 GiB | 3792 GiB         | $22,849             |

## 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.
