Resources and billing

Size sandboxes, understand per-second compute charges, and monitor team credit.

Sandbox sizes

Select CPU and memory when creating a chat:

{
  "instance": {
    "cpu": 4,
    "memory": 8
  }
}

Current choices:

ResourceAllowed valuesDefault
CPU2 or 4 vCPU2 vCPU
Memory2, 4, or 8 GiB2 GiB
Diskfixed at 10 GiB10 GiB

Any allowed CPU value may be paired with any allowed memory value. Unsupported or odd values return 422.

Size belongs to the chat and is reused by later turns. Create another chat to change it.

When billing runs

Billing uses sandbox wall-clock time. Queue time does not consume compute credit. Timing starts when a sandbox is ready and ends when the turn completes, fails, times out, or is canceled.

The sandbox is stopped after every turn.

Current compute rates

ResourceRate per unit-hour
vCPU$0.0858
Memory GiB$0.0162
Disk GiB$0.000108

Cost is calculated by the second:

hourly_rate =
  cpu × 0.0858
  + memory_gib × 0.0162
  + disk_gib × 0.000108

turn_cost = hourly_rate × sandbox_seconds / 3600

The default 2 vCPU, 2 GiB, 10 GiB sandbox costs $0.20508 for a full hour of running compute.

Model-token charges go directly to the provider key supplied with the run and are separate from Epho compute credit.

Prepaid credit

Compute is deducted from the team's prepaid ledger in micro-USD. Epho refuses a new turn with 402 Payment Required when no positive credit remains.

Read the balance:

curl https://app.epho.io/api/v1/credits \
  -H "Authorization: Bearer $EPHO_API_KEY"
{
  "balance": {
    "micros": 4230000,
    "cents": 423,
    "usd": "4.23"
  }
}

One USD equals 1,000,000 micros. The micros value is the precise ledger balance; cents and usd are display-friendly forms.

Concurrency

Teams default to five active turns. Turns beyond the team's cap remain queued without consuming a slot or billable compute and emit:

{
  "type": "status",
  "phase": "queued",
  "message": "Waiting for an available run slot…"
}

Queued turns start as active turns settle.