/concepts.md. The full docset is at /llms-full.md and the index is at /llms.md.How C3 works
C3 runs your code on a GPU in a data centre. You point it at a project folder, say what hardware you want, and it provisions the machine, sets up the environment, runs your script, saves the output and shuts the machine down. You pay for the seconds it ran.
What you deploy
One of three things, chosen in .c3:
- A Python project. C3 installs your
pyproject.tomldependencies withuvand runs your script in that environment. The environment is cached, so the second job starts faster than the first. - A container. C3 pulls a public Docker Hub or GitHub Container Registry image and runs your script inside it. Use this for system packages, other languages or a specific CUDA stack.
- A plain Bash script. C3 runs it on the machine as is. Whatever it needs, it installs itself.
Whichever you choose, the whole project folder goes with it, and the script runs from that folder on the machine. See Environments.
Deploy, then walk away
c3 deploy uploads the folder and returns a job ID within seconds. From then on the job is C3's problem, not your laptop's. Close the lid, lose the wifi, go home. The job queues for a machine, runs to completion, and its output is saved in C3's storage.
Come back whenever you like:
c3 squeue # what is queued, running and finished
c3 logs job_abc123 # what it printed
c3 pull job_abc123 # download its results
The same jobs show in the dashboard and to any coding agent connected through the MCP server. If you would rather watch, c3 deploy -f streams the logs live, and closing the terminal does not stop the job.
If you have used Slurm: c3 deploy is sbatch, c3 squeue is squeue, c3 cancel is scancel, and .c3 replaces the #SBATCH header. The difference is that there is no shared filesystem and no login node. Everything the job needs goes in with it, and everything it produces comes out as artifacts.
Files in, files out
| Workspace | Dataset | Artifacts | |
|---|---|---|---|
| What | Your code: .c3, the script, source, pyproject.toml | Inputs: measurements, images, model weights | Outputs: results, plots, checkpoints |
| How it gets there | Uploaded automatically by every c3 deploy | Uploaded once with c3 data cp, mounted with datasets: | Written by the job to $C3_ARTIFACTS_DIR or an output: directory |
| On the machine | The working directory | The mount path, such as /data/my-data | Collected after the script exits |
Three rules cover most mistakes:
- The workspace is everything under
.c3. It is hashed on every deploy and staged onto every machine. That is fine for code and wrong for data. Anything over a few hundred megabytes, shared between projects, or not written by you belongs in a dataset: upload it once, mount it from any job. - Only artifacts survive. Files written anywhere else on the machine are gone when the job ends. Write results to
$C3_ARTIFACTS_DIRor a directory listed underoutput:. See Artifacts. - Results can feed the next job. Mount
/jobs/<job-id>as a dataset and the next job reads the previous one's output without it ever coming back to your laptop.
Hardware
Ask for a class and C3 picks the cheapest available machine in it: l40 (48 GB, the default), a100 (80 GB) or h100 (80 GB). Or name an exact profile from c3 list --all, including CPU-only machines with up to 96 cores and 384 GB of RAM. C3 buys from several providers and routes each job to whichever has the machine. See Hardware and capacity.
Job lifecycle
| State | Meaning |
|---|---|
PENDING | Accepted, waiting for a machine |
SCHEDULING | Machine assigned, environment being prepared |
RUNNING | Your script is executing. Billing starts here |
SUCCEEDED | Script exited 0 and results were collected |
FAILED | Script exited non-zero, or C3 could not run it |
CANCELED | Stopped by c3 cancel |
TIMED_OUT | Hit the time limit |
c3 squeue shows SUCCEEDED as COMPLETED, and as SYNCED once you have run c3 pull.
What it costs
Per second while RUNNING, at the hourly rate of the machine the job landed on. Queueing, provisioning and result upload are free. Credit is reserved when you submit and refunded if the job never ran. New accounts start with £10. Your plan sets how many machines you can run at once. See Pricing and plans.
Glossary
| Term | Meaning |
|---|---|
| Class | A family of GPUs you can request: l40, a100, h100 |
| Profile | An exact machine type, such as h100-80gb or cpu-d3-96vcpu-384gb |
| Provider | The data centre operator that supplied a machine |
| Workspace | The files under .c3 that c3 deploy uploads |
| Dataset | Data uploaded once with c3 data cp, versioned, mountable in any job |
| Artifacts | Files a job wrote to $C3_ARTIFACTS_DIR or an output: directory |
| Chip | One running machine, GPU or CPU. Plans limit chips in use at once |
| Walltime | The time limit in .c3. Default one hour |