> ## Documentation Index
> Fetch the complete documentation index at: https://runinfra.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Coding plan

> Monthly Model API usage for your workspace, with two plan limits, optional credits after limits, and Standby for chat.

Your plan pays first for covered requests from your workspace, at the same per-token prices as pay as you go, with a 5-hour limit and a weekly limit.

Usage is counted at our standard per-token prices, with cached input at the cached price. Plan usage is not a credit deposit and does not roll over.

## Choose a plan

|                                        | Starter      | Pro          | Team         |
| -------------------------------------- | ------------ | ------------ | ------------ |
| Monthly price                          | \$10         | \$29         | \$99         |
| Approximate usage a month at our rates | \$12         | \$35         | \$119        |
| 5-hour limit                           | \$1.11       | \$3.23       | \$10.98      |
| Weekly limit                           | \$2.77       | \$8.08       | \$27.46      |
| Standby daily amount                   | Up to \$0.20 | Up to \$0.58 | Up to \$1.98 |

Shared by this workspace, not per member. Monthly usage is approximate: months hold different numbers of weekly resets.

An owner chooses a plan in [**Billing**](https://runinfra.ai/settings/cost?section=plan) or from [Pricing](https://runinfra.ai/pricing?plan=coding). At checkout, choose **Keep full speed on credits** or **Use Standby only (free, slower)**; neither is preselected. The credits cap starts at the monthly plan price and accepts \$1 to \$100,000, or **No limit**. Secure checkout shows the renewal disclosure and asks you to accept the [Terms of Service](https://runinfra.ai/terms-of-service#subscriptions).

Before checkout, the plan chooser lists keys with traffic in the last 30 days, so an owner can mark app keys **Credits only** first. With at least 7 days of history, it also estimates your eligible usage over the last 30 days at our rates.

Checkout is not offered on a workspace with partner pricing, a legacy subscription, or a billing hold; the reason and next step appear instead. While plans are unavailable, checkout says so and nothing is charged.

Your coding plan automatically renews each month until canceled. Your payment method is charged at the start of each billing period.

## How the limits work

Your 5-hour window starts with your first plan request, and the next request after it ends starts a new one.

The weekly limit resets on a fixed schedule from activation. The plan pays while both have room. **Coding plan usage** shows when each resets.

The request that crosses a plan limit finishes on the payment source selected when it started. Requests already in flight count toward admission, so the displayed percentage alone does not guarantee that another request can use the plan.

## See your plan usage

Open [**Usage Analytics**](https://runinfra.ai/inference/usage) and select **Coding plan**, or select **See usage and history** in Billing. The page stays available until your plan ends; after that it opens Billing. It shows:

* What pays when your plan does not, and the one next step when one helps, with its evidence.
* Your 5-hour and weekly limits with reset times, and an estimate when your pace would run out before a reset.
* At a limit: what pays after the plan, your credits cap and today's Standby.
* The last 8 weeks, marking weeks that reached the weekly limit.
* Your keys and coding agents: each key's share of the current 5-hour window, a Credits only switch, and how to connect another agent.

In Usage Analytics, the request log's **Paid from** column shows Plan, Standby, Credits after limits or Pay as you go, and **Covered by your plan** totals the requests the plan and Standby paid, at our rates. Plan and Standby requests charge nothing.

[**Billing**](https://runinfra.ai/settings/cost?section=plan) has two coding plan tiles. **Plan** shows your tier and price, what pays now, **Renews**, **Used this period** and **What's included**, with **Change plan**, **Cancel plan**, **Keep plan**, **Keep current tier** or **Update card** when each applies. **At a limit** shows **Credits after limits** against your cap and its reset, and holds the choice between **Keep full speed on credits** and **Use Standby only (free, slower)**. Members see the plan and its policy; only an owner can change them.

## What happens at a limit

At a limit, keep full speed on credits (your choice, capped), then Standby, free and slower.

<div className="block dark:hidden">
  <svg viewBox="0 0 720 430" width="100%" role="img" aria-label="A covered request first uses the coding plan when both limits have room, then credits if chosen and the request fits the cap, then Standby for chat if available. Otherwise it stops with 402 plan_limit_reached, a reset time and a next step. Temporary capacity refusals use 429 with retry timing." fill="none" xmlns="http://www.w3.org/2000/svg"><text x="24" y="16" fill="#6e6d64" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">Coding plan funding</text><text x="24" y="39" fill="#52524c" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">A covered request on a serving plan, with Credits only off.</text><line x1="26" y1="67" x2="26" y2="352" stroke="#e8e8e3" strokeWidth="1" strokeDasharray="3 3" /><rect x="23.5" y="91.5" width="5" height="5" fill="#bbb9b1" shapeRendering="crispEdges" /><line x1="29" y1="94" x2="48" y2="94" stroke="#e8e8e3" strokeWidth="1" strokeDasharray="3 3" /><rect x="48.5" y="62.5" width="647" height="67" fill="#ffffff" stroke="#e8e8e3" strokeWidth="1" shapeRendering="crispEdges" /><text x="62" y="81" fill="#6e6d64" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">01 Plan</text><text x="166" y="81" fill="#0f0f0e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">Both plan limits have room</text><text x="62" y="108" fill="#52524c" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">The plan pays. At a 5-hour or weekly limit, check credits.</text><rect x="23.5" y="181.5" width="5" height="5" fill="#bbb9b1" shapeRendering="crispEdges" /><line x1="29" y1="184" x2="48" y2="184" stroke="#e8e8e3" strokeWidth="1" strokeDasharray="3 3" /><rect x="48.5" y="152.5" width="647" height="67" fill="#ffffff" stroke="#e8e8e3" strokeWidth="1" shapeRendering="crispEdges" /><text x="62" y="171" fill="#6e6d64" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">02 Credits</text><text x="166" y="171" fill="#0f0f0e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">Chosen by the owner, within the cap</text><text x="62" y="198" fill="#52524c" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">The maximum request cost must fit. Otherwise, check Standby.</text><rect x="23.5" y="271.5" width="5" height="5" fill="#bbb9b1" shapeRendering="crispEdges" /><line x1="29" y1="274" x2="48" y2="274" stroke="#e8e8e3" strokeWidth="1" strokeDasharray="3 3" /><rect x="48.5" y="242.5" width="647" height="67" fill="#ffffff" stroke="#e8e8e3" strokeWidth="1" shapeRendering="crispEdges" /><text x="62" y="261" fill="#6e6d64" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">03 Standby</text><text x="166" y="261" fill="#0f0f0e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">Chat only, when available</text><text x="62" y="288" fill="#52524c" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">Free, slower, best effort. The daily amount must have room.</text><rect x="23.5" y="347.5" width="5" height="5" fill="#bbb9b1" shapeRendering="crispEdges" /><line x1="29" y1="350" x2="48" y2="350" stroke="#e8e8e3" strokeWidth="1" strokeDasharray="3 3" /><rect x="48" y="335" width="100" height="3" fill="#76b900" shapeRendering="crispEdges" /><rect x="48" y="338" width="110" height="24" fill="#76b900" shapeRendering="crispEdges" /><rect x="58" y="362" width="100" height="3" fill="#76b900" shapeRendering="crispEdges" /><text x="103" y="354" fill="#0f0f0e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12" fontWeight="500" textAnchor="middle" letterSpacing="-0.12">Stopped</text><text x="176" y="354" fill="#0f0f0e" fontFamily="Consolas, Menlo, monospace" fontSize="10.5" letterSpacing="0">402 plan\_limit\_reached</text><text x="48" y="388" fill="#52524c" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">Read the reset, Standby condition, and next step in the response.</text><text x="48" y="410" fill="#6e6d64" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">Temporary capacity refusals use 429 with retry timing.</text></svg>
</div>

<div className="hidden dark:block">
  <svg viewBox="0 0 720 430" width="100%" role="img" aria-label="A covered request first uses the coding plan when both limits have room, then credits if chosen and the request fits the cap, then Standby for chat if available. Otherwise it stops with 402 plan_limit_reached, a reset time and a next step. Temporary capacity refusals use 429 with retry timing." fill="none" xmlns="http://www.w3.org/2000/svg"><text x="24" y="16" fill="#9a998e" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">Coding plan funding</text><text x="24" y="39" fill="#c8c7ba" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">A covered request on a serving plan, with Credits only off.</text><line x1="26" y1="67" x2="26" y2="352" stroke="#383833" strokeWidth="1" strokeDasharray="3 3" /><rect x="23.5" y="91.5" width="5" height="5" fill="#6e6d64" shapeRendering="crispEdges" /><line x1="29" y1="94" x2="48" y2="94" stroke="#383833" strokeWidth="1" strokeDasharray="3 3" /><rect x="48.5" y="62.5" width="647" height="67" fill="#161614" stroke="#383833" strokeWidth="1" shapeRendering="crispEdges" /><text x="62" y="81" fill="#9a998e" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">01 Plan</text><text x="166" y="81" fill="#f0efe2" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">Both plan limits have room</text><text x="62" y="108" fill="#c8c7ba" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">The plan pays. At a 5-hour or weekly limit, check credits.</text><rect x="23.5" y="181.5" width="5" height="5" fill="#6e6d64" shapeRendering="crispEdges" /><line x1="29" y1="184" x2="48" y2="184" stroke="#383833" strokeWidth="1" strokeDasharray="3 3" /><rect x="48.5" y="152.5" width="647" height="67" fill="#161614" stroke="#383833" strokeWidth="1" shapeRendering="crispEdges" /><text x="62" y="171" fill="#9a998e" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">02 Credits</text><text x="166" y="171" fill="#f0efe2" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">Chosen by the owner, within the cap</text><text x="62" y="198" fill="#c8c7ba" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">The maximum request cost must fit. Otherwise, check Standby.</text><rect x="23.5" y="271.5" width="5" height="5" fill="#6e6d64" shapeRendering="crispEdges" /><line x1="29" y1="274" x2="48" y2="274" stroke="#383833" strokeWidth="1" strokeDasharray="3 3" /><rect x="48.5" y="242.5" width="647" height="67" fill="#161614" stroke="#383833" strokeWidth="1" shapeRendering="crispEdges" /><text x="62" y="261" fill="#9a998e" fontFamily="Consolas, Menlo, monospace" fontSize="9" fontWeight="500" letterSpacing="0.3">03 Standby</text><text x="166" y="261" fill="#f0efe2" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12.5" fontWeight="500" letterSpacing="-0.12">Chat only, when available</text><text x="62" y="288" fill="#c8c7ba" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">Free, slower, best effort. The daily amount must have room.</text><rect x="23.5" y="347.5" width="5" height="5" fill="#6e6d64" shapeRendering="crispEdges" /><line x1="29" y1="350" x2="48" y2="350" stroke="#383833" strokeWidth="1" strokeDasharray="3 3" /><rect x="48" y="335" width="100" height="3" fill="#76b900" shapeRendering="crispEdges" /><rect x="48" y="338" width="110" height="24" fill="#76b900" shapeRendering="crispEdges" /><rect x="58" y="362" width="100" height="3" fill="#76b900" shapeRendering="crispEdges" /><text x="103" y="354" fill="#0f0f0e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="12" fontWeight="500" textAnchor="middle" letterSpacing="-0.12">Stopped</text><text x="176" y="354" fill="#f0efe2" fontFamily="Consolas, Menlo, monospace" fontSize="10.5" letterSpacing="0">402 plan\_limit\_reached</text><text x="48" y="388" fill="#c8c7ba" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">Read the reset, Standby condition, and next step in the response.</text><text x="48" y="410" fill="#9a998e" fontFamily="'Helvetica Neue', Helvetica, Arial, sans-serif" fontSize="10.5" letterSpacing="0">Temporary capacity refusals use 429 with retry timing.</text></svg>
</div>

1. **Credits.** Credits pay if you chose **Keep full speed on credits**, up to the cap you set per billing period. Choose at checkout; an owner can change it in Billing.
2. **Standby.** Free, slower service when we are busy, up to a daily amount. Standby covers chat only.
3. **Stopped.** If neither can serve a request, it stops with the reason, reset time and next step. A plan reset, a Standby refill, or a new billing period for the credits cap makes usage available again.

An owner changes the at-limit choice, the **Cap per billing period**, or **No limit** in Billing, and the change applies on **Save**. The cap counts credits spent after plan limits in the billing period, including the maximum cost of requests in flight, so a request whose maximum cost does not fit cannot use credits. **Most you can pay** shows the plan price plus the cap per billing period, or **No maximum** with **No limit**; wallet and key limits still apply.

The cap does not bound pay-as-you-go operations outside the plan or keys marked **Credits only**. It also does not set your auto recharge ceiling. See [Pricing and credits](/docs/introduction/plans#spending-controls).

The billing refusal is HTTP `402` with `plan_limit_reached`, `x-should-retry: false`, and no `Retry-After`. Follow the returned next step or wait for the stated reset or refill before making a new attempt. See [Plan limit errors](/docs/api-reference/errors#coding-plan-limit).

## Standby

Standby is best effort. It refills at midnight UTC, may be reduced or paused at any time, and is off while a plan payment is due or processing, or credits are owed.

Standby depends on model capacity. A temporary capacity refusal is a `429` with retry timing, separate from a `402` plan limit. See [Rate limits](/docs/api-reference/rate-limits#coding-plans-and-standby).

## What your plan covers

Your plan covers chat (chat completions, messages and responses) from every workspace key except keys marked **Credits only**. Embeddings and rerank are covered too whenever those models are available. The [Model Library](https://runinfra.ai/inference-api) lists the models served now.

| Operation                                               | Plan    | Standby                   |
| ------------------------------------------------------- | ------- | ------------------------- |
| `/v1/chat/completions`, `/v1/messages`, `/v1/responses` | Covered | Chat only, when available |
| `/v1/embeddings`, `/v1/rerank`                          | Covered | Not covered               |

Images and audio always stay pay as you go.

### Credits only keys

Keys marked **Credits only** always use credits.

An owner can set **Credits only** on a key at [**Settings > API keys**](https://runinfra.ai/settings/api-keys). It is off by default and survives rotation. The key bypasses the plan, Standby, and the credits cap after plan limits. Its normal credit balance and per-key spending controls still apply.

## What you can count on

* Requests that fail before returning output never use your plan.
* Client cancellations count usage, as in pay as you go.
* Every response a plan decision applied to says what paid, in `x-runinfra-funding`.
* A request stays on the source that admitted it.
* Metering changes come with written notice, and promotional rates are labeled temporary.
* Credits survive cancellation and keep their existing expiry dates.

Read the [funding headers and usage fields](/docs/api-reference/usage#response-funding-headers) to see what paid for a request. [GET /v1/usage](/docs/api-reference/usage) reports the workspace's current plan limits and policy.

## Emails

Coding plan emails go to the billing contact with the owner copied, or to the owner alone.

* **Alerts** follow the owner's **Product notifications** switch at [Settings > Notifications](https://runinfra.ai/settings/notifications): weekly usage at 90% and 100%, credits or Standby starting to pay after a limit, and requests stopped at the weekly limit.
* **Receipts** always send: a started plan, a payment that needs attention or did not go through, a dispute, a refund, a scheduled or removed cancellation, and an ended plan.

## Change, cancel, or delete

Upgrades take effect now with a prorated charge. New limits apply immediately, and usage already counted carries over. Downgrades take effect at the end of the current billing period.

**Change plan** shows any amount due now and when the change applies before you confirm. An upgrade that needs payment action keeps your current plan until the payment completes; select **Finish payment**. **Keep current tier** undoes a scheduled downgrade.

Cancel anytime in Billing, in any plan state. Cancellation takes effect at the end of the current billing period, or immediately while a payment dispute is open. Until the plan ends, **Keep plan** in Billing undoes a scheduled cancellation.

When your plan ends, your workspace returns to pay as you go. Your keys keep working with credits.

Account deletion ends the plan at once, with no refund of the current month.

### Payment issues

After a failed renewal, your plan can keep serving for up to 48 hours, or 7 days if it has had a paid renewal. Select **Update card** in Billing before then.

A disputed plan payment pauses the plan and ends it at the period end.

See the [account FAQ](/docs/faq/account#coding-plans) and [Terms of Service, section 7](https://runinfra.ai/terms-of-service#subscriptions) for the cancellation and refund rules.
