Getting Started

Paddock runs open-source models in production on your own hardware, with OpenAI-compatible and Anthropic-compatible APIs, for teams that need the inference to stay on their machines. It is itself open source under MIT or Apache-2.0, at github.com/truespar/paddock.

Install

Early preview. Paddock is early, and it moves quickly: expect frequent releases, new models, and performance work on the models already here. If something is wrong, slow, or missing, there is a feedback button in the Studio that reaches the developers directly. It is the fastest way to influence what gets built next.

Latest version: 0.1.18

Download paddock-0.1.18-x86_64-windows.zip

# Download and extract
Invoke-WebRequest -Uri https://truespar.com/releases/paddock/latest/paddock-0.1.18-x86_64-windows.zip -OutFile paddock.zip
Expand-Archive paddock.zip -DestinationPath paddock

# Start the manager and the Studio
.\paddock\paddock.exe

Unzip it anywhere. Everything Paddock creates lives in data\ beside the binary, so moving the folder moves the install.

Download paddock-0.1.18-x86_64-linux.tar.gz

# Download and extract
curl -LO https://truespar.com/releases/paddock/latest/paddock-0.1.18-x86_64-linux.tar.gz
tar xzf paddock-0.1.18-x86_64-linux.tar.gz
cd paddock

# Start the manager and the Studio
./paddock

Extract it anywhere. Everything Paddock creates lives in data/ beside the binary, so moving the folder moves the install.

Apple Silicon, running on Metal. Two downloads, and which one you want depends on whether a person sits in front of it.

The Mac appThe command-line tools
FilePaddock-0.1.18-macos-arm64.dmgPaddock-0.1.18-macos-arm64-cli.pkg
InstallsPaddock.app, dragged to Applicationspaddock and paddock-runner in /usr/local/bin
ForUsing Paddock on your own MacRunning it as a service, or on a Mac with nobody logged in

Download the app (.dmg)Download the tools (.pkg)

The app is self-contained: its management library and Metal runner are inside the bundle, so there is no separate manager to install and no Python, Node or Rust on the machine.

The package installs the same two programs the other platforms ship, so everything on the CLI and Running as a Service pages applies. It does not start anything by itself: no background service is registered and no model is loaded until you say so. Start the manager the same way as anywhere else:

# After installing the package, both programs are on PATH
paddock --version

# Start the manager and the Studio
paddock

The same payload is also published as Paddock-0.1.18-macos-arm64-cli.tar.gz for a manual install. Prefer the package where you can: a notarization ticket cannot be attached to a bare tar archive, so the .pkg is the one that validates under Gatekeeper without network access.

macOS builds are published on GitHub releases rather than here, so the in-app updater does not track them and the version can differ from the Windows and Linux one. The current macOS build is 0.1.18.

Paddock is free of charge, with no usage limits, for personal and commercial use alike. The terms are the license, and the same text sits in LICENSE.txt inside the archive you just downloaded.

Paddock ships as two programs in one package: paddock, the manager and Studio, and paddock-runner, the model server it supervises.

The builds above are the quickest way to run it and are what the in-app updater tracks. To build from source instead, or to read it, the repository is github.com/truespar/paddock, dual-licensed MIT or Apache-2.0.

Requirements

RequirementDetail
GPUA Blackwell card (RTX PRO, GeForce RTX 50, B200), the GB10 in an NVIDIA DGX Spark, or an Ampere workstation or consumer card (RTX A6000, GeForce RTX 30, A40, A10). Other NVIDIA generations are refused at startup; see GPU Support for the exact list and the reason.
DriverNVIDIA driver 580 or newer. The engine is built against the CUDA 13.0 driver API, so anything older refuses to load it. There is no CUDA toolkit to install; the display driver is the whole dependency.
Operating systemWindows or Linux on x64, or Linux on arm64 for the DGX Spark. On Apple Silicon, macOS 26 or newer, running on Metal instead of CUDA and published on GitHub releases rather than here. AMD GPUs are not supported.
DiskSpace for the GGUF model files you want to serve. The current catalog runs from about 0.6 GB for the smallest embedding model to about 73 GB for Laguna S 2.1; most chat models land between 8 GB and 35 GB.

What Paddock Is

Paddock is a native Rust high-throughput inference engine and server. On NVIDIA it has no dependencies except the display driver. It runs on Windows and Linux on x64, on Linux on arm64 for the DGX Spark, and on Apple Silicon, where it uses Metal instead of CUDA.

The server exposes both the OpenAI API (completions, and the Responses API) and the Anthropic Messages API, so existing SDKs and agent tools connect without changes. It also serves an embedded Studio web UI from the same binary, OpenAI-style embedding and rerank endpoints, image generation and structured reads.

It serves several conversations at once from one model, and one conversation cannot starve the others: while a long prompt is being read for the first time, everybody else keeps getting tokens at a steady pace rather than waiting for it to finish.

Models are plain GGUF files, downloaded from our own object storage and checked against a built-in hash. For how fast it runs, see the benchmarks.

First Run

Paddock ships two programs. paddock is the manager: it runs the Studio, downloads models, supervises model servers, and owns GPU telemetry for the machine. paddock-runner is one model server. Start the manager:

paddock

That brings up the Studio on https://localhost:11500, where you can pick a model, watch it download and start it. Everything the Studio does is also a verb:

# download a catalog model and start serving it
paddock serve qwen3.6-27b

# what is running, with live health
paddock ps

serve takes a catalog id (for example qwen3.5-9b or qwen3.6-27b), an installed model name, or a path to a GGUF file. A catalog model that is not on disk yet is downloaded into the models directory and verified against a built-in SHA-256 hash, along with its vision tower or draft model when it has one.

Each model gets its own server on its own port, allocated upward from 11540, so several models can run side by side. paddock serve writes that server's configuration to ~/paddock/servers/<port>.toml; the file is yours to hand-edit, and paddock-runner --config will run it with no manager involved. Run paddock --help for all verbs, and see the CLI page for the full surface.

Send a Request

Any OpenAI or Anthropic client works by pointing its base URL at the model's port, not the manager's. With curl:

curl http://127.0.0.1:11540/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.5-9b",
    "messages": [{"role": "user", "content": "Say hello."}]
  }'

The API surface each model server exposes:

EndpointDescription
GET /healthzLiveness check.
GET /v1/modelsInstalled models, OpenAI list shape.
POST /v1/chat/completionsOpenAI chat completions.
POST /v1/completionsOpenAI text completions.
POST /v1/responsesOpenAI Responses API.
POST /v1/messagesAnthropic Messages API.
POST /v1/messages/count_tokensAnthropic token counting.
POST /v1/embeddingsEmbeddings (encoder models).
POST /v1/rerankQuery-document reranking (encoder models).
POST /v1/audio/transcriptionsSpeech to text (speech models).
GET /v1/realtimeLive transcription over WebSocket (speech models).
POST /v1/audio/alignmentsWord timings for a transcript you already have (aligner models).
GET /openapi.jsonMachine-readable description of this server's API.
GET /metricsPrometheus metrics for this model server.

A model server binds all interfaces by default and generates a Bearer key at startup, printed in the banner. Calls from the same machine never need it; calls over the network do. see Server Configuration.

Native FP8

Paddock also serves native FP8 on hardware that has it, reading the vendor's official FP8 or bf16 safetensors checkpoint directly instead of going through the Q8_0 middle step. Those checkpoints are not hosted with us, so fetch one yourself from the vendor and point the server at the directory:

paddock serve qwen3.6-27b --fp8-native ~/checkpoints/Qwen3.6-27B-FP8

The flag is --fp8-native <DIR> on a runner, or PADDOCK_FP8_NATIVE. It supplies the native weight planes over the GGUF you are already serving, so keep the model selection as it is and add the directory.

Next Steps

  • Supported Models - the model families the engine serves today, including vision, speech and embedding models.
  • CLI - the manager's verbs and the runner's flags.
  • Server Configuration - flags, environment variables, the config file, and authentication.
  • GPU Support - which GPUs Paddock serves, and which it refuses.
  • Speech to Text - file and live transcription.
  • Benchmarks - measured serving performance.
  • License - what you may do with Paddock, and the full agreement.