The short answer
When your credit allowance runs out, Whizi refuses the next message with Your monthly message limit has been reached., returned as HTTP 429 with the code message_limit_reached. The refused turn is not charged, the conversation is intact, and everything you have already written stays readable.
The allowance comes back when the period changes, and the period is the UTC calendar month rather than your billing anniversary. There is no top-up, no credit purchase and no gifting path anywhere in Whizi, so there are exactly two moves: wait for the reset, or move to a plan with a larger allowance.
Find the string you actually saw here first.
| What you see | Code | What it means | What to do |
|---|---|---|---|
Your monthly message limit has been reached. | HTTP 429 message_limit_reached | Your credit allowance for this UTC month is spent | Wait for the reset, or upgrade |
Your weekly message limit has been reached. | HTTP 429 message_limit_reached | The same refusal on a weekly billing cycle | Wait for Monday, or upgrade |
Your free messages are used up. Start a subscription to keep chatting. | HTTP 402 free_limit_reached | A free account spent its 7 lifetime messages | Nothing resets this. A subscription is the only path |
A Deep Research run costs 200 credits and you do not have enough left this period. | HTTP 429 message_limit_reached | One research run needs 200 credits and your balance is short | Send a normal message instead, or wait for the reset |
Upgrade your plan to use this model. | HTTP 403 tier_upgrade_required | Not a credit problem at all: the model needs a higher tier | Pick a model on your plan, or upgrade |
The allowances are fixed per tier, and the gaps between them are large:
| Plan | Credits per month | Monthly price |
|---|---|---|
| Free | 0 credits, 7 messages for the life of the account | not applicable |
| Starter | 400 | $15.99/month |
| Pro | 2,000 | $29.99/month |
| Powerhouse | 8,000 | $49.99/month |
The wording is the message limit wording, on purpose
There is no separate "out of credits" string in ordinary chat. When the credit balance is what refused the turn, Whizi still says Your monthly message limit has been reached., because both allowances are enforced through the same period check. Deep Research is the one place with its own credit-specific wording.
The noun changes with your billing cycle and nothing else: Your weekly message limit has been reached. on a weekly cycle, Your monthly message limit has been reached. otherwise. Weekly billing is not sold on the website.
On the web app the refusal opens the upgrade dialog rather than a toast. That dialog is triggered by an HTTP 402, by the code message_limit_reached, or by any message containing the text "message limit reached". Its badge reads Monthly Limit Reached, and its description reads You have reached your monthly limit of {limit} credits on the {plan} plan. Upgrade now to continue using Whizi without interruption., with the limit and plan filled in from your account.
Two shorter variants of that prompt exist. A paid account can see You've reached your monthly limit on the {plan} plan. Upgrade now to continue using Whizi without interruption. A free account sees Choose a plan to unlock Whizi with higher limits and premium models. instead, which is the tell that you are on the free tier rather than out of credits: free accounts are given 0 credits and a 7 message lifetime allowance instead.
When credits reset
There is no grant event and no top-up job. Usage is summed against a period key, so the arrival of a new period key is itself the reset. Nothing has to run, and nothing can be late.
| Billing cycle | Period key | Format | The allowance returns |
|---|---|---|---|
| Monthly | UTC calendar month | YYYY-MM | At 00:00 UTC on the 1st |
| Weekly | ISO-8601 UTC week, Monday to Sunday | YYYY-Www | At 00:00 UTC on Monday |
The boundary is the calendar, not the day you subscribed. If you subscribed on the 20th, your credits do not return on the 20th. They return when the UTC month rolls over. In a timezone behind UTC the reset lands during the last day of your local month rather than at your local midnight.
Credits do not roll over. The balance query sums only the rows carrying the current period key, so an unspent balance is simply unreachable once the key changes. Spending nothing in one month does not make the next one larger.
The free tier has no reset at all. Its allowance is 7 messages counted for the life of the account, and waiting does not restore it. A subscription is the only thing that changes that number.
Why a message is refused while you still have credits
A turn that does not fit in the remaining balance is refused whole. Partial charging never happens, so a 20 credit message sent with 3 credits left is rejected rather than discounted down to 3.
That is deliberate. Charging 3 credits for a 20 credit model would mean the same model cost different amounts depending on when in the month you sent it, which makes the price impossible to reason about. A turn also never costs less than one credit: the charge is floored at 1 and rounded down.
A balance too small for the model you picked is often still enough for a cheaper one, and the cheapest rung is 1 credit. With 3 credits left you cannot send anything on the 20 credit rung, but you can send three more messages on a 1 credit model. Roughly half the catalogue costs 1 credit. See switching models mid-conversation.
The balance is a sum of credits rather than a count of messages, which is why it can drop by 20 in one turn. Every model row served to the web app carries a cost signal, so the price of the next message is visible before you send it. Auto is the exception: it ships a per-tier credit range rather than a single number, because a turn costs whatever model Auto picked. The full scale is in how credits work.
A 20 credit model spends a 2,000 credit Pro allowance in 100 turns, while a 1 credit model gives you 2,000. Which model answers your routine messages therefore moves the balance far more than message count does. The fix is in troubleshooting.
What running out does not affect
Image generation and voice are separate meters with their own counts and their own strings, so an empty credit balance does not produce either of these, and hitting either of these does not touch your credits.
| Meter | Its own error | Code |
|---|---|---|
| Image generation | Your monthly image generation limit has been reached. | HTTP 429 image_limit_reached |
| Voice minutes | Your monthly voice minutes have been used up. | HTTP 429 voice_limit_reached |
Both have weekly variants with the same substitution the chat string uses. Neither is a credit refusal, so neither is fixed by waiting for the credit reset if your cycle boundary has not arrived.
Charges, refunds, and the retry trap
A generation that fails or is aborted is refunded by deleting its usage row, and applying the same refund twice restores exactly one turn rather than two. So a reply that broke mid-stream should not leave you paying for nothing.
Deep Research states this in the failure text itself. The research run failed. You have not been charged. is written to a run that threw for a reason other than a provider error, Planning the research run failed. You have not been charged. when the plan stage cannot be parsed after one retry, and Web searches failed. You have not been charged. when too few searches complete. A run refused with A Deep Research run is already in progress. Wait for it to finish. (HTTP 409 research_in_progress) also has its reserved credits refunded.
A chat turn rejected for being out of quota still spends its rate-limit tokens, because otherwise an out-of-quota client could retry without limit. Hammering send after the refusal therefore earns a rate-limit block on top of the refusal you already have, and it never produces a reply. The strings, codes and caps for that second block are in rate limits.
If the balance looks wrong rather than spent, support is the place to raise it. The usage rows behind a balance are kept for 400 days.
- Out of credits reads
Your monthly message limit has been reached., HTTP 429 - The refused message is not charged
- The reset is the UTC calendar month, not your billing anniversary
- Weekly cycles reset at 00:00 UTC on Monday
- Credits never roll over to the next period
- A turn is refused whole, so a cheaper model may still send
- Free accounts get 7 lifetime messages and no reset at all
- No top-up, no credit purchase, no gifting: wait or upgrade
Frequently asked questions
What does "Your monthly message limit has been reached." mean in Whizi?
Your allowance for the current period is spent. It is HTTP 429 with the code message_limit_reached, and it is the same string whether the credit allowance or the message allowance is what refused the turn, because both are enforced through one period check. The refused message is not charged, and the conversation is untouched.
When exactly do Whizi credits reset?
At 00:00 UTC on the 1st of the month, or at 00:00 UTC on Monday if you are on a weekly cycle. It is never your billing anniversary, so subscribing on the 20th does not mean credits return on the 20th.
Can I buy more credits when I run out?
No. Nothing adds credits to a period that is already running. The balance changes only when the period rolls over, or when you move to a plan carrying a bigger one: 400 credits on Starter, 2,000 on Pro, 8,000 on Powerhouse.
Why was my message refused when I still had credits left?
Because a turn is charged whole or not at all. A 20 credit model asked to run on a 3 credit balance is rejected rather than part-charged, so the same model never costs different amounts depending on when you sent it. Those 3 credits are still spendable on a cheaper model, and roughly half the catalogue costs 1 credit.
I am on the free plan and out of messages. When does that reset?
It does not, which is why the string you get is Your free messages are used up. Start a subscription to keep chatting. rather than a limit-reached message. Claiming a guest session into an account carries its usage across as well, so spending the allowance as a guest and then registering starts you at zero rather than at seven.
Was I charged for an answer that failed halfway through?
No. To confirm the refund landed, check the credit balance rather than a message count: the balance is the sum of the credits on the rows for this period, so a refunded 20 credit turn puts 20 back and not one message. Deep Research says so in its own failure text, for example The research run failed. You have not been charged.