Client gallery · Cline

Point Cline at the plane.

Mint a Trial key, keep your vendor key, and set Cline to OpenAI Compatible against https://api.reacontrolplane.com/v1. LoopGuard, PreFlight and TraceGuard are on the hop in every tier.

https://api.reacontrolplane.com/v1

Open Trial signup. Name, work email, and company (phone optional). No card. Key is shown once; copy it. We cannot email a recovery copy yet. You bring your own model key.

Before you open Cline

  1. Mint a REA key at https://api.reacontrolplane.com/signup (or use a paid hop key issued by REA).
  2. Keep a vendor key for the model you will call: OpenAI, Anthropic, xAI, or Google AI Studio.
  3. Install Cline in VS Code (or Cursor). You will use API Provider OpenAI Compatible.
Paid tiers are issued by REA while self-serve checkout is being built. Email elijah@reacontrolplane.com.

Cline fields (OpenAI Compatible)

FieldValue
API ProviderOpenAI Compatible
Base URLhttps://api.reacontrolplane.com/v1
API KeyYour REA key (rea_…)
Custom header nameX-Upstream-Api-Key
Custom header valueYour vendor model key
Model IDOne of the four below

Cline sends the REA key as Authorization: Bearer. The vendor key must go in X-Upstream-Api-Key. Missing that header returns 400 and burns no loop.

Step by step in Cline

  1. Open Cline settings → API Configuration.
  2. Set API Provider to OpenAI Compatible.
  3. Set Base URL to https://api.reacontrolplane.com/v1 (include /v1).
  4. Paste your REA key into API Key.
  5. Add a custom header: name X-Upstream-Api-Key, value = your vendor key.
  6. Set Model ID to a matching vendor model (table below).
  7. Save. Send a short prompt. You should get a normal completion when the vendor key matches the model.

For Claude, also add X-REA-Upstream: anthropic if the model id is not already claude-*. The Anthropic key still goes in X-Upstream-Api-Key. xAI and Gemini do not need X-REA-Upstream.

Model picks the vendor

modelVendor key in X-Upstream-Api-KeyExtra header
gpt-4o-mini (or other gpt-*)OpenAI (sk-…)none
claude-haiku-4-5-20251001 (or other claude-*)Anthropic (sk-ant-…)X-REA-Upstream: anthropic if the model name is not claude-*
grok-3-mini (or other grok-*)xAInone
gemini-flash-latest (or other Gemini id)Google AI Studionone

Wrong pairing fails upstream — the plane does not swap keys for you. REA does not host models and does not bill tokens.

What you should see on the tape

After a hop works, these LoopGuard outcomes are live on the plane. Status names are the rea_meta.sandbox_status values documented on Set up:

You sendExpected tape
Broken snippet twiceSYNTAX_REJECT, then CACHE_HIT (mode=cache), same structural_hash, vendor not billed again
while True: pass (raw or fenced)BLOCKED_TIMEOUT (mode=block) on first sight; the repeat is CACHE_HIT (mode=cache)
Tools with BYOK headerfinish_reason=tool_calls when the vendor returns tools
Aim for vendor-real completions, not only mock fallbacks. Console (Turns, PreFlight, TraceGuard): https://api.reacontrolplane.com/app.

The two headers (reference)

Authorization: Bearer YOUR_REA_API_KEY
X-Upstream-Api-Key: YOUR_MODEL_KEY
Content-Type: application/json

Optional for Claude when the model id is not claude-*:

X-REA-Upstream: anthropic

Quick checks

What runs on the hop

PreFlight checks declared deny rules before the vendor sees the call; a refused call costs $0. For calls that use tools, TraceGuard records a class-only receipt (tool names, class, response label) in observe mode. No message content is stored.