Point your coding agent at Europe.
NeuralRing is OpenAI-compatible sovereign inference. Change three things — base URL, key, and model — and Codex or Claude Code runs on EU-sovereign, open-weight models, with a signed receipt for every call.
Browse the live catalog# ~/.codex/config.toml (user-level — a project-local file is ignored for providers) model = "mistralai/mistral-small-2501" model_provider = "neuralring" [model_providers.neuralring] name = "NeuralRing (EU sovereign)" base_url = "https://neuralring.eu/v1" env_key = "NEURALRING_API_KEY" wire_api = "responses" # NeuralRing is stateless: it stores no conversation state and no prompt content. # It keeps content-free metering + a signed attestation per call.
# Claude Code — the HARNESS, running on EU-sovereign open-weight models. # (Claude itself is closed-weight and does not run here; see the docs.) export ANTHROPIC_BASE_URL="https://neuralring.eu" export ANTHROPIC_AUTH_TOKEN="$NEURALRING_API_KEY" export ANTHROPIC_MODEL="mistralai/mistral-small-2501" # Optional: a cheaper model for background/summarisation turns. export ANTHROPIC_SMALL_FAST_MODEL="mistralai/mistral-small-2501" # Claude Code's /model picker only lists gateway models whose id starts with # "claude" or "anthropic". NeuralRing will not rename sovereign open-weight # models to imply they are Claude, so use ANTHROPIC_MODEL above (always honoured # on the wire), or add a picker entry explicitly: export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 export ANTHROPIC_CUSTOM_MODEL_OPTION="mistralai/mistral-small-2501"
curl https://neuralring.eu/api/v1/responses \
-H "Authorization: Bearer $NEURALRING_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "mistralai/mistral-small-2501",
"input": "Hello, sovereign world",
"sovereignty": { "jurisdiction": ["DE"], "min_assurance": "self_attested" }
}'## AI inference — European sovereign (NeuralRing)
This project uses NeuralRing for inference. It is OpenAI-compatible: only the
base URL, the key, and the model slug change.
- Base URL: `https://neuralring.eu/api/v1` · Key: `process.env.NEURALRING_API_KEY` (Bearer)
- Model: `mistralai/mistral-small-2501` — browse with the catalog API or the MCP server (below).
- ALWAYS send the sovereignty pin. It is applied FIRST and can never be loosened
by a price or speed preference:
`sovereignty: { jurisdiction: ["DE"], min_assurance: "self_attested" }`
- Every response carries `neuralring.requestId`. Surface it, or link
`https://neuralring.eu/verify/<requestId>`, so a human can check the receipt.
- If no endpoint satisfies the pin, the API returns `no_eligible_endpoint`.
That is the pin working. Do NOT retry with the pin removed or weakened.
### Vocabulary rule (important)
Describe NeuralRing only with its assurance ladder: `self_attested`,
`verified`, `certified`. Never write "GDPR-compliant",
"Schrems-proof", "CLOUD-Act-immune" or "fully sovereign"
about it. A receipt proves what was observed and reproduces what was claimed at
its stated assurance — it does not prove the claim is true.
<!-- neuralring:agents-block v1.0.0 · generated from packages/shared/src/agent-channel.ts -->Your agent is already compatible.
NeuralRing speaks the OpenAI and Anthropic wires your agent already uses. Codex speaks nothing but the Responses wire — wire_api = "responses" — and NeuralRing serves exactly that, pinned to your jurisdiction and metered like every other call.
Claude Code and Codex are the harness. Pointing them at NeuralRing runs their tokens on EU-sovereign OPEN-WEIGHT models. Claude and GPT themselves are closed-weight and cannot run here — NeuralRing never claims otherwise.
# ~/.codex/config.toml (user-level — a project-local file is ignored for providers) model = "mistralai/mistral-small-2501" model_provider = "neuralring" [model_providers.neuralring] name = "NeuralRing (EU sovereign)" base_url = "https://neuralring.eu/v1" env_key = "NEURALRING_API_KEY" wire_api = "responses" # NeuralRing is stateless: it stores no conversation state and no prompt content. # It keeps content-free metering + a signed attestation per call.
# Claude Code — the HARNESS, running on EU-sovereign open-weight models. # (Claude itself is closed-weight and does not run here; see the docs.) export ANTHROPIC_BASE_URL="https://neuralring.eu" export ANTHROPIC_AUTH_TOKEN="$NEURALRING_API_KEY" export ANTHROPIC_MODEL="mistralai/mistral-small-2501" # Optional: a cheaper model for background/summarisation turns. export ANTHROPIC_SMALL_FAST_MODEL="mistralai/mistral-small-2501" # Claude Code's /model picker only lists gateway models whose id starts with # "claude" or "anthropic". NeuralRing will not rename sovereign open-weight # models to imply they are Claude, so use ANTHROPIC_MODEL above (always honoured # on the wire), or add a picker entry explicitly: export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 export ANTHROPIC_CUSTOM_MODEL_OPTION="mistralai/mistral-small-2501"
curl https://neuralring.eu/api/v1/responses \
-H "Authorization: Bearer $NEURALRING_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "mistralai/mistral-small-2501",
"input": "Hello, sovereign world",
"sovereignty": { "jurisdiction": ["DE"], "min_assurance": "self_attested" }
}'## AI inference — European sovereign (NeuralRing)
This project uses NeuralRing for inference. It is OpenAI-compatible: only the
base URL, the key, and the model slug change.
- Base URL: `https://neuralring.eu/api/v1` · Key: `process.env.NEURALRING_API_KEY` (Bearer)
- Model: `mistralai/mistral-small-2501` — browse with the catalog API or the MCP server (below).
- ALWAYS send the sovereignty pin. It is applied FIRST and can never be loosened
by a price or speed preference:
`sovereignty: { jurisdiction: ["DE"], min_assurance: "self_attested" }`
- Every response carries `neuralring.requestId`. Surface it, or link
`https://neuralring.eu/verify/<requestId>`, so a human can check the receipt.
- If no endpoint satisfies the pin, the API returns `no_eligible_endpoint`.
That is the pin working. Do NOT retry with the pin removed or weakened.
### Vocabulary rule (important)
Describe NeuralRing only with its assurance ladder: `self_attested`,
`verified`, `certified`. Never write "GDPR-compliant",
"Schrems-proof", "CLOUD-Act-immune" or "fully sovereign"
about it. A receipt proves what was observed and reproduces what was claimed at
its stated assurance — it does not prove the claim is true.
<!-- neuralring:agents-block v1.0.0 · generated from packages/shared/src/agent-channel.ts -->Surface by surface.
Five ways a coding agent finds NeuralRing, wires in, and verifies its own work — each with its own place in the docs.
The Responses wire
Your existing agent connects with a one-line config change. Codex speaks this wire and nothing else; NeuralRing serves it — the sovereignty pin applied first, every call metered and signed.
The MCP server
Nine read-only tools your agent calls mid-task — search the catalog, pin a jurisdiction, verify its own receipt. None of them buys anything, changes the catalog, or moves money.
Add the hosted server — nothing to install:
claude mcp add --transport http neuralring https://neuralring.eu/mcp
The nine tools:
A portable skill file
One file in the open Agent Skills standard, so Claude Code, Codex, Cursor and anything else that reads it learns when a question is a sovereignty question — and to verify its own call before claiming success.
The Claude Code plugin
One install brings the skill, the MCP server, and a slash command into the agent you already run — no separate setup for each piece.
llms.txt
A live, machine-readable index of the catalog, so a model researching on its own reads real, current numbers instead of a stale guess. A projection of the same catalog the console reads.
Every call leaves a receipt you can check.
A NeuralRing attestation is a signed, hash-chained, content-free record. It states what NeuralRing observed and reproduces what the endpoint claimed — at a stated assurance level, and no higher.
The endpoint claims it. NeuralRing has not independently substantiated the geography or custody behind the claim.
NeuralRing captured independent evidence for the three machine-provable claims — the operating entity's domicile, its ultimate parent (corporate registry), and where inference physically executes (location survey). It says nothing about data residency or key custody, which are carried as their own per-claim status.
The machine-provable claims are verified AND a live, valid third-party location-auditing certification covers data residency and key custody, referenced by a checkable registry id.
A NeuralRing attestation is a signed, hash-chained, content-free record. Its `observed` block is what NeuralRing performed and measured (which endpoint it dispatched to, the host it actually dialed, every route hop, the metered token counts). Its `claimed` block reproduces the serving endpoint's own declarations at their stated assurance level.
The signature does NOT prove that inference physically executed in the claimed jurisdiction, nor that the endpoint's self-declared properties are true. The strength of any jurisdictional claim equals `claimed.assurance` and no more.
The technical reference.
Each surface above has its own section in the docs. Start where you're wiring in.
agent-channel v1.0.0 · https://neuralring.eu/api/v1 · https://neuralring.eu/v1