> For the complete documentation index, see [llms.txt](https://docs.solventus.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.solventus.org/core-concepts/credits.md).

# Credits

Solventus bills inference in credits. A credit is worth exactly $0.01 USDC: you buy credits with USDC, then spend them on requests.

The point of having credits at all is to decouple day-to-day spending from on-chain settlement. Instead of your wallet prompting for a USDC transfer on every message of a conversation, you deposit once and draw the balance down across as many jobs as you like, approval-free.

***

## Properties at a glance

| Property         | Value                                                     |
| ---------------- | --------------------------------------------------------- |
| Value            | 1 credit = $0.01 USDC                                     |
| Purchased with   | USDC (SPL token) on Solana                                |
| Transferable     | No; credits are bound to the purchasing wallet            |
| Expiry           | Never                                                     |
| Minimum purchase | 100 credits ($1.00 USDC)                                  |
| Refundable       | Yes; unspent credits can be withdrawn as USDC at any time |

The non-transferability is deliberate. It rules out a secondary credit market and keeps the accounting trivial: one wallet, one balance.

***

## Funding your balance

**In the web app:**

1. Connect a Solana wallet (Phantom, Solflare, or Backpack) at `solventus.org/app`
2. Choose "Add credits" in the top navigation bar
3. Enter how much you want
4. Confirm the USDC transaction in your wallet

Your USDC goes straight to the `job_escrow` program, which books the balance under your wallet address. The deposit's network fee is covered by Solventus through its fee payer, so SOL is never needed. With Solana confirming blocks every \~400ms, the balance typically reflects the deposit within a second or two.

**Through the API:** There is no purchase endpoint. Credits are funded from the web app or with a wallet payment QR.

**With a payment QR:** The purchase screen can produce a Solana Pay QR code for any compatible mobile wallet. Scanning it pre-fills the exact USDC amount and the deposit address of the `job_escrow` program.

***

## Pricing tiers

| Tier     | Model range                 | Cost per request   |
| -------- | --------------------------- | ------------------ |
| Lite     | 1B to 3B parameter models   | 2 credits ($0.02)  |
| Standard | 7B to 8B parameter models   | 8 credits ($0.08)  |
| Pro      | 13B to 27B parameter models | 18 credits ($0.18) |
| Max      | 70B+ parameter models       | 40 credits ($0.40) |

These per-request prices apply to completions of up to roughly 500 output tokens. Past that, billing moves to a rate per 1,000 output tokens:

| Tier     | Per 1,000 output tokens |
| -------- | ----------------------- |
| Lite     | 1 credit ($0.01)        |
| Standard | 4 credits ($0.04)       |
| Pro      | 9 credits ($0.09)       |
| Max      | 20 credits ($0.20)      |

Whatever a request costs is locked in escrow up front. A failed or timed-out job returns those locked credits to your balance without any action on your part.

***

## Checking your balance

**Dashboard:** The web app shows your balance in the top navigation bar, always.

**API:** Call `GET /v1/account` with your API key. You get back `credits_remaining` and `usdc_value`.

```json
{
  "wallet": "7vKxPmDhrqTnGwQeCM4tW8jY5uZbNfRsAoLdXiE29GqB",
  "credits_remaining": 1420,
  "usdc_value": 14.20,
  "last_topup_at": "2026-06-15T09:43:00Z"
}
```

**On-chain:** The balance itself lives in the `job_escrow` program, keyed by your wallet address. Query it straight from the Solana JSON-RPC (`https://api.mainnet-beta.solana.com`), or look it up on Solscan at `solscan.io`.

***

## Low balance alerts

A webhook can notify you whenever the balance dips under a threshold you set; the event is `credit.low`, documented on the \[Webhooks]\(

) page.

In the web app, a warning banner appears once you fall below 100 credits.

***

## Getting unused credits back out

To turn leftover credits back into USDC:

1. Open Settings in the web app
2. Choose "Withdraw credits"
3. Enter an amount, or withdraw everything
4. Confirm the transaction in your wallet

A single transaction moves the USDC out of the `job_escrow` program and back to your wallet. Withdrawals carry no fee, and the protocol's fee payer covers the network fee.

***

## Credits vs $SOLVENTUS

These are two unrelated instruments with different jobs.

|           | Credits                             | $SOLVENTUS                        |
| --------- | ----------------------------------- | --------------------------------- |
| Purpose   | Pay for inference jobs              | Stake, govern, earn protocol fees |
| Value     | Fixed at $0.01 USDC                 | Market price                      |
| Earned by | Purchasing with USDC                | Providing compute, staking        |
| Spent on  | Inference requests                  | Staking (locked, not spent)       |
| On-chain  | Balance in the `job_escrow` program | SPL token balance                 |

Using Solventus requires no $SOLVENTUS, and providing compute requires no credits. The two never intersect.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.solventus.org/core-concepts/credits.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
