ACPpotamia

Features / Claude (Anthropic) gateway

A Claude API gateway for teams running agents on Anthropic.

Use the official Anthropic SDK as it is. Set the base URL to ACPpotamia and add one header; every Claude call is checked against your budget and limits, billed at Anthropic's list price including prompt caching, and logged.

How it works.

Messages API, streamed or not

Usage is read from Anthropic's own events, including cache reads and writes.

Token counting and model list pass through

count_tokens and the models list work as the SDK expects, without being billed.

Claude Opus, Sonnet and Haiku

Current Claude model prices are built in.

TypeScript

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  baseURL: "https://acp.examopotamia.com",
  apiKey: process.env.ANTHROPIC_API_KEY,
  defaultHeaders: { "X-ACP-Key": process.env.ACP_KEY, "X-ControlPlane-Agent-Id": "research-agent" },
});

Questions.

Is my Anthropic key stored?

No. The SDK sends it as x-api-key; ACPpotamia passes it to Anthropic on each call and never stores it.

Does prompt caching still work?

Yes. Requests reach Anthropic unchanged, and cached input is billed at the lower cache price.

Related features.