GuidesGetting started

What an always-on OpenClaw agent costs when you barely use it, measured

Nine days measured: an OpenClaw agent barely used sent 46M tokens, 88% of them the heartbeat, and was billed $4.11 on DeepSeek V4.1 Flash. The same days on Sonnet, Sol and Opus at list prices.

October 23, 2026The Everpod team
The short answer

Measured over nine days in October 2026, on an OpenClaw agent of our own left running on a cloud server and sent about one message a day: it sent 46 million tokens to its model, 88% of them from the heartbeat that wakes it every 30 minutes, and was billed $4.11 for them on DeepSeek V4.1 Flash through OpenRouter. That was 5 to 15 cents a day for the first five days, when about nine tokens in ten were read from the serving host’s cache, and 36 cents to $1.84 a day over the last four, as the conversation grew and a larger share of it was read uncached, at a higher price, from a different host. At the nine days’ rate that is about $14 a month before the server, and the rate was rising: the last four days averaged 93 cents a day. On a larger model the same tokens are arithmetic, not a bill: at list prices, with the cache missing every half hour as the big labs’ default cache lifetimes make likely, about $13 a day on Claude Sonnet 5.5 or GPT-6.1 Sol and $26 a day on Claude Opus 5.5, for an agent almost nobody is talking to.

What was measured, and under what conditions

An OpenClaw agent of our own, on OpenClaw 2026.9.4, on a cloud server, reached over Telegram. We switched its model to DeepSeek V4.1 Flash through OpenRouter on October 13, 2026, and the nine full days after that, October 14 to 22 (UTC), are the figure; the two part days are shown below the table. The heartbeat ran at the harness’s defaults: every 30 minutes, in the main conversation, delivered to the owner, with no checklist file in the workspace. What a heartbeat turn does is its own guide; what matters here is that each one is a full model call. Reasoning effort was set to high.

Every call carries the harness’s system prompt and its tool list, the agent’s workspace files (its instructions, its memory, and the notes we keep there for it), and the whole conversation so far. The OpenRouter account is set to send the model’s traffic only to hosts that keep neither prompts nor replies, which narrows the hosts the model can be served from and so the prices paid. We sent the agent ten messages in the nine days, none on two of them, and one scheduled job of ours ran once. So this is close to the floor: what an agent costs when it is on and you are not using it.

The figures are each model call’s tokens and the cost OpenRouter billed for it, as the harness records them in its session store. They agree with the key’s own usage meter to the cent on the days that can be set against it. Read on October 23, 2026.

Day by day

Day (UTC)Heartbeat runsMessages we sentTokens sentRead from cacheServed mostly byBilledHeartbeat context at day’s end
Oct 14
4813.43M88%Crusoe$0.1571k
Oct 15
4823.14M94%DigitalOcean, Crusoe$0.0755k
Oct 16
4813.03M96%DigitalOcean$0.0557k
Oct 17
4812.91M94%DigitalOcean$0.0659k
Oct 18
4803.67M91%DigitalOcean$0.0775k
Oct 19
4837.55M63%InferenceNet, Together, DigitalOcean$0.84111k
Oct 20
4816.11M80%Morph, Together$0.36117k
Oct 21
4806.85M69%Morph, Together$0.67117k
Oct 22
4819.42M37%Together$1.84165k
Nine days
4321046.1M71%$4.11

The part days. October 13, after the switch at 04:14 UTC: 39 heartbeat runs on this model, one message from us, $0.15. October 23, to 11:31 UTC: 24 heartbeat runs, six messages, 5.5 million tokens, $1.04, the context at 175k. October 21’s messages column is zero, but a scheduled job of ours ran once that day, four calls and 2 cents, counted in the day’s bill. Tokens sent counts everything the model read, cached or not; output was 165k tokens in nine days, 128k of them reasoning.

The heartbeat is the bill

Of the 432 heartbeat runs, 428 ended with NO_REPLY, the harness’s word for nothing to report; four produced a message. Between them they sent 40.8 million tokens, 88% of everything the agent sent to its model, and cost $3.83, 93% of the bill. Our ten messages, with the tool calls they set off, sent 5.2 million tokens and cost 25 cents. A few of the heartbeats used a tool as well, which is why some days show more model calls than runs: 470 calls for 432 runs over the nine days.

Each run carries the whole conversation, and the conversation grew from 67k tokens at the start of the nine days to 165k at their end, with one drop of 16k on October 15 that the records do not explain. The heartbeats’ own entries add a little each day, and more when a run uses a tool (about 16k on October 18, a day with no message from us); the two days we set the agent working with tools added about 36k and 47k. The transcript shows no compaction in that time, and at 165k the conversation was far below the model’s million-token window. The levers that change this are the heartbeat’s own settings, covered in the heartbeat guide: a fresh session for each run, which the harness’s docs put at 2k to 5k tokens a run instead of around 100k, a longer interval, or active hours.

Why the bill went from 5 cents a day to $1.84

Three things moved between October 16 and October 22. The volume: 3.0 million tokens sent a day became 9.4 million, because the conversation every heartbeat carries grew from 57k tokens to 165k, and because two of the later days were the ones we set the agent working with tools. The share read from cache: 96% of the day’s tokens fell to 37%. And the price of the host serving the model. So the price paid per million tokens sent rose from about 2 cents to about 20, tenfold, on three times the tokens.

OpenRouter serves an open model from one of the hosts that run it. On October 23, 2026, DeepSeek V4.1 Flash listed 40 endpoints, from $0.07 to $0.60 per million input tokens, with the model’s own list price at $0.30 per million in, $1.20 out and $0.006 per million read from cache. Which host answers a call is OpenRouter’s choice. Its provider routing by default balances requests across the hosts that have had no significant outage in the last 30 seconds, weighted toward the cheaper ones, and its prompt caching keeps a request on the host that served the last one only while the session is active: “Sticky sessions expire after 10 minutes of inactivity.” A heartbeat every 30 minutes is a fresh draw each time, so whether a run finds the conversation in a cache depends on landing on the same host as last time, and on that host still holding it.

For the first five days the draws landed almost every time on Crusoe, then DigitalOcean, and between 90% and 98% of each day’s heartbeat tokens were read from the host’s cache at its cache-read price: $0.007 per million on Crusoe against $0.29 uncached, $0.006 against $0.165 on DigitalOcean. From October 19 the calls spread across more hosts: InferenceNet, Together and DigitalOcean that day, Morph and Together on the next two, Together for 67 of 74 calls on October 22. Together charges the list price, $0.30 per million uncached, two to three times DigitalOcean’s and Morph’s, and the cache held less often: 48% of the heartbeat’s tokens read from it on October 19, 81% and 70% on the two Morph days, 23% on October 22. That day the agent sent 9.4 million tokens, 5.9 million of them at the full price, and the bill was $1.84. Of the two, the cache is the larger: the uncached share of a day’s tokens went from about 4% to 63%, where the price went up two to three times.

The individual calls show the same thing from the other end. A heartbeat that found the conversation in cache cost about a thirtieth of one that did not on Crusoe, DigitalOcean and Together, and about an eighth on Morph by its listed prices, whose cache read is dearer against its input price. The first heartbeat after midnight UTC missed the cache every day, because the date in the system prompt had changed. OpenRouter’s routing options let a request name a host order or sort by price, which turns the balancing off; whether a given host then holds the cache across a half-hour gap is not something these nine days tested.

The same nine days on other models, as arithmetic

The tokens are measured; the prices are list prices; the bills below are the one multiplied by the other, with two cache cases. In the first, every call misses the cache, which is what the half-hour gap makes likely on the big labs’ models at their default cache lifetimes (five minutes on Anthropic’s; the heartbeat guide carries both labs’ figures and the one measured idle reading, on an OpenAI model, where every poll was billed at full rate). In the second, the cache holds as DeepSeek’s hosts held it over these nine days, 71% of all tokens read from it. Two conditions on top. An uncached prompt on the Anthropic and OpenAI models is priced at the cache-write rate, a quarter above the input price, because that is how OpenRouter billed uncached prompts on both families’ models in other readings of the same account. And the token counts are DeepSeek’s count of the text; other families count the same text somewhat differently.

Model, at OpenRouter’s list prices on Oct 23, 2026Input / cache write / cache read / output, per millionEvery call uncached: a dayCache as measured here: a day30 days at that rate
DeepSeek V4.1 Flash, at list (the measured bill was $0.46 a day)
$0.30 / same / $0.006 / $1.20$1.56$0.49$47 / $15
$0.10 / $0.125 / $0.01 / $0.50$0.65$0.23$19 / $7
$2 / $2.50 / $0.10 / $10$12.99$4.25$390 / $128
$2 / $2.50 / $0.10 / $10$12.99$4.25$390 / $128
$4 / $5 / $0.20 / $20$25.98$8.50$779 / $255

The DeepSeek row is there to show the method against the real bill: at list price with the measured cache the nine days come to $4.39, and the meter charged $4.11, because the cheaper hosts billed below the list price on the days they served. The 30-day column multiplies the nine days’ daily average by 30 and is a floor rather than a forecast: the conversation these heartbeats carry was still growing when the reading stopped.

What these nine days do not tell you

What an agent costs when you use it. Ten messages in nine days is an agent kept on hand, not one at work; the two days we set it working with tools show the shape of the other case, 2.5 and 2.0 million tokens for three messages and one, but not its size over a month. Nor do they measure a month: the context grew by half in nine days, and a conversation that is never reset keeps growing until compaction summarizes it. And they measure one model family; the other columns are arithmetic.

The heartbeat itself is a moving default. The agent measured ran OpenClaw 2026.9.4, and the current release, 2026.10.6, documents the same defaults in its heartbeat page: every 30 minutes, in the main session, delivered to the owner. The documentation site, built from the project’s main branch, already describes a different arrangement, in which the half-hourly check is a job that explicit setup provisions and that gateway startup and config reload do not create. Read the heartbeat page for the release you run before applying these figures to it.

Reading your own numbers

In the chat, /status shows the session’s context size, which is roughly what the next heartbeat will carry, and /usage cost summarizes cost from the session logs. On the OpenRouter side, the activity page lists each request with its host, its tokens, the tokens it read from cache and what it cost, so a daily total that jumps with no change in how you used the agent can be traced to the host that served it that day. The model guide covers reading a provider’s activity log for whether the cache is applying, and the cost guide the rest of the bill: the computer, the model and the tools you connect, which this reading leaves where they were.

Give your AI agents a permanent cloud computer.

We set it up and secure it, so all you do is use them. Run Claude Code, Codex or any agent you use, more at once than your laptop can hold, and keep them working when it’s closed. Or have OpenClaw set up and run for you.

See the developer pod

From $24/mo · your own plan or API key

Get your OpenClaw agent

$29/mo, cancel anytime · model usage included