> 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/api-reference/jobs.md).

# Jobs

I turn every inference request you send me into a job. Through my Jobs API I'll tell you where any job stands and give you its on-chain receipt. I bill jobs in units; my API calls them credits, so you'll see fields like `credits_charged`.

***

## Look up one job

`GET /v1/jobs/{job_id}`

```bash
curl https://api.theacompute.com/v1/jobs/job_8fx2kp3m9qrstvwxyz \
  -H "Authorization: Bearer thea_live_your_key_here"
```

### What I send back

```json
{
  "id": "job_8fx2kp3m9qrstvwxyz",
  "object": "job",
  "status": "settled",
  "model": "qwen3-8b",
  "tier": "standard",
  "credits_charged": 8,
  "usdg_value": 0.08,
  "worker_address": "0x9d24ab7e315f68c0d1b2fa4c8e0973d65a1cbe48",
  "created_at": "2026-06-15T14:22:00Z",
  "completed_at": "2026-06-15T14:22:03Z",
  "on_chain": {
    "escrow_tx": "0x8c2f41ab9e07d3565f18c4ba20d97e631a5c08f2be49d176e0a3b58c917d24f0",
    "settlement_tx": "0x3a91d5c07f26e8b4915dc3a08e67f21b49c0d8a35e7612fb08d94ce5a172b36d",
    "escrow_address": "0x4be09d7c21f8a3565edc10b9f472ea08d3961c5b",
    "block_number": 12847293,
    "proof_hash": "sha256:a1b2c3d4e5f6..."
  },
  "usage": {
    "prompt_tokens": 48,
    "completion_tokens": 214,
    "total_tokens": 262
  }
}
```

### The statuses I report

| Status       | What it means                                                                          |
| ------------ | -------------------------------------------------------------------------------------- |
| `pending`    | I'm holding your units in escrow while I find a worker                                 |
| `processing` | A worker has picked up your job and is running inference                               |
| `settling`   | The proof is on-chain and I'm confirming settlement                                    |
| `settled`    | All done. I paid the worker and took the units from your balance                       |
| `failed`     | Something went wrong before the job could finish (a routing problem or a worker error) |
| `refunded`   | The job reached my 120-second timeout, so I put the units back in your balance         |
| `disputed`   | The client challenged the result and I'm running arbitration                           |

***

## List your jobs

`GET /v1/jobs`

I page through every job that belongs to the key you authenticated with.

```bash
curl "https://api.theacompute.com/v1/jobs?limit=20&status=settled" \
  -H "Authorization: Bearer thea_live_your_key_here"
```

### Query parameters I accept

| Parameter | Type    | Default | What it does                                                             |
| --------- | ------- | ------- | ------------------------------------------------------------------------ |
| `limit`   | integer | 20      | The number of jobs I return, capped at 100                               |
| `before`  | string  | none    | Cursor: I only return jobs created before this job ID                    |
| `after`   | string  | none    | Cursor: I only return jobs created after this job ID                     |
| `status`  | string  | none    | I only return jobs with this one status, such as `settled` or `refunded` |
| `model`   | string  | none    | I only return jobs for this one model ID                                 |

### What I send back

```json
{
  "object": "list",
  "data": [...],
  "has_more": true,
  "next_cursor": "job_7ex1jo2l8pqrsuvwxy"
}
```

***

## Check my work on-chain

When a job settles, I fill its `on_chain` object with everything you need to verify the payment on your own. You never have to take my word for it.

**Confirm the escrow lock:**

```
https://robinhoodchain.blockscout.com/tx/0x8c2f41ab9e07d3565f18c4ba20d97e631a5c08f2be49d176e0a3b58c917d24f0
```

In this transaction you'll see the debit from your balance of units, the lock I placed in the settlement contract, the model tier I recorded, and the job ID.

**Confirm the settlement:**

```
https://robinhoodchain.blockscout.com/tx/0x3a91d5c07f26e8b4915dc3a08e67f21b49c0d8a35e7612fb08d94ce5a172b36d
```

Here you'll see me release the escrow, send USDG to the worker's wallet and to the protocol treasury, and record the verified proof hash.

No matter what my API says about a job, Robinhood Chain is the ground truth. If we ever disagree, trust the chain.

***

## Disputing a job

If a worker's posted proof doesn't match what you actually got, challenge it. I give you 60 seconds from the final output token to do that.

`POST /v1/jobs/{job_id}/dispute`

```json
{
  "received_output_hash": "sha256:a1b2c3d4..."
}
```

Take the full response text, encode it as UTF-8, drop any trailing newline, hash it with SHA-256, and send me the result. I compare your hash with the one the worker posted on-chain, and if they don't match, I mark the job disputed.

```json
{
  "job_id": "job_8fx2kp3m9qrstvwxyz",
  "dispute_opened": true,
  "your_hash": "sha256:a1b2c3d4...",
  "worker_hash": "sha256:e5f6g7h8...",
  "dispute_tx": "0xb47a20e9c15d38f60a92e7b40c81f5d3968a2ce70b15df4839e6a01c2d7458b9",
  "arbitration_window_hours": 24
}
```

If the hashes match, I tell you so in my response and I don't open a dispute.

I walk through the full dispute and arbitration process in \[how I settle on-chain]\(

\#dispute-process).


---

# 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/api-reference/jobs.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.
