Frontier open models, one API key away
Wally hosts frontier open models behind an OpenAI-compatible API, and connects your coding agent to them in one command.
Copy this into your agent
Works with
The agents and platforms you already use.
Wally sets up your coding agent in one command, and platforms reach the same models through the Wally Cloud API.
Coding agents, through the Wally CLI
Platforms, through the Wally Cloud API
Terminal
One command starts your coding agent on a model.
Learn more about the CLI- What is it?
- wally is a command-line tool that connects the coding agent you already use to a model. It runs models on your machine or serves them from Wally Cloud, with the same commands for both.
- How does it help you?
- You sign in once in your browser with Google or GitHub, and there is no key to copy. Then one command starts OpenCode, Claude Code, Codex or another supported agent on the model you pick.
- Where does your data go, and who sees it?
- A local model keeps everything on your machine. A hosted model sends your prompts to Wally Cloud, which runs with zero data retention and does not store them, and your credits pay for the run. Wally never moves a request between the two on its own.
To install wally on your machine, run this command in your terminal.
Sign in once with wally account login. Then one command starts your coding agent on a model.
wally opencode --cloud -m glm-5.3-flash
- Goes straight to the hosted endpoint you signed in to.
- Passes the provider through OPENCODE_CONFIG_CONTENT, so your own opencode config stays as it is.
- Starts OpenCode on the model. The run is paid from your credits.
wally claude-code -m glm-5.3-flash
- Looks for the model on this machine first, then in the hosted catalog.
- Sets the base URL and token for this claude process only.
- A translator turns Claude Code messages into the model API.
- Your normal claude sessions stay untouched.
wally hermes -m glm-5.3-flash
- Starts the Hermes TUI and points it at the model.
- Prints the model context window when it starts.
- For the full window, add model.context_length to ~/.hermes/config.yaml.
wally deepseek -m glm-5.3-flash
- Registers the model and starts dsh.
- With no prompt, dsh opens its browser UI.
- Add a prompt after the model id to run it headless.
wally prime-agent -m glm-5.3-flash
- Registers the Wally provider in Prime Agent.
- Starts Prime Agent on the model you named.
- Image input is on for a model that takes pictures.
Hosted
Models we host
Frontier open models for chat and coding, behind one API key. To switch models, change the model id. Fast versions serve the same model tuned for speed, for agent loops and anything a user waits on.
- DeepSeek V4 Flash 0731
deepseek-v4-flash-0731 - DeepSeek V4 ProFast
deepseek-v4-pro-fast - DeepSeek V4.1 Flash
deepseek-v4.1-flash - DeepSeek V4.1 FlashFast
deepseek-v4.1-flash-fast - DeepSeek V4.1 Flash 1017
deepseek-v4.1-flash-1017 - GLM-5.3Fast
glm-5.3-fast - GLM-5.3 Flash
glm-5.3-flash - Kimi K3
kimi-k3 - MiniMax M3
minimax-m3 - EveDecisions
eveScores yes/no, multiple-choice and scored questions with a probability per answer. Run it withwally decisions.
Intelligence per dollar
How the open models on Wally score, and what each task costs
DeepSeek V4.1 Flash 1017 scores 45 on the Intelligence Index, 78% of Claude Opus 5.5's 58, at about 1/23 of the cost per task.
- Open models on Wally
- Frontier closed models
- Comparison baseline
Cost per task compared with Claude Opus 5.5
Each bar is a model's cost per task as a multiple of the baseline, on a log scale.
- DeepSeek V4.1 Flash 1017 (max)Index 45
deepseek-v4.1-flash-1017$0.26About 23x less per task - GLM-5.3-FlashIndex 42
glm-5.3-flash$0.28About 21x less per task - MiniMax-M3Index 29
minimax-m3$0.51About 11x less per task - GPT-6.1 Sol (max)Index 52$0.72About 8x less per task
- Gemini 4 Argon (high)Index 53$1.99About 3x less per task
- GLM-5.3 (max)Index 45
glm-5.3-fast$2.01About 2x less per task - GPT-6 Astra (max)Index 53$3.2645% less per task
- Claude Sonnet 5.5 (max with fallback)Index 56$5.468% less per task
- Claude Opus 5.5 (max with fallback)Index 58$5.98Baseline
- Claude Fable 5.1 (max with fallback)Index 53$7.6327% more per task
API
Keep your OpenAI code. Change the base URL.
- What is it?
- Wally Cloud serves open models through the OpenAI chat-completions API. You send a request to one URL and read the reply as a stream.
- How does it help you?
- Your OpenAI client, SDK or curl command works as it is. You change the base URL, the key and the model ID, and nothing else. Switching models later means changing one string.
- Where does your data go, and who sees it?
- Your app sends the prompt over HTTPS with your API key. Wally Cloud runs the model and streams the reply back. Wally runs with zero data retention by default, so it does not store prompts or replies. We keep usage and billing records, tokens and spend, in a separate place.
Code-Snippets
Programmatic ways to access Wally Cloud from your end.
curl https://inference.runanywhere.ai/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-5.3-flash",
"stream": true,
"messages": [{ "role": "user", "content": "Hello, Wally" }]
}'import os
from openai import OpenAI
# A Cloud key from the console
client = OpenAI(
base_url="https://inference.runanywhere.ai/v1",
api_key=os.environ["API_KEY"],
)
stream = client.chat.completions.create(
model="glm-5.3-flash",
messages=[{"role": "user", "content": "Hello, Wally"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")import OpenAI from "openai";
// A Cloud key from the console
const client = new OpenAI({
baseURL: "https://inference.runanywhere.ai/v1",
apiKey: process.env.API_KEY,
});
const stream = await client.chat.completions.create({
model: "glm-5.3-flash",
messages: [{ role: "user", content: "Hello, Wally" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}Your prompts
Zero data retention by default
Wally runs with zero data retention by default. It uses your prompt to answer the request and does not store the prompt or the reply. The console playground is the one exception: it keeps your recent conversations so you can come back to them. Usage and billing records, such as token counts and spend, are kept apart from them.
Read the privacy policyQuestions
Frequently asked
Wally is how you use RunAnywhere's hosted models. Sign in once, then run a model in the cloud from your terminal or call it through Wally's OpenAI-compatible API. Models that fit on your device still run there, and Wally never moves a request between local and cloud on its own.
Yes, for the chat models. Point your OpenAI client, SDK or curl command at Wally's base URL, set a model ID, and send your request.
No, you don't need an API key. You need a raw key only when you call the endpoint directly, with curl or another SDK.
Wally runs with zero data retention by default. It uses your prompt to answer the request and does not store the prompt or the reply. The console playground is the one exception: it keeps your recent conversations so you can come back to them. Usage and billing records, such as token counts and spend, are kept apart. The privacy policy has the full details.
Privacy policy