Docs

Swap one base URL.

Recovea speaks the OpenAI and Anthropic wire protocols. Your SDK, your models, and your request shape do not change.

Before you start

  • A Recovea workspace. Start free, then mint a key.
  • Your own provider key, added once in the console. Your provider keys stay yours: sealed, bound to your workspace, never written to a log.

OpenAI

Keep your provider account and your model names. Send the Recovea key as the SDK’s API key; the provider key stays in your workspace.

Python

from openai import OpenAI

client = OpenAI(
    api_key=RECOVEA_KEY,
    base_url="https://api.recovea.ai/v1",   # the only change
)

TypeScript

import OpenAI from "openai"

const client = new OpenAI({
  apiKey: RECOVEA_KEY,
  baseURL: "https://api.recovea.ai/v1",  // the only change
})

Anthropic

Python

from anthropic import Anthropic

client = Anthropic(
    api_key=RECOVEA_KEY,
    base_url="https://api.recovea.ai",   # the only change
)

Any OpenAI-compatible endpoint

Declare a destination in the console, connect its key, arm it.

Python

client = OpenAI(
    api_key=RECOVEA_KEY,
    base_url="https://api.recovea.ai/upstream/v1",
)

Metered and capped like the rest. The receipt carries the cost your destination reported, or none where it reports none.

What happens next

The first call is metered as it returns: cost, tokens, model and route land on the console, and a receipt is written into the hash-chained ledger. Designed to fail open: if the gateway degrades, traffic goes straight to your provider. The only stop is a cap you armed.

When you are ready to stop spend rather than watch it, arm a cap and read the refusal contract.