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

# Billing and refunds

> Answers to common billing questions—billing thresholds, refund eligibility, unexpected charges, storage costs, and how to read your invoices.

export const CoreCredits = '$20';

These answers cover the billing questions Replit builders ask most often. For how usage-based billing works in detail, see [Usage-based billing](/billing/about-usage-based-billing) and [Managing your spend](/billing/managing-spend).

<AccordionGroup>
  <Accordion title="Why was I charged before my monthly billing cycle ended?">
    Replit bills for usage above your included monthly credits when that usage reaches a set amount—a *billing threshold*—rather than only at the end of the cycle. Your Core plan includes {CoreCredits} in monthly credits, and Agent usage beyond those credits is billed separately once it reaches the threshold.

    To keep future charges lower:

    1. Turn on [Code Optimizations](/references/agent/code-optimizations) so Agent reviews its own work and avoids costly rework.
    2. Use [Economy mode](/references/agent/agent-modes) for everyday builds, which uses fewer credits per task.
    3. Set a usage limit and budget in [Managing your spend](/billing/managing-spend) to cap charges beyond your credits.
    4. Start a new Agent chat for each new task to keep context short.

    To see what triggered a charge, open **Settings → Account usage** and select **See previous invoices**.
  </Accordion>

  <Accordion title="I subscribed through the App Store or Google Play and can't add a payment method—how do I fix this?">
    When you subscribe through the App Store or Google Play, Apple or Google handles billing, so payment options don't appear inside the mobile app. Manage payments on the web instead:

    1. Open a browser and go to **Settings → Billing**.
    2. Select **Update payment method**.
    3. Enter your card details and save.

    After you add a web payment method, you can manage billing and purchase credit packs from the **Billing** tab. See [Managing your spend](/billing/managing-spend) for credit pack details.
  </Accordion>

  <Accordion title="I'm within 30 days of subscribing—am I eligible for a refund?">
    Refund eligibility depends on your plan and what you're asking to refund. Keep these points in mind:

    * Agent and AI usage charges are non-refundable, because each charge reflects compute that was already used.
    * [Custom domain registration fees are non-refundable](/build/domain-purchasing).

    For subscription-fee refunds, [contact Replit Support](https://replit.com/support) from your registered email and include your reason for the request. Cancel your subscription first from **Settings → Billing**.

    <Note>Exact subscription refund windows and eligibility are confirmed by the support team for your specific account and plan.</Note>
  </Accordion>

  <Accordion title="I was charged for Agent or AI usage I didn't expect—can I get a refund?">
    Agent and AI usage charges are non-refundable, because each charge reflects compute that Replit already used to run your tasks. You can prevent future surprises:

    1. Open **Settings → Account usage** and set a usage limit and budget. See [Managing your spend](/billing/managing-spend).
    2. Use [Economy mode](/references/agent/agent-modes) for cost-conscious builds.
    3. Turn on [Code Optimizations](/references/agent/code-optimizations) to reduce rework.

    If you think a charge was made in error, gather the charge amount, the date, and your payment intent ID. The ID starts with `pi_` and appears on the invoice detail page. Then [contact Replit Support](https://replit.com/support).
  </Accordion>

  <Accordion title="I was charged after canceling my subscription—was this correct?">
    A charge after cancellation usually comes from one of two things:

    * Usage from before you canceled that didn't reach its billing threshold until after your cancellation date.
    * A retry of an earlier failed payment for a previous billing period.

    To review it, open **Settings → Account usage**, select **See previous invoices**, and check the invoice date and the usage period it covers. If it still looks wrong, [contact Replit Support](https://replit.com/support) and include your `pi_` payment intent ID.
  </Accordion>

  <Accordion title="My subscription is current, but I'm being charged for extra storage—why?">
    Storage charges appear when your stored data exceeds your plan's included limit. See [Usage-based billing](/billing/about-usage-based-billing) for how storage is metered and [Object storage billing](/billing/object-storage-billing) for object storage costs.

    To find what's using space, open a Shell in your project and run:

    ```bash theme={null}
    du -sh *
    du -ah | sort -rh | head -20
    ```

    Then remove build artifacts (such as `.cache` or `dist`), old logs, and unused uploads, and clear old data from your database. After you free up space, future storage charges stop building up.
  </Accordion>

  <Accordion title="How do I get a refund for a custom domain registration?">
    [Custom domain registration fees are non-refundable](/build/domain-purchasing), because domain registrations involve third-party costs that can't be reversed once processed.

    If you registered a domain by mistake or want to transfer it, [contact Replit Support](https://replit.com/support) with your domain name and the email linked to your account. The team will explain your options.
  </Accordion>

  <Accordion title="I paid my invoice but my account is still suspended—when will it unlock?">
    Billing holds can take a short time to clear after a payment is confirmed. Try these steps:

    1. Hard-refresh your browser with `Cmd+Shift+R` (Mac) or `Ctrl+Shift+R` (Windows).
    2. Sign out and sign back in to reload your account status.
    3. Open **Settings → Account usage**, select **See previous invoices**, and confirm the invoice shows as paid.

    Deployments don't restart automatically after a hold is lifted. If your app is still offline, open **Publishing** and select **Publish** to deploy again. If your account stays suspended, [contact Replit Support](https://replit.com/support).
  </Accordion>

  <Accordion title="I don't recognize a charge from Replit—what should I do?">
    Before disputing a charge with your bank, identify it first:

    1. Open **Settings → Account usage**, select **See previous invoices**, and review the date, amount, and description.
    2. Check whether anyone else has access to your account or payment method.
    3. Look for a Replit billing email around the charge date, including in your spam folder.

    Charges are usually a subscription fee, a usage charge that hit a billing threshold, or a credit pack purchase.

    <Warning>Contact Replit Support *before* disputing a charge with your bank—a chargeback can lock your account.</Warning>

    [Contact Replit Support](https://replit.com/support) with your `pi_` payment intent ID, the charge amount, and the date.
  </Accordion>

  <Accordion title="My payment was declined—is this a Replit problem?">
    Most declines come from your bank or card issuer, not Replit—often an automatic security block on an unfamiliar transaction. Try these in order:

    1. Add a different card at **Settings → Billing → Update payment method** and try again.
    2. Call your bank, tell them you're authorizing a payment to Replit, and ask them to approve it.
    3. If your card restricts international purchases, ask your bank to allow them.

    If the decline continues, [contact Replit Support](https://replit.com/support).
  </Accordion>

  <Accordion title="I was charged the same amount twice—is this a duplicate charge?">
    Two identical charges aren't always a duplicate. Common explanations:

    * A subscription fee plus a credit pack of the same amount, shown as separate line items.
    * A failed payment that was retried and then succeeded.
    * A genuine duplicate, which is rare.

    Open **Settings → Account usage**, select **See previous invoices**, and compare the payment intent IDs (`pi_`) on both charges—different IDs mean separate transactions. If both show as paid for the same item on the same invoice, [contact Replit Support](https://replit.com/support).
  </Accordion>

  <Accordion title="I paid through the App Store but my credits haven't appeared—what do I do?">
    App Store payments can take a short time to sync with Replit. Try these first:

    1. Force-close the Replit app and reopen it.
    2. Sign out of your Replit account and sign back in.
    3. Open **Settings → Account usage** and check whether the credits have already appeared.

    Don't make a second purchase. If the credits still don't appear, find the Replit transaction in your App Store **Purchase History** and note the transaction ID. Then [contact Replit Support](https://replit.com/support) so the team can apply the credits.
  </Accordion>
</AccordionGroup>

## Still need help?

If your billing question isn't answered here, [contact Replit Support](https://replit.com/support).
