Skip to content

docs(billing): document Free plan and team-member add-on credit purchases - #483

Open
hongyi-chen wants to merge 5 commits into
mainfrom
docs/free-plan-and-team-addon-credit-purchases
Open

docs(billing): document Free plan and team-member add-on credit purchases#483
hongyi-chen wants to merge 5 commits into
mainfrom
docs/free-plan-and-team-addon-credit-purchases

Conversation

@hongyi-chen

@hongyi-chen hongyi-chen commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Documents the "create chaos / sell control" add-on credit behavior discussed in the Slack thread, so support (and the AI responder) has something to point at when the inquiries land.

Why

Two behaviors are live in prod but undocumented, and the existing docs contradict one of them:

  1. Free plan users can buy add-on credits without subscribing (free_plan_credit_purchases_enabled: true in config/prod.yaml).
  2. Any active team member can buy add-on credits — not just admins. logic.PurchaseAddonCredits is member-gated once IndividualizeReloadCredits is on.

The support-relevant consequence: purchases charge the payment method saved for the team. If the team has no card yet, the buyer supplies one and it becomes the team default (SetCustomerDefaultPaymentMethodFromPaymentIntent), so later purchases by other members and auto-reload charge it. Only admins can change or remove it, because logic.StripeBillingPortal requires hasBillingAdminPermissions. That's the "hey, who's charging my card?" scenario.

Changes

add-on-credits.mdx — one new short section, Who can purchase add-on credits: any active member can buy, no subscription needed, and admins own the spend cap, auto-reload, and the team payment method. It links to the Pricing FAQs for the shared-card specifics rather than covering them here. The plan availability line is also corrected — it claimed add-on credits were Build/Max/Business/Enterprise only.

pricing-faqs.mdx — four new Q&As phrased the way a ticket arrives:

  • Can I buy credits on the Free plan without subscribing?
  • Who on my team can purchase add-on credits?
  • Which card is charged when a team member buys add-on credits?
  • How do I change or remove the card saved for my team?

Plus a "confirm which card your team has on file" item on the admin checklist, and a third option (buy add-on credits) under "Does the Free plan include AI usage?".

credits.mdx / plans-pricing-refunds.mdx — surface add-on credit purchase as a Free plan option, and point the refund policy at the "which card" FAQ.

.agents/references/terminology.md — added Auto-reload and team-wide spend cap to the billing glossary. Needed because the style linter only exempts bolded list terms that use an em dash, while AGENTS.md prescribes the **Term** - description hyphen format.

Review revisions

Reworked from the first draft based on review feedback:

  • Cut the payment mechanics. The Stripe Checkout walkthrough, the 30-minute link expiry, and the personal-team auto-creation note are gone. Readers don't need the plumbing.
  • Kept payment edge cases off the feature page. The add-on credits page now states who can buy and that purchases bill the team's payment method, then links out. The shared-card behavior lives in the Pricing FAQs.
  • Removed all pricing. The Free vs. paid price table and the inline per-pack figures are gone, replaced by links to the pricing page. Exact numbers belong there, not in docs.

Making the payment-method wording conditional also resolves both automated review comments about assuming Free plan teams never have a card on file.

Correction worth a close look

Several pages said add-on credits become unusable if you move to the Free plan ("you can't use them until you re-subscribe"). That is no longer true: a bonus grant is a valid credit source in AdmitsInference (CostResolution.HasCreditSource()AICreditsUsageAndCostTypeAnyBonusGrant), and RemoveFreeAIEnabled only zeroes the Free tier's base request limit, so purchased credits still spend. Selling credits to Free plan users would be incoherent otherwise. Corrected in add-on-credits.mdx, pricing-faqs.mdx, and plans-pricing-refunds.mdx — flagging it explicitly since it's a policy-shaped statement, not just wording.

Follow-up not included here

add-on-credits.mdx already carries a pre-existing price table (400/$10, 1,000/$20, 3,000/$50, 6,500/$100 with discount percentages), plus $200 spend-limit defaults and "~40% off" in the auto-reload section. By the "no pricing in docs" rule those should move to the pricing page too, but they predate this PR and support may rely on them, so I left them rather than widen the blast radius. Happy to strip them in a follow-up.

Validation

  • npm run build — exit 0, 364 pages built.
  • check_links.py — 0 broken links (including after removing the Free plan section that other pages linked to).
  • style_lint.py --changed — 14 findings, identical to the main baseline for these files. No new issues.
  • Rebased onto main so this doesn't revert the style pass that landed there.

Conversation: https://staging.warp.dev/conversation/6b6fd77c-c6e5-4921-b4eb-603ad32ffe1e
Run: https://oz.staging.warp.dev/runs/019fd415-468f-75b3-8bff-2c9db9da9e70

This PR was generated with Oz.

@cla-bot cla-bot Bot added the cla-signed label Aug 5, 2026
@vercel

vercel Bot commented Aug 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Aug 6, 2026 3:41am

Request Review

@hongyi-chen
hongyi-chen requested a review from dannyneira August 5, 2026 23:33
@hongyi-chen
hongyi-chen marked this pull request as ready for review August 5, 2026 23:33
@oz-for-oss

oz-for-oss Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

@hongyi-chen

I'm starting a first review of this pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@hongyi-chen
hongyi-chen removed the request for review from dannyneira August 5, 2026 23:34

@oz-for-oss oz-for-oss Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR updates the billing docs to describe Free-plan add-on credit purchases, member-initiated team credit purchases, and the team payment-method behavior. The content is mostly consistent with the attached PR context, and I did not find security-specific findings in the documentation diff.

Concerns

  • The Free-plan checkout copy assumes every Free-plan team has no saved payment method, but the same docs describe Free-plan teams that can already have a saved card after a previous checkout, and downgraded teams may also retain one. Make Stripe Checkout conditional on whether the team has a saved payment method.

Verdict

Found: 0 critical, 2 important, 0 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz


#### Making a Free plan purchase

Because a Free plan team has no card on file, the first purchase collects payment details through Stripe Checkout instead of charging silently.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [IMPORTANT] This assumes every Free-plan team lacks a saved payment method, but downgraded teams or teams with a previous credit checkout can already have one; make the checkout flow conditional on whether the team has a saved payment method.

Suggested change
Because a Free plan team has no card on file, the first purchase collects payment details through Stripe Checkout instead of charging silently.
If the team doesn't have a saved payment method, the purchase collects payment details through Stripe Checkout instead of charging the team silently.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we need to mention we go through stripe checkout, i think you're overexplaining


Yes. Free plan users can buy the same [add-on credit](/support-and-community/plans-and-billing/add-on-credits/) packs as paid plans and spend them on any model, without a subscription. Free plan packs cost 20% more than the paid-plan price: $12 for 400 credits, $24 for 1,000, $60 for 3,000, and $120 for 6,500.

Buy from **Settings** > **Billing and usage** in the Warp app, or from the **Add-on credits** card on the [Warp upgrade page](https://app.warp.dev/upgrade). Because a Free plan team has no card on file, the first purchase goes through Stripe Checkout to collect payment details.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [IMPORTANT] This repeats the same unconditional Free-plan checkout assumption; a Free-plan team can already have a saved payment method, so the checkout path should depend on whether a card is present.

Suggested change
Buy from **Settings** > **Billing and usage** in the Warp app, or from the **Add-on credits** card on the [Warp upgrade page](https://app.warp.dev/upgrade). Because a Free plan team has no card on file, the first purchase goes through Stripe Checkout to collect payment details.
Buy from **Settings** > **Billing and usage** in the Warp app, or from the **Add-on credits** card on the [Warp upgrade page](https://app.warp.dev/upgrade). If the team doesn't have a saved payment method, the purchase goes through Stripe Checkout to collect payment details.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you really need to mention that we go through stripe checkout? i feel like it's not necessary, obviously we go through stripe checkout

hongyi-chen and others added 4 commits August 6, 2026 00:08
…ases

Non-admin team members can now purchase add-on credits, and Free plan
users can buy credit packs without subscribing. When a team has no card
on file, the card entered at Stripe Checkout is saved as the team's
default payment method, so it can fund later purchases by other members
and auto-reload. Only team admins can change or remove it.

Documents the behavior for support and the AI responder, and corrects
stale claims that add-on credits are paid-plan only and unusable on the
Free plan.

Co-Authored-By: Warp Agent <agent@warp.dev>
…ling glossary

Co-Authored-By: Warp Agent <agent@warp.dev>
…llout

Co-Authored-By: Warp Agent <agent@warp.dev>
…erexplanation

Review feedback:
- Drop the Stripe Checkout walkthrough; readers don't need the mechanics.
- Keep payment edge cases out of the feature page and let the pricing FAQs
  carry them.
- Remove exact prices; point at the pricing page instead.

Also makes the payment-method wording conditional, which resolves the two
automated review comments about assuming Free plan teams never have a card
on file.

Co-Authored-By: Warp Agent <agent@warp.dev>
@hongyi-chen
hongyi-chen force-pushed the docs/free-plan-and-team-addon-credit-purchases branch from 8661214 to 73bf20c Compare August 6, 2026 00:12

### Can I buy credits on the Free plan without subscribing?

Yes. Free plan users can buy the same [add-on credit](/support-and-community/plans-and-billing/add-on-credits/) packs as paid plans and spend them on any model, without a subscription. Free plan packs cost 20% more than the paid-plan price: $12 for 400 credits, $24 for 1,000, $60 for 3,000, and $120 for 6,500.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you please not include the rates, because these might be subject to change and i don't want the docs to go stale. warp.dev/pricing should be the source of truth when it comes to prices


Yes. Free plan users can buy the same [add-on credit](/support-and-community/plans-and-billing/add-on-credits/) packs as paid plans and spend them on any model, without a subscription. Free plan packs cost 20% more than the paid-plan price: $12 for 400 credits, $24 for 1,000, $60 for 3,000, and $120 for 6,500.

Buy from **Settings** > **Billing and usage** in the Warp app, or from the **Add-on credits** card on the [Warp upgrade page](https://app.warp.dev/upgrade). Because a Free plan team has no card on file, the first purchase goes through Stripe Checkout to collect payment details.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you really need to mention that we go through stripe checkout? i feel like it's not necessary, obviously we go through stripe checkout

2. Complete Stripe Checkout in your browser. The checkout link expires after 30 minutes; if it does, start the purchase again.
3. Return to Warp. Your credits are granted as soon as checkout completes, and your new balance appears under **Settings** > **Billing and usage**.

If you aren't on a team yet, Warp creates a personal team named after your email address (for example, `you@example.com's Team`) and applies the purchase to it. You're the admin of that team, so you control its billing.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is also not necessary


#### Making a Free plan purchase

Because a Free plan team has no card on file, the first purchase collects payment details through Stripe Checkout instead of charging silently.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we need to mention we go through stripe checkout, i think you're overexplaining


Because a Free plan team has no card on file, the first purchase collects payment details through Stripe Checkout instead of charging silently.

1. Start the purchase. In the Warp app, go to **Settings** > **Billing and usage**, choose a denomination, then click **One-time purchase**. On the web, open the [Warp upgrade page](https://app.warp.dev/upgrade) and use the **Add-on credits** card below the plan cards.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is pretty straightforward, i dont think this is something that we need to overexplain. users know how to go through a checkout flow

* **Auto-reload** - When an admin turns auto-reload on, it governs every purchase on the team, and individual members can no longer buy add-on credits manually.
* **The team's payment method** - Every add-on credit purchase charges the payment method saved for the team. Only team admins can change or remove it, through the billing portal. See [How do I manage my billing?](/support-and-community/plans-and-billing/pricing-faqs/#how-do-i-manage-my-billing).

:::caution

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i dont think this is a caution that we need to prominently mention here, but rather i'd prefer us to highlight this in FAQs wherever relevant. this only applies to a small portion of free users that are on teams where the non-admin purchases free credits and then someone else tries to purchase credits afterwards


If you aren't on a team yet, Warp creates a personal team named after your email address (for example, `you@example.com's Team`) and applies the purchase to it. You're the admin of that team, so you control its billing.

#### The card you enter is saved for the team

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we simplify this section entirely, i don't think all of this needs to belong on this page and we can add it to FAQs as necessary

- Fold the shared-card FAQ pointer into the payment-method bullet instead of
  giving a niche edge case its own paragraph on the feature page.
- Drop the remaining 'at checkout' process framing.
- Cut duplicated Free-vs-paid rate comparisons; state it once with a link to
  the pricing page.

Co-Authored-By: Warp Agent <agent@warp.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant