Coding agents

Any tool that lets you set an OpenAI-compatible base URL can use Boardwalk as its inference provider. This page gives working configuration for the common ones; the shape is the same everywhere.

What every tool needs

  • Base URL: https://api.boardwalk.cloud/v1
  • API key: a bw_live_… key from the console. The examples below read it from BOARDWALK_API_KEY.
  • Model id: a slug from the catalog, e.g. boardwalk/qwen3-1.7b.
  • Context window: 32,768tokens, prompt and completion together. Most tools can't discover this for a custom provider, so declare it wherever the config allows.

OpenCode

Add a provider block to ~/.config/opencode/opencode.json (global) or opencode.json in the project root:

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "boardwalk": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Boardwalk",
      "options": {
        "baseURL": "https://api.boardwalk.cloud/v1",
        "apiKey": "{env:BOARDWALK_API_KEY}"
      },
      "models": {
        "boardwalk/qwen3-1.7b": {
          "name": "Qwen3 1.7B",
          "limit": { "context": 32768, "output": 8192 }
        }
      }
    }
  },
  "model": "boardwalk/boardwalk/qwen3-1.7b"
}

The keys under models are sent verbatim as the API model parameter, so they must be full Boardwalk slugs — which is why the selection string doubles the prefix: boardwalk/boardwalk/qwen3-1.7b is <provider>/<model id>. Pick models interactively with /models in the TUI.

Aider

Aider uses the standard OpenAI environment variables; the openai/ prefix on the model name is required:

shell
export OPENAI_API_BASE=https://api.boardwalk.cloud/v1
export OPENAI_API_KEY=$BOARDWALK_API_KEY
aider --model openai/boardwalk/qwen3-1.7b

To silence the unknown-model warning and give Aider the right limits, add a .aider.model.metadata.json in your home directory or the repo root (costs are dollars per token):

.aider.model.metadata.json
{
  "openai/boardwalk/qwen3-1.7b": {
    "max_input_tokens": 32768,
    "max_output_tokens": 8192,
    "input_cost_per_token": 0.0000001,
    "output_cost_per_token": 0.00000025,
    "litellm_provider": "openai",
    "mode": "chat"
  }
}

Continue

Add a model to ~/.continue/config.yaml. Declare capabilities: [tool_use] — for an unrecognised model Continue otherwise falls back to emulating tools through the system prompt:

~/.continue/config.yaml
models:
  - name: Boardwalk Qwen3 1.7B
    provider: openai
    model: boardwalk/qwen3-1.7b
    apiBase: https://api.boardwalk.cloud/v1
    apiKey: <your bw_live_… key>
    roles:
      - chat
      - edit
    capabilities:
      - tool_use
    defaultCompletionOptions:
      contextLength: 32768
      maxTokens: 8192

Cline

Cline is configured in its VS Code settings panel rather than a file. Choose OpenAI Compatible as the API provider, then set the base URL, your API key, and the model id, and open the advanced model settings to set the context window to 32,768 and, if you like, the input and output prices from the catalog so its cost tracking is right.

Crush

Crush is configured through a crushrc (./.crushrc or ~/.config/crush/crushrc), which is Bash with Crush builtins. Use the openai-compat provider type and declare the model yourself — custom providers are not auto-discovered (prices are dollars per million tokens):

~/.config/crush/crushrc
provider add boardwalk --type openai-compat \
  --base-url "https://api.boardwalk.cloud/v1" \
  --api-key "$BOARDWALK_API_KEY"

model add boardwalk/boardwalk/qwen3-1.7b \
  --name "Qwen3 1.7B" \
  --context-window 32768 \
  --default-max-tokens 8192 \
  --price-input 0.10 \
  --price-output 0.25

Codex CLI

What to expect

  • Cold starts. Models scale to zero; the first request after an idle gap can take about a minute to the first token. Coding agents stream, so this shows up as a long pause, not an error — but raise any configurable request timeout to at least 120 seconds. See Latency & cold starts.
  • Tool calls work. tools, tool_choice, and parallel_tool_callsare supported, which is what agentic tools drive everything through. Any parameter a tool sends that we don't honor is rejected with a 400 that names it (see request parameters).
  • These are small models. Qwen3 at these sizes handles focused edits, commit messages, and light refactors well; it is likely to struggle with long agentic sessions that frontier models handle. The per-token prices on the catalog are the whole story either way.