LandingModelsDocsBriefQuote reviewBetaDashboard
Integration guide

Hermes Agent,
measured per request.

Hermes Agent makes dozens of LLM calls per task. Point it at BTL Runtime instead of OpenAI directly and every one of those calls passes through the optimization layer automatically — cached, routed, deduplicated. One config change. No code changes.

1 file
To connect
Edit config.yaml — nothing else in your agent changes
Per run
Cost attribution
Inspect route, charge, cost basis, and signed net savings
3 sizes
Hermes models in catalog
405B, 70B, and 7B — pick the one that fits your task

What is Hermes Agent?

Hermes Agent is an open-source AI agent built by Nous Research — the same team behind the Nous Hermes model family. Think of it as an AI that runs on your computer, completes real tasks (browse the web, read and write files, run code, send Slack messages, search GitHub), and remembers what it learns across sessions so it gets better over time.

The thing that makes it different from a chatbot: it takes a goal, breaks it into steps, uses tools to complete those steps, and produces a result — without you having to hold its hand through each decision. And after it finishes a complex task, it saves a reusable "skill" so next time it encounters something similar, it already knows how.

What Hermes can doHow it does it
Browse the web and read pagesBuilt-in browser tools: click, scroll, screenshot
Read and write files on your computerFile read, write, edit, and list tools
Run terminal commandsSandboxed terminal tool
Remember what it learned last sessionPersistent memory in ~/.hermes/MEMORY.md
Post messages to Slack, Discord, Telegram, WhatsApp16+ messaging platform integrations
Build on solutions it found beforeAuto-generated skills in ~/.hermes/skills/

Why connect it to Runtime?

Every decision Hermes makes — every reasoning step, every tool-call plan, every output check — goes through an LLM call. By default those calls go straight to OpenAI or Anthropic, at full list price, every single time. A single agent task can involve 10–20 model calls. Multiply that across your daily workload and the token bill is significant.

When you point Hermes at Runtime instead, each of those calls passes through the optimization layer. Repeated reasoning patterns get served from the exact-response cache. Similar prompts get matched semantically. Common prefixes — system instructions, tool schemas, conversation history — are deduplicated. The upstream provider only sees the novel work. You pay for that, and nothing else.

Agents are actually one of the best fits for Runtime because they're more repetitive than human users. The same system prompt, the same tool list, the same decision loop — over and over. Cache hit rates on agentic workloads climb fast, and Runtime's billing model means when they do, you keep 50% of every dollar saved.

TIP
Agents are naturally repetitive
The same system prompt, tool schema, and reasoning patterns repeat across every task your agent runs. That repetition is exactly what the exact-response and semantic caches are built to catch. The actual cache-hit rate depends on how often complete requests or eligible prefixes repeat. Measure it in the Runtime request ledger instead of assuming a generic percentage.

How to connect Hermes to Runtime

1
Install Hermes Agent

Hermes has a one-line installer that sets up Python, Node.js, the Hermes source code, and the hermes command on your path. Takes about a minute.

Install
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
INFO
Requirements
Python 3.11+ and Node.js. The installer handles both. If you run into issues, check the official install docs.
2
Get a Runtime API key

Go to Dashboard / API keys, create a key with the inference scope, and copy it. Then set it as an environment variable:

Set env var
# Add to ~/.hermes/.env  (or export in your shell)
GATEWAY_API_KEY=gw_your_runtime_key_here
3
Point Hermes at Runtime

Open ~/.hermes/config.yaml (created automatically when you installed Hermes) and update the model section. This is the only change you need to make:

~/.hermes/config.yaml
# ~/.hermes/config.yaml
model:
  provider: custom
  base_url: https://api.rntm.sh/v1
  api_key: ${GATEWAY_API_KEY}
  model_name: nous-hermes-3-70b
  context_length: 131072

That's it. You're telling Hermes: instead of talking to OpenAI directly, talk to Runtime — same API format, cheaper. The model_name is the Runtime model slug. See the available models section to pick a size.

4
Run Hermes

Give Hermes a task from the command line, start an interactive chat, or run it as an API server that your app can call:

Running Hermes
# Give Hermes a task
hermes "Summarize the last 5 GitHub issues and write a weekly digest"

# Interactive chat mode
hermes chat

# Run as an API server your app can call
hermes --serve

Hermes picks up your config automatically. Every LLM call it makes now routes through Runtime's optimization layer.

5
Verify the savings are working

Run the same task twice. The second time should be noticeably faster — that's the exact-response cache kicking in at near-zero latency. You can also check your Runtime dashboard to see every request Hermes made, what each one cost, and how much was saved.

Verify
# Run the same prompt twice — second response is instant (cache hit)
hermes "What is the capital of France?"
hermes "What is the capital of France?"

# Check your Runtime dashboard to see the savings:
# x-btl-cache-tier:      exact_response_cache
# x-btl-benchmark-cost:  0.0024
# x-btl-customer-charge: 0.0012
# x-btl-saved:           0.0012
INFO
Measure before expanding traffic
The first time Hermes runs a task, there's nothing cached yet — you pay full price. The second time it runs a similar task, large portions of the reasoning trace match something Runtime may have seen before. Run representative tasks, inspect the recorded cache tier and customer net savings, and expand only when your own results justify it.

Available models

The Runtime catalog includes the full Nous Hermes 3.1 model family via Fireworks. Pick the size that fits your workload:

405B · Best quality
nous-hermes-3-405b
Complex reasoning, long research tasks, multi-step coding, and anything where quality matters more than speed.
131K token context
70B · Recommended
nous-hermes-3-70b
Best balance of speed, quality, and cost. The right default for most Hermes tasks. Start here.
131K token context
7B · Fastest
nous-hermes-2-pro-7b
Fast, cheap, good for simple tasks: lookups, short summaries, classification, routing decisions.
32K token context

You can also use any other model in the Runtime catalog — claude-opus-4-8, gpt-5-5, supergrok-4-3, and more. Just change model_name in your config. Check the full list at https://rntm.sh/models or call GET /v1/models.

Using the Python library

If you're building an application and want to call Hermes from Python code rather than the CLI, Hermes ships as a Python library. Pass your Runtime credentials directly:

Python — Hermes library
import os
from run_agent import AIAgent

agent = AIAgent(
    base_url="https://api.rntm.sh/v1",
    api_key=os.environ["GATEWAY_API_KEY"],
    model="nous-hermes-3-70b",
)

response = agent.chat("Write a Python function that validates email addresses")
print(response)

Or use the standard OpenAI SDK — works with any agent framework that accepts an OpenAI-compatible endpoint (LangChain, AutoGen, CrewAI, custom loops — all of them):

Node.js — OpenAI SDK
import OpenAI from "openai";

// Works with any agent framework — just swap base_url
const client = new OpenAI({
  apiKey: process.env.GATEWAY_API_KEY,
  baseURL: "https://api.rntm.sh/v1",
});

const response = await client.chat.completions.create({
  model: "nous-hermes-3-70b",
  messages: [{ role: "user", content: "Plan a 5-step marketing campaign." }],
});

console.log(response.choices[0]?.message?.content);
// Response headers include:
// x-btl-saved: 0.0014  ← money back in your pocket

How billing works for agent tasks

You load credits into your Runtime workspace. Each LLM call Hermes makes deducts the amount you were charged. Credits never expire, and every call comes with proof headers showing exactly what the normal price was, what you paid, and how much you saved.

What happenedNormal priceYou payYou saved
Hermes reasoning call — new, nothing cached$0.05$0.05$0.00
Same reasoning call, served from exact cache$0.05$0.025$0.025 (50%)
Similar call matched by semantic cache$0.05$0.025$0.025 (50%)
Smarter route found for the same model$0.05~$0.035~$0.015 (30%)

Runtime only earns money when it saves you money. On pure pass-through calls where nothing can be optimized, you pay exactly what the provider charges and Runtime earns nothing. The incentives are aligned.

TIP
Top up at the dashboard
Load credits at Dashboard / Credits. If your balance hits zero, Hermes requests pause until you top up — no surprise overages.

Ready to connect?

Create a free Runtime workspace, copy your API key, update one line in ~/.hermes/config.yaml, and your agent starts running cheaper immediately.