---
title: "Get the live machine runtime rate card"
method: GET
path: "/v1/machines/pricing"
tags: ["machines"]
---

# Get the live machine runtime rate card

`GET /v1/machines/pricing`

Scope: `machines:read`. Returns deployment-effective runtime rates, one-time charges, provisioning eligibility gate (a minimum-balance gate, not a fee), billing granularity, insufficient-funds behavior, and TTL bounds.

## Response `200`

Current machine pricing and lease policy.

- MachinePricingResponse
  - `pricing` object, required — The live managed-machine and external-machine rate card.
    - `currency` 'usd', required
    - `credit_usd_cents` integer, required
    - `runtime` object, required
    - `one_time` object, required
    - `eligibility_gates` object, required
      - `provision_minimum_wallet_balance_credits` integer, required
      - `provision_minimum_wallet_balance_cents` integer, required
      - `provision_minimum_wallet_balance_usd` number, required
      - `note` 'Eligibility check only; provisioning does not debit this amount.', required
    - `external_machines` object, required
      - `enrollment_credits` 0, required
      - `runtime_credits_per_hour` 0, required
      - `direct_action_credits` 0, required
      - `frame_transport_credits` 0, required
      - `task_and_workflow_steps` 'managed key: charged at the selected CUA version's normal per-step rate; BYOK: zero Coasty platform credits', required
      - `note` string, required — Caller-owned compute is not provisioned or metered. Task/Workflow model inference uses the managed step meter only when Coasty supplies the model. BYOK debits zero Coasty platform credits; live-key execution is provider-billed. Managed-mode test execution remains deterministic sandbox and makes no provider call; test-auth BYOK intent returns 422 LLM_PROVIDER_UNSUPPORTED before execution.
    - `billing_granularity` string, required
    - `billed_to` string, required
    - `model` string, required
    - `insufficient_funds_behavior` string, required
    - `ttl` object, required
  - `request_id` string, required

## Other responses

- `400` — Invalid request body or parameters.
- `401` — Missing, invalid, or revoked API key. Pass `X-API-Key: sk-coasty-live-...` (or test).
- `403` — API key lacks the required scope or tier-feature is unavailable on the caller's plan.
- `404` — Resource not found in this key's namespace.
- `409` — The resource state conflicts with this operation.
- `413` — The request body exceeds the endpoint limit.
- `422` — The JSON shape is valid but one or more values violate the endpoint contract.
- `429` — Rate or concurrency limit exceeded.
- `500` — Unexpected server error. Retry with exponential backoff.
- `502` — An upstream dependency returned an invalid response.
- `503` — A required service is temporarily unavailable.
- `504` — An upstream dependency timed out.

---

[API](https://skmtc.net/coasty/apis/coasty-public-api.md) · [All operations](https://skmtc.net/coasty/apis/coasty-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/coasty/coasty-public-api/revisions/f50d93b0d8a1/schema)
