Decentralised.si

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.

NO PROMPT REWRITENO RESPONSE REWRITENO SDK REWRITENO TOOL REWRITE

Before

Application | v Anthropic API

After

Application (same SDK, same code) | v Decentralised.si ── protocol adapter ── router | +──── Anthropic (your key) +──── OpenAI (your key) +──── Gemini (your key) +──── Network (settled by us)

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 / -receipt

An 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 mcp

Run 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:8b

PAI

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.

Read the whitepaper →

Routing modes

ModeBehaviour
passthroughAlways the provider/model the application requested (default)
optimiseWeighted quality · cost · latency · decentralisation, above a difficulty-aware quality target
cheapestMinimise expected cost subject to the quality threshold
fastestMinimise latency subject to the quality threshold
qualityMaximise expected quality subject to budget
privateOnly providers meeting strict privacy
decentralised_onlyNever centralised commercial providers
byok_onlyOnly providers you supplied credentials for
network_onlyOnly 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.

Open the dashboard →