# What does one Space-hour cost on AWS when packed?

On one AWS c7g.2xlarge ($0.2900/machine-hour on demand) holding at least 25 idle Spaces of 1 vCPU and 512 MiB, a Space-hour cost at most $0.0116/Space-hour at list price (3 runs, 2026-10-25). The account plan's 25-session limit stopped the runs, not the machine.

- Page: https://cua.ai/benchmarks/cost-per-space-hour-aws
- Measured: 2026-10-25
- Raw data: https://cua.ai/benchmarks/cost-per-space-hour-aws.csv
- Helper script: https://cua.ai/benchmarks/cost-per-space-hour-aws/files/pack.py
- build cua CLI bundled in Cua Spaces 0.15.0 DMG (GitHub release cua-spaces-v0.15.0, published 2026-10-24T19:42Z), `cua --version` = cua 0.9.0; n = 3

## Results

Instance list price divided by the Spaces it held at once. Lower is better.

| Measure | Value |
| --- | --- |
| Upper bound | $0.0116/Space-hour |

## Method

Released cua 0.9.0 elastic pool. One pinned c7g.2xlarge (8 vCPU Graviton3, 16 GiB) host (`cua cloud hosts add`). Each run asks for 32 Spaces at once (16 concurrent `cua spaces create ghcr.io/trycua/linux:24.04-slim --on aws --instance-type c7g.2xlarge --cpus 1 --memory-mb 512`), runs `cua sb exec <ref> -- echo ok` in every created Space, counts the Spaces that answer on that one host, then deletes them all. n=3 runs. $/Space-hour = the instance's on-demand list price / Spaces held at once (AWS Price List API, c7g.2xlarge Linux on-demand us-west-2 $0.29/h, effective 2026-10-01).

## Environment

- Machine: Mac Studio (the client), Mac14,13
- Chip: Apple M2 Max, 12 cores
- Memory: 96 GB
- OS: macOS 26.6.2
- Where: client in California, home network
- Kind: container (gVisor) on one elastic pool host
- Cloud: aws
- Machine type: c7g.2xlarge (8 vCPU Graviton3, 16 GiB)
- Space shape: ghcr.io/trycua/linux:24.04-slim, 1 vCPU / 512 MiB booked each
- Autoscale: on, $0.40/h cap (blocks a 2nd host), host pinned via `cua cloud hosts add`
- Build: cua CLI bundled in Cua Spaces 0.15.0 DMG (GitHub release cua-spaces-v0.15.0, published 2026-10-24T19:42Z), `cua --version` = cua 0.9.0
- App: 0.15.0
- cua: 0.9.0

## Caveats

- The ceiling of 25 Spaces per machine is the account plan's live-session limit, not the machine's: further creates were refused with 'Your plan allows 25 live sessions'. So the cost per Space-hour is an upper bound.
- Price is the instance's on-demand list price only; extra.usd_per_space_hour_incl_public_ipv4 adds its public IPv4. Disk and traffic are not included.
- Spaces were idle apart from the exec check: booked-shape density, not a CPU-bound load.

## Reproduce

```sh
# Cua Spaces 0.15.0 from cua.ai/download (its cua CLI is cua 0.9.0)
curl -fLO https://cua.ai/benchmarks/cost-per-space-hour-aws/files/pack.py
cua auth login && cua cloud connect aws --profile <aws-profile> --region us-west-2
cua daemon start --foreground &
cua cloud budget --autoscale on --max-per-hour 0.40 --monthly 20
cua cloud hosts add --provider aws --type c7g.2xlarge --ttl-hours 2
for r in 1 2 3; do python3 pack.py aws c7g.2xlarge 32 16 run$r --cpus 1 --memory-mb 512; done
cua cloud hosts rm <host> && cua cloud sweep --all --delete
```

## Questions

### Why is it an upper bound?

Every run stopped at 25 Spaces because the account plan allows 25 live sessions. The machine wasn't the limit, so more Spaces per machine would lower the cost.

### What does the price include?

The instance's on-demand list price only. With its public IPv4 address it is $0.0118 per Space-hour. Disk and traffic are not included.

### Can I run this myself?

Yes. The commands under Reproduce use the published Cua Spaces 0.15.0 release and the public trycua/cua repository at the tag cua-spaces-v0.15.0. A `cua bench run` command that wraps them is coming; it isn't in a release yet.
