External Agents

Connect Any Agent to BrainFuel

Your agent runs anywhere — Emergent, AWS, your laptop, wherever. Point it at our compute-router and get automatic failover when your primary provider goes down. One URL change, no config files.

How Smart Proxy Works

Your agent sends requests to NormieClaw instead of directly to your provider. We try your provider first — if it works, we pass the response through at zero cost. If it fails, we automatically retry via BrainFuel so your agent never goes down.

// Your agent sends a request

Agent --> NormieClaw compute-router

// We try your provider first

NormieClaw --> Your provider (Chutes, OpenAI, etc)

// If it works: pass through (free)

NormieClaw <-- 200 OK --> Agent

// If it fails (401/429/5xx): auto-retry via BrainFuel

NormieClaw --> BrainFuel (DeepSeek V3) --> Agent

Get Connected in 3 Steps

1

Get a Wallet & Buy BrainFuel

You need a wallet address and some BrainFuel balance. This is what powers the fallback when your primary provider goes down.

Top up via our API (pays with USDC on Base):

GET https://normieclaw.space/api/brainfuel/topup?pack=micro

Packs: micro ($1 / 100K tokens), basic ($5 / 600K tokens), pro ($10 / 1.5M tokens)

2

Change Your Base URL

Point your agent at our compute-router instead of your provider directly. Add two headers so we know where your primary provider is.

// Before (direct to your provider)

Base URL: https://llm.chutes.ai/v1

API Key: sk-your-chutes-key

// After (through NormieClaw smart proxy)

Base URL: https://normieclaw.space/api/compute-router/v1

API Key: wallet:0xYOUR_WALLET

// Tell us where your primary provider is:

Header: X-Primary-Base-URL: https://llm.chutes.ai/v1

Header: X-Primary-Key: sk-your-chutes-key

3

That's It — Failover is Automatic

Your agent works exactly like before. When your primary provider fails, BrainFuel catches it. Check the X-BrainFuel-Source response header to see which path was used.

Primary succeeded

X-BrainFuel-Source: primary

No BrainFuel cost

Primary failed

X-BrainFuel-Source: brainfuel

Deducts from BrainFuel balance

Code Examples

Python — OpenAI SDK

from openai import OpenAI

client = OpenAI(
    base_url="https://normieclaw.space/api/compute-router/v1",
    api_key="wallet:0xYOUR_WALLET_ADDRESS",
    default_headers={
        "X-Primary-Base-URL": "https://llm.chutes.ai/v1",
        "X-Primary-Key": "sk-your-chutes-api-key",
    },
)

response = client.chat.completions.create(
    model="deepseek-v3",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)

Python — LiteLLM

import litellm

response = litellm.completion(
    model="openai/deepseek-v3",
    messages=[{"role": "user", "content": "Hello!"}],
    api_base="https://normieclaw.space/api/compute-router/v1",
    api_key="wallet:0xYOUR_WALLET_ADDRESS",
    extra_headers={
        "X-Primary-Base-URL": "https://llm.chutes.ai/v1",
        "X-Primary-Key": "sk-your-chutes-api-key",
    },
)
print(response.choices[0].message.content)

Node.js — OpenAI SDK

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://normieclaw.space/api/compute-router/v1",
  apiKey: "wallet:0xYOUR_WALLET_ADDRESS",
  defaultHeaders: {
    "X-Primary-Base-URL": "https://llm.chutes.ai/v1",
    "X-Primary-Key": "sk-your-chutes-api-key",
  },
});

const response = await client.chat.completions.create({
  model: "deepseek-v3",
  messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);

cURL — Raw HTTP

curl -X POST https://normieclaw.space/api/compute-router/v1/chat/completions \
  -H "Authorization: Bearer wallet:0xYOUR_WALLET" \
  -H "X-Primary-Base-URL: https://llm.chutes.ai/v1" \
  -H "X-Primary-Key: sk-your-chutes-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v3",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

BrainFuel-Only Mode

Don't have your own provider? Skip the X-Primary-* headers and use BrainFuel as your only inference provider. Just a wallet and a balance.

from openai import OpenAI

# No primary provider — BrainFuel handles everything
client = OpenAI(
    base_url="https://normieclaw.space/api/compute-router/v1",
    api_key="wallet:0xYOUR_WALLET_ADDRESS",
)

response = client.chat.completions.create(
    model="deepseek-v3",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)

Available Models

When BrainFuel handles your request (fallback or direct), these models are available. Cost multiplier is applied to your BrainFuel balance per token.

ModelCostBest For
deepseek-v31xGeneral use, best value
llama-3.1-8b1xFast, lightweight tasks
llama-3.3-70b2xHigher quality reasoning
qwen-2.5-72b2xMultilingual, code
deepseek-r14xChain-of-thought reasoning
mistral-large6xComplex analysis

Common Questions

Does this work with any provider?

Yes. Any OpenAI-compatible provider works as your primary — Chutes, OpenAI, OpenRouter, Anthropic (via proxy), Together, Groq, anything with a /v1/chat/completions endpoint.

What happens when my primary provider works fine?

We pass the response straight through. No BrainFuel deducted, no extra latency beyond the proxy hop. Your agent works exactly as before.

What model does the fallback use?

DeepSeek V3 by default. It's the best value model in the BrainFuel pool — fast, capable, and 1x cost multiplier.

How do I know when fallback kicked in?

Check the X-BrainFuel-Source response header. It's "primary" when your provider handled it, "brainfuel" when we caught a failure.

Can I use this without a primary provider?

Yes — just skip the X-Primary-* headers. Your requests go straight to BrainFuel. You're using NormieClaw as your inference provider.

Does it support streaming?

Not yet. Streaming support is coming soon.

Ready to connect your agent?