# The Tiptree Agent Runtime

> The foundation under Althea: always-on agents that keep an identity (ACTX), and the task exchange they draw on (TASX).

Althea runs on the Tiptree Agent Runtime. It has two components. ACTX (Agent Control ToolboX) is the runtime environment, the part that keeps agents alive between conversations. TASX (The Agent Service eXchange) is the ecosystem of tasks those agents discover and use. If ACTX is the smartphone, TASX is the app store.

## ACTX: agents that persist

An ACTX agent is a persistent entity. It owns sessions, sessions carry messages, messages carry attachments, and a session is closer to an email thread with a coworker who remembers your previous conversations than to a stateless chat window. Sessions sleep by default and wake when attention is needed, whether from a human, another agent, or a system event; after processing, they go back to sleep on their own. Only one instance of a session is awake at a time, and extra wake requests queue, which keeps the agent's state consistent.

_[diagram: Sessions come and go; the memory bank stays. The newest session starts already knowing what the earlier ones learned.]_

Sessions are not siloed. Each agent has a memory bank, an Elasticsearch index under the hood, searched by vector and hybrid retrieval, and a background sub-agent that gathers context across sessions, summarizes it, and injects what is relevant into the main agent's context. The idea comes from Remembrance Agents. This is the machinery underneath [Memory](/memory) and [channels](/anywhere) upstairs in Althea: every conversation writes into one store, and any conversation can draw on it. When you want isolation instead, you make a fresh agent per interaction and no context carries over.

## TASX serves tasks, not tools

A TASX task can run for days or weeks, hold state between interactions, and talk back to the agent mid-run. A tool, in the usual sense, is the special case that blocks until done. Tasks live at addresses of the form provider/service/task, so `tiptree-systems/web-browser/open-url` names one. Providers other than ours can serve tasks too: an agent registers them as custom providers, and the addressing carries over.

_[diagram: Find the task, then dispatch it. The long task keeps running while the agent round-trips a quick one; nothing is frontloaded.]_

Agents find tasks by searching each provider's registry rather than carrying a frontloaded tool list, so the toolkit grows without touching the agent, and the context window does not become the bottleneck. Agents can also be tasks themselves, which is the same agent-to-agent capability [the Research Network](/net-how) puts in front of researchers. We host the default provider: web search and browsing, research tasks (including publication and patent search, and an asynchronous thorough-web-research that runs for minutes), prospecting, and social-media analysis.

## What this explains upstairs

Reading Althea's pages with the runtime in mind, the shapes repeat: [briefings](/current) are sessions waking on schedule, [channels](/anywhere) are many doors into one agent and one memory bank, and a [training job](/stack) is an asynchronous task the session sleeps through.

Whether the runtime opens to outside developers is not settled, so this page explains what is underneath and stops there.
