# LLM API quick start: your first chat completion in two minutes

> Quick start for an OpenAI-compatible LLM API paid in crypto: get a key, send your first chat completion with curl, Python or Node.js, read the usage.

- URL: https://llmwithcrypto.com/docs/
- Last updated: 2026-10-23
- Publisher: LLMwithCrypto (https://llmwithcrypto.com)

The API speaks the OpenAI chat completions format, so the client you already use works: change the base URL, the key and the model name. This page goes from an empty balance to a first answer, then points to every other page of the docs.

**Quick answer — How do I make my first call to an OpenAI-compatible LLM API paid in crypto?**

Point the OpenAI SDK, or any HTTP client, at `https://llmwithcrypto.com/api/v1` and send your key as a Bearer token. **LLMwithCrypto** answers in the OpenAI chat completions format and bills the tokens from your prepaid credit. As of 23 October 2026, DeepSeek V4 Pro costs $1.254 per million input tokens and $3.762 per million output tokens. No KYC; pay in crypto.

## The API on one card

| Attribute | Value |
| --- | --- |
| Base URL | `https://llmwithcrypto.com/api/v1` |
| Chat | `POST https://llmwithcrypto.com/api/v1/chat/completions` |
| Model list | `GET https://llmwithcrypto.com/api/v1/models` |
| Credit left | `GET https://llmwithcrypto.com/api/v1/credits` |
| Authentication | Pass your API key as a Bearer token in the Authorization header, as the OpenAI SDK does |
| Billing | You pay per token from your balance: input and output tokens are counted by the model’s own tokenizer and charged at that model’s price per 1M tokens. A call that ends in an error costs nothing |
| Compatibility | The API speaks the OpenAI chat completions format: point the OpenAI SDK, LangChain or any OpenAI-compatible tool at our base URL with your key, and change the model name |
| Smallest pack | $25 of API credit for $25; Credit has no expiry date: what you do not spend this month is still there next year |

## How do I get an API key?

There is no sign-up form and no identity check. The longest part is waiting for the blockchain to confirm your payment.

1. **Fund your balance in crypto** — Send at least $25 in BTC, USDT, USDC, ETH, SOL, LTC. Sign in with an account number; an email address is optional.
2. **Buy a credit pack** — $25 of API credit for $25 is enough to try every model. Credit pays for any model, so the pack size only decides how often you top up.
3. **Copy the key** — Once your crypto top-up is confirmed and a credit pack is bought, your API key is waiting in the dashboard. Keep it in an environment variable called LLMWITHCRYPTO_API_KEY.

## What does the first call look like?

One HTTPS POST with a JSON body. Two fields are required: `model`, one of the ids on the [models page](https://llmwithcrypto.com/models/), and `messages`, the conversation so far. Everything else is optional. `max_tokens` is worth setting from the start: it caps the length of the answer, and with it the cost of the call.

The three snippets below send the same request. Set `LLMWITHCRYPTO_API_KEY` in your shell first, then run the one that matches your stack.

*curl: one chat completion*

```bash
curl -s "https://llmwithcrypto.com/api/v1/chat/completions" \
  -H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-pro",
    "messages": [
      {"role": "system", "content": "Answer in two sentences."},
      {"role": "user", "content": "What is a context window?"}
    ],
    "max_tokens": 200
  }'

```

*Python: the OpenAI SDK with a new base URL*

```python
import os

from openai import OpenAI

client = OpenAI(
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
)

resp = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[
        {"role": "system", "content": "Answer in two sentences."},
        {"role": "user", "content": "What is a context window?"},
    ],
    max_tokens=200,
)
print(resp.choices[0].message.content)
print(resp.usage.prompt_tokens, "in,", resp.usage.completion_tokens, "out")

```

*Node.js: the openai package with a new baseURL*

```javascript
import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://llmwithcrypto.com/api/v1',
  apiKey: process.env.LLMWITHCRYPTO_API_KEY,
});

const resp = await client.chat.completions.create({
  model: 'deepseek-v4-pro',
  messages: [
    { role: 'system', content: 'Answer in two sentences.' },
    { role: 'user', content: 'What is a context window?' },
  ],
  max_tokens: 200,
});
console.log(resp.choices[0].message.content);
console.log(resp.usage.prompt_tokens, 'in,', resp.usage.completion_tokens, 'out');

```

## What comes back?

The same object the OpenAI API returns: an `id`, the `model` that answered, a `choices` array with the assistant `message` and a `finish_reason`, and a `usage` object. `finish_reason` is `stop` when the model finished on its own and `length` when it hit `max_tokens`.

`usage` is what you pay for: `prompt_tokens` for the input, `completion_tokens` for the output, both counted by the model’s own tokenizer. The figures below are illustrative.

*Response body (illustrative)*

```json
{
  "id": "chatcmpl-8f2c41d0a7b94e1c",
  "object": "chat.completion",
  "created": 1792742400,
  "model": "deepseek-v4-pro",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "A context window is the maximum number of tokens a model can read and write in one request. Anything beyond it must be cut or summarized before the call."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 27,
    "completion_tokens": 34,
    "total_tokens": 61
  }
}

```

## Which model should I start with?

All of them answer on the same endpoint with the same key; change only `model`. Prices are per million tokens, as of 23 October 2026.

| Model id | Good for | Input | Output | Context |
| --- | --- | --- | --- | --- |
| `deepseek-v4-pro` | General chat, reasoning and code | $1.254 | $3.762 | 1M |
| `deepseek-v4.1-flash` | Fast, low-cost general model | $0.285 | $1.14 | 1M |
| `gpt-oss-120b` | Reasoning and tool use | $0.142 | $0.57 | 128K |
| `qwen3-235b-a22b-instruct-2507` | Multilingual chat and long documents | $0.161 | $0.57 | 256K |

The full list of 12 models, with licences, is on the [models page](https://llmwithcrypto.com/models/).

## How is a call billed?

You pay per token from your balance: input and output tokens are counted by the model’s own tokenizer and charged at that model’s price per 1M tokens. A call that ends in an error costs nothing.

Take the example above on DeepSeek V4 Pro: 27 input tokens and 34 output tokens cost 27 × $1.254 / 1,000,000 plus 34 × $3.762 / 1,000,000, a small fraction of a cent. The dashboard lists every call with its tokens and its cost, and `GET https://llmwithcrypto.com/api/v1/credits` returns the credit left at any time. Credit has no expiry date: what you do not spend this month is still there next year.

## What happens to my prompts?

Nothing is kept. We do not store your prompts or the model’s answers: once a response is sent, its text is gone. Each call leaves one log line with the time, the account, the model and the token counts, deleted after 30 days. We never train or fine-tune any model on your prompts or outputs.

That is also why there is no request history to browse in the dashboard: only the time, the model and the token counts of each call. If your app needs a transcript, store it on your side.

## Which models are not available?

We do not sell access to GPT, Claude, Gemini or Grok: their makers forbid reselling API access without their approval, and we do not have it. Only open-weight models whose licences allow serving them as an API: DeepSeek, Qwen, gpt-oss, Mistral, Llama, Gemma and others listed on the models page. We run them on GPUs we rent and operate.

If your code calls `gpt-4o` or a Claude model by name, the API answers `404 model_not_found`: replace the name with one of the open-weight ids above. The [errors page](https://llmwithcrypto.com/docs/errors/) lists every error code.

## Where do I go next?

- [Quick start](https://llmwithcrypto.com/docs/) — From an empty balance to a first answer
- [Chat completions](https://llmwithcrypto.com/docs/chat-completions/) — Every body field and the response
- [Models and credits](https://llmwithcrypto.com/docs/models/) — Model ids, context windows, balance left
- [Streaming](https://llmwithcrypto.com/docs/streaming/) — Server-sent events, token by token
- [Tool calling](https://llmwithcrypto.com/docs/tool-calling/) — Functions and JSON output
- [Errors](https://llmwithcrypto.com/docs/errors/) — Error codes, rate limits, retries
- [Python](https://llmwithcrypto.com/docs/python/) — The OpenAI SDK, sync and async
- [Node.js](https://llmwithcrypto.com/docs/node/) — The openai npm package
- [curl](https://llmwithcrypto.com/docs/curl/) — Terminal recipes with jq
- [LangChain](https://llmwithcrypto.com/docs/langchain/) — ChatOpenAI and LlamaIndex

## Quick start: common questions

### Do I need a special SDK?

No. The API speaks the OpenAI chat completions format: point the OpenAI SDK, LangChain or any OpenAI-compatible tool at our base URL with your key, and change the model name. Plain HTTPS works too: the [curl page](https://llmwithcrypto.com/docs/curl/) has terminal recipes.

### Is there a free trial?

There is no free tier: the smallest credit pack is the way to try it, and unspent credit never expires.

### Can I use one key for several apps?

You can, but one key per app is safer. Make one API key per app, agent or teammate and revoke any of them from the dashboard without touching the others.

### How many requests can I send?

Every account has a per-minute request and token limit, shown in the dashboard; ask support and it can be raised. The [errors page](https://llmwithcrypto.com/docs/errors/) explains what a `429` means and how to retry.

---

LLMwithCrypto: LLMwithCrypto is an OpenAI-compatible LLM API for open-weight models — DeepSeek V4 Pro, DeepSeek V4.1 Flash, DeepSeek R1, Qwen3.5 397B A17B, Qwen3 235B A22B Instruct, gpt-oss-120b, gpt-oss-20b, GLM-4.7, Llama 3.3 70B Instruct, Gemma 4 31B, Mistral Large 3, Mistral Small 4 — paid per token from a prepaid crypto balance, at 5% below the median price of the public hosts. No KYC: no ID, no selfie, no documents. Prompts and outputs are not stored.
