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

# Quickstart

`$ email in. no ETH. no KYC.`

You can come in through three doors: as a user, a developer, or a provider. All three are open today. Every door starts the same way, with an account made from an email and a password, and none of them asks you for ETH or KYC.

***

## Users: your first chat with me

**What you need:** An email address for your account, and a little USDG on Robinhood Chain to turn into units. You never need ETH, because I sponsor gas through ERC-4337.

**How long:** Under 5 minutes.

**1. Make your account**

Go to [theacompute.com/app/signup](https://theacompute.com/app/signup) and sign up with your email and a password. I'll email you a confirmation link. Click it, then sign in at [theacompute.com/app/login](https://theacompute.com/app/login).

**2. Top up your units**

I price inference in units: one unit is $0.01, paid in USDG, so 1 USDG gets you 100 units. Your units never expire.

Open Settings, find "Your units", and click "Add more units". That opens "Top up your units", where I walk you through three steps:

1. Tell me how much USDG you want to convert.
2. Send exactly that amount on Robinhood Chain to the escrow address I show you.
3. Tap "I've sent my USDG", and I confirm the transfer on-chain.

Your balance sits in the top bar as "N units", so you always know where you stand.

**3. Pick a model and talk to me**

Open Chat and choose any of my models. Each message costs that model's units per request. I'd start with **Qwen3 8B** (Standard tier, 8 units per request): it's quick, it's capable, and enough workers host it that I can always reach it.

Now say something to me. Your browser encrypts the prompt before it leaves, one of my workers picks up the job, runs inference, and I stream the tokens back to your screen. The worker only ever sees a wallet address, never who you are.

Done. There's no log of it anywhere, and I've already settled the job's payment on Robinhood Chain. You'll find the job on your Jobs page ([theacompute.com/app/jobs](https://theacompute.com/app/jobs)) with its receipt and a Blockscout link.

***

## Developers: call my API

**What you need:** Your account with some units in it (top up in Settings as above), plus an API key.

**How long:** Under 10 minutes.

**1. Create an API key**

Sign in at [theacompute.com/app/login](https://theacompute.com/app/login), open Settings, and make a key under "Your API keys". My keys start with `thea_live_`, and I show each one only once, so copy it somewhere safe. Every key spends from your account's units. (My API calls units "credits", which is why you'll see names like `x-theacompute-credits-remaining` in my responses.)

**2. Send me a request**

I speak the OpenAI wire format. Swap one line (the base URL) and your code stays as it is:

```python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.theacompute.com/v1",
    api_key="thea_live_your_key_here"
)

response = client.chat.completions.create(
    model="llama-3.3-70b",
    messages=[{"role": "user", "content": "Explain optimistic rollups in plain terms."}],
    stream=True
)

for chunk in response:
    print(chunk.choices[0].delta.content or "", end="", flush=True)
```

```typescript
import OpenAI from "openai"

const client = new OpenAI({
    baseURL: "https://api.theacompute.com/v1",
    apiKey: "thea_live_your_key_here"
})

const stream = await client.chat.completions.create({
    model: "qwen3-8b",
    messages: [{ role: "user", content: "What is an ERC-4337 smart account?" }],
    stream: true
})

for await (const chunk of stream) {
    process.stdout.write(chunk.choices[0]?.delta?.content ?? "")
}
```

**3. Check my receipt on-chain**

Every API call you make ends in Robinhood Chain transactions. Look at the response headers: `x-theacompute-job-id` is the job, `x-theacompute-tx-hash` is the transaction where I locked your escrow, and `x-theacompute-settlement-tx` is the one where I released payment once the job completed. Search for either hash on Blockscout at `robinhoodchain.blockscout.com` and see it for yourself. You don't have to take my word for it.

***

## Providers: lend me your GPU

**What you need:** A TheaCompute account, a browser that supports WebGPU (Chrome 113 or newer), and an Ethereum wallet to receive your payouts. You can start a browser worker holding zero USDG.

**How long:** Under 5 minutes.

**Browser worker (no install needed)**

1. Sign in at [theacompute.com/app/login](https://theacompute.com/app/login) and open **Earn**.
2. In "Lend me your GPU", pick **Browser worker**.
3. Fill in "Your rig's name", "Your GPU (optional)", "VRAM (GB)", "Models I can send you", and "Your payout wallet (Ethereum)".
4. Click **"Sign me up"**.
5. Flip the toggle that reads **"Offline · put me to work"** (or click **"Start taking jobs"**) to go live.

I'll send you jobs within seconds. For every job you finish, I pay USDG straight to the payout wallet you entered. When you want to step away, flip the toggle to **"Online · take a break"**. Your GPU just picked up a day job.

Your Earn page keeps score for you: your reputation, the jobs you ran, what you've earned, your uptime, "Your stake" (your staked $THEA and your payout rate), the models you serve, and your payout wallet.

**Native worker (I pay more)**

My \[Native Worker guide]\(

) takes you through installing and configuring `theacompute-node`. Native workers run every model size and earn 85% of job value instead of 75%, but they have to stake at least 1,000 $THEA. The Earn page shows your stake but has no stake button, so you stake through my `staking` contract.

***

## My models and what they cost

Every job is priced by tier: Lite is 2 units, Standard is 8, Pro is 18, and Max (70B and bigger) is 40.

| Model         | Tier     | Cost per request | VRAM required |
| ------------- | -------- | ---------------- | ------------- |
| Llama 3.3 70B | Max      | 40 units ($0.40) | 48GB+         |
| DeepSeek R1   | Max      | 40 units ($0.40) | 48GB+         |
| Qwen3 8B      | Standard | 8 units ($0.08)  | 8GB+          |
| Mistral 7B    | Standard | 8 units ($0.08)  | 8GB+          |
| Llama 3.2 3B  | Lite     | 2 units ($0.02)  | 4GB+          |
| Qwen3 1.7B    | Lite     | 2 units ($0.02)  | 3GB+          |

Once a reply goes past roughly 500 output tokens, I stop charging the flat per-request price and switch to a per-1,000-output-token rate.

***

## Where to go from here

* \[Core Concepts]\() follows a job through my network, from the moment you send it to settlement
* \[API Reference]\() covers every endpoint I expose
* \[Providers: Browser Worker]\() goes deep on setting up a browser worker
* \[Providers: Native Worker]\() is my full guide to a native install
* \[Staking]\() explains the stake native workers need and what it earns you


---

# 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.theacompute.com/quickstart.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.
