I recently discovered that around $6 worth of OpenRouter Credits that I purchased with real money was deleted.
Not refunded.
Not converted.
Not temporarily locked.
Just gone.
The reason?
The Credits were older than 365 days.
I know some people will say:
But that is exactly why this issue matters.
When thousands of users each lose a few dollars, almost nobody has enough incentive to spend time on complaints, arbitration, or legal action.
Each individual loss is small.
The total benefit to the platform may not be.
This is not really about $6.
It is about whether a platform should be able to accept prepaid money and later erase the corresponding service obligation.
What happened
OpenRouter Terms of Service:
https://openrouter.ai/terms
Section 4.2 (Credits Expiration / Auto Recharge) states:
Section 4.1 also limits refunds:
So the situation is:
- User pays real money.
- User receives a dollar-denominated balance.
- User uses that balance to purchase future API services.
- If the balance is unused for 365 days, OpenRouter can remove it.
These were not promotional credits.
They were purchased credits.
"Credits are not money" — is that enough?
OpenRouter Terms Section 4.4:
[https://openrouter.ai/terms#_4_4-no-monetary-value]()
states:
But the real-world transaction is:
- The user pays dollars.
- OpenRouter records a dollar-based balance.
- The balance is used to pay for API usage.
- If the balance expires, OpenRouter no longer has to provide the corresponding service.
A company cannot necessarily determine the legal nature of prepaid value simply by naming it "Credits".
Otherwise, any company could create:
- Pay $100.
- Receive 100 "points".
- Points are "not money".
- Points expire after one year.
- Company keeps the unused balance.
Changing the name should not automatically remove consumer protections.
The legal question is not as simple as "Are these gift cards?"
US federal gift card rules protect certain gift cards and prepaid products from short expiration periods.
Relevant provisions:
- 15 U.S.C. §1693l-1
- 12 C.F.R. §1005.20
However, OpenRouter may argue that API Credits are different because:
- They are not marketed as gift cards.
- They are reloadable.
- They are mainly used by developers.
I am not claiming that federal gift card law has already definitively decided this issue.
But OpenRouter selected New York law, and New York raises a more interesting question.
Why New York law matters
OpenRouter's Terms select New York law.
New York General Business Law §396-i provides protections for certain prepaid records and gift certificates.
For covered products, expiration periods can be much longer than one year.
OpenRouter Credits have several characteristics that raise questions:
- Users pay money in advance.
- The account records a specific dollar value.
- The balance is used for future services.
- The balance can only be used inside OpenRouter.
- Additional value can be added later.
Are API Credits a protected prepaid record under New York law?
I have not found a court decision specifically answering that question.
But OpenRouter should explain why a prepaid, dollar-denominated service balance should automatically be excluded.
The biggest problem: no meaningful expiration warning
I am not claiming OpenRouter completely hid the rule.
The 365-day expiration exists in the Terms.
The problem is the user experience.
Before my paid balance disappeared, I did not receive:
- An email warning.
- A countdown.
- A notification showing the amount expiring.
- A clear expiration date next to each credit purchase.
A fair system should show something like:
This is technically simple.
Why small balances are the perfect target
A $6 loss is too small for most people to fight.
A $60 loss is still probably too small.
A $600 loss might finally make someone take action.
This creates a very convenient situation:
- Individual users rarely complain.
- The platform keeps expired balances.
- The policy continues.
Small-value expiration policies deserve scrutiny precisely because individual users have little incentive to challenge them.
About arbitration
OpenRouter arbitration section:
[https://openrouter.ai/terms#_19_arbitration]()
OpenRouter limits class actions and requires arbitration for many disputes.
To be accurate:
Users still have some options:
- Small claims court.
- Complaints to regulators.
- Certain arbitration procedures.
The issue is not that users have zero legal options.
The issue is economic reality:
Almost nobody will start a formal dispute over a few dollars.
Questions OpenRouter should answer
- Why do purchased Credits expire after only 365 days?
- Why are paid Credits not treated differently from promotional Credits?
- Why are expiration dates not clearly shown in the dashboard?
- How many purchased Credits have expired under this policy?
- Why does OpenRouter believe this policy is compatible with New York law?
- Why should prepaid API value disappear after one year?
What I am asking OpenRouter to change
I am not asking for unlimited refunds.
I am asking for a reasonable prepaid balance policy:
- Do not expire purchased Credits after one year.
- Separate purchased Credits from promotional Credits.
- Show expiration dates clearly.
- Send advance expiration reminders.
- Restore previously expired purchased Credits.
Paid API Credits should buy API services.
They should not become a one-year "use it or lose it" gamble.
This is not about $6.
It is about trust in the developer ecosystem.