Drop-in for Anthropic · OpenAI · Gemini SDKs
Open the app — chat, console & crypto wallet →
Change one base URL.
Keep your prompts, SDK, tools and response schema.
Decentralised.si is a compatibility gateway and intelligence router. Your application keeps speaking the protocol it already speaks. Behind it we route each request to the lowest expected-cost provider that is capable enough, fast enough and private enough — your own provider accounts (BYOK) or the Decentralised.si network.
Before
After
Migrate in one line
from anthropic import Anthropic
client = Anthropic(
api_key="ds_live_...", # your Decentralised.si key
base_url="https://api.decentralised.si/anthropic", # ← the only change
)
message = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Explain this code..."}],
)import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: process.env.DECENTRALISE_API_KEY,
baseURL: "https://api.decentralised.si/anthropic", // ← the only change
});from openai import OpenAI
client = OpenAI(
api_key="ds_live_...",
base_url="https://api.decentralised.si/openai/v1", # ← the only change
)
client.chat.completions.create(model="gpt-5-mini", messages=[...])
client.responses.create(model="gpt-5", input="...")
client.embeddings.create(model="text-embedding-3-small", input="...")from google import genai
client = genai.Client(
api_key="ds_live_...",
http_options={"base_url": "https://api.decentralised.si/gemini"}, # ← the only change
)
client.models.generate_content(model="gemini-2.5-flash", contents="...")# No code change at all for SDKs that read base URLs from the environment
ANTHROPIC_BASE_URL=https://api.decentralised.si/anthropic
ANTHROPIC_API_KEY=ds_live_...
OPENAI_BASE_URL=https://api.decentralised.si/openai/v1
OPENAI_API_KEY=ds_live_...# Per-request control without touching the request body.
# Omit them and your account-level policy applies.
X-Decentralise-Mode: optimise # passthrough|optimise|cheapest|fastest|quality|private|
# decentralised_only|byok_only|network_only
X-Decentralise-Max-Cost: 0.01 # USD per request
X-Decentralise-Max-Latency-Ms: 2000
X-Decentralise-Min-Quality: 0.90
X-Decentralise-Privacy: strict
X-Decentralise-Verification: standard
X-Decentralise-Shadow: estimate # off|estimate|benchmark
# Every response carries provenance headers:
x-decentralise-requested-model / -actual-model / -actual-provider / -market / -receiptAn adoption path, not a leap
1 · Passthrough
Exactly the provider and model you asked for. Proves compatibility; nothing is substituted.
2 · Observe
Shadow estimate mode records what the router would have chosen, with no extra inference.
3 · Recommend
"We could have answered this for 72% lower estimated cost." Opt into benchmark to verify with real runs.
4 · Optimise
Let the router pick per request, based on difficulty, capability, cost, latency and privacy.
Decentralised super intelligence
Your memory stays on your device
The dsi harness keeps your preferences and memory locally (encrypted), sends only what a request needs, and classifies difficulty on-device, so the router never has to read your prompt. Every new conversation goes to a different provider.
mkdir -p ~/.local/bin && curl -fsSL https://decentralised.si/dl/dsi.mjs -o ~/.local/bin/dsi
chmod +x ~/.local/bin/dsi && dsi login ds_live_...
dsi chat
claude mcp add dsi -- dsi mcpRun a node, earn PAI
Turn a GPU and an open-weight model into a paid provider. dsi-node wraps Ollama, vLLM or llama.cpp, gets a public URL through Cloudflare Tunnel, and serves only router-signed traffic.
curl -fsSLO https://decentralised.si/dl/docker-compose.yml
DSI_API_KEY=ds_live_... docker compose up -d
docker compose exec ollama ollama pull llama3.1:8bPAI
Capped at 1B. Emission halves every two years and shrinks as the network grows; 30% of fees are burned. Rewards follow verified GPU and bandwidth work, scaled by reasoning level. Common knowledge gets cheaper every year; novel intelligence is unlocked by staking.
Routing modes
| Mode | Behaviour |
|---|---|
passthrough | Always the provider/model the application requested (default) |
optimise | Weighted quality · cost · latency · decentralisation, above a difficulty-aware quality target |
cheapest | Minimise expected cost subject to the quality threshold |
fastest | Minimise latency subject to the quality threshold |
quality | Maximise expected quality subject to budget |
private | Only providers meeting strict privacy |
decentralised_only | Never centralised commercial providers |
byok_only | Only providers you supplied credentials for |
network_only | Only Decentralised.si marketplace providers |
Capability compatibility is mandatory: a model is never substituted unless it supports every feature the request uses — tools, JSON schema, vision, reasoning, stop sequences, context size, output limits, privacy and vendor-only features. Provenance (requested vs. actual model and provider) is always recorded and returned in headers; responses never claim a model that did not produce them.