Contents
SolCard Inference is prepaid. You add money, requests spend it, and you’re never billed after the fact. Here’s exactly what happens to that money when you send a request.
One balance for everything
Every key, every model and the chat app draw from the same USD balance. Top it up on the dashboard’s Top up page: send crypto to your deposit address, or pay from a SolCard card balance, once, on a schedule, or with auto-reload when you run low. Top up any amount you like. The balance never expires.
The price list
USD per 1M tokens:
| Model | Input | Cached input | Output |
|---|---|---|---|
solcard-inference-fast | $1.25 | $0.125 | $2.50 |
solcard-inference-large | $3.75 | $0.375 | $6.25 |
solcard-inference-base | $1.25 | $0.125 | $3.75 |
- Cached input costs a tenth of input. It’s the part of your prompt the model already has in its cache, usually the start of a long conversation it saw a moment ago.
- Reasoning counts as output. When a model thinks before it answers, those tokens are billed like the answer.
- Web search is $0.008 a search, on top of tokens, and only when you turn it on.
The live rates are always at GET /v1/models.
Before the request: a hold
Before a request runs, we set aside enough of your balance to pay for its worst case: all of its input, plus the most output it’s allowed to write. That’s your max_tokens, or 32,768 tokens if you don’t set one.
Say you send 2,000 tokens to Fast with max_tokens set to 1,000:
- 2,000 input tokens × $1.25 per million = $0.0025
- 1,000 output tokens × $2.50 per million = $0.0025
- Held: $0.005
The hold is why a request can never spend money you don’t have. Two requests at once each hold their own share, so they can’t both spend the same dollar.
After the request: the charge
When the answer finishes, you’re charged for what it actually used, and the rest of the hold goes back.
The model above answers in 300 tokens:
- 2,000 input tokens = $0.0025
- 300 output tokens = $0.00075
- Charged: $0.00325. Released: $0.00175.
Your usage page shows that line: the time, the key, the model, the tokens in and out, and the cost.
When the balance is low
- If your balance covers only part of the output you asked for, the request still runs, with its output limit lowered to what the balance can pay for.
- If it can’t cover even a short reply, the request stops before it starts, with
402 insufficient_balanceand a link to top up.
Set max_tokens when your balance is small. Without it, every request holds room for 32,768 output tokens, and a few running at once can tie up more of your balance than they’ll ever spend.
Plans
A monthly plan is a block of usage at a better rate than pay as you go:
| Plan | Price a month | Usage | Against pay as you go |
|---|---|---|---|
| Starter | $20 | Standard | 20% more |
| Pro | $100 | 5× Starter’s | 20% more |
| Max | $200 | 10× Starter’s | 25% more |
“20% more” means the month holds 20% more usage than the same money buys as you go, measured at the rates above. A plan also raises your rate limits, from 60 requests a minute on pay as you go to 120, 300 or 600.
Plan usage comes in windows. Each plan has a 5-hour limit (a twentieth of the month) and a weekly limit (a little under a quarter). Each starts with the first request it pays for. The month resets at renewal, and unused usage doesn’t roll over.
Which money pays
The chat app uses your plan first. Past a window’s limit, chat keeps going on your balance until the window resets. That’s extra usage: you can turn it off, or cap it, from the dashboard.
API keys use your credits first, any free credit and then your balance. A request your credits can’t fully cover falls back to your plan, inside the same windows.
When nothing can pay, the request returns 429 plan_limit_reached with resets_at, the moment a window opens again.
Changing plans
- Upgrades start at once.
- Switching down takes effect at renewal.
- Plans renew from your balance. If it’s short, you’re back on pay as you go.
- Nothing is refunded.
The short version
You pay before, you’re charged after, and you get back what you didn’t use. Plans buy usage in bulk, chat spends the plan first and keys spend credits first. Your balance never expires.