Skip to main content

SOAT vs Letta

Letta is agent infrastructure (Apache-2.0, self-hosted or managed). SOAT is agent infrastructure (Apache-2.0, self-hosted). Of the 15 capabilities the benchmark tracks, Letta covers 7 natively and SOAT 12.

At a glance​

LettaSOAT
Typeagent infrastructureagent infrastructure
LicenseApache-2.0Apache-2.0
Deploymentself-hosted or managedself-hosted
Native capabilities7 of 1512 of 15
Last verified2026-08-142026-08-14

Where each one leads​

  • Letta is native where SOAT is not: channels, skill learning.
  • SOAT is native where Letta is not: identity & governance, observability, data & secrets, evaluation, multi-tenancy, declarative deployment, versioning & rollout.

What Letta is​

Open-source server for stateful LLM agents (formerly MemGPT) that persists agent state, memory blocks, and archival passages in PostgreSQL with pgvector, exposed over a REST API and SDKs. Deployable via Docker or usable as a hosted service, with agent state surviving context-window eviction. Letta documentation.

Capability by capability​

Agent runtime​

Agent loop, sessions, and generation lifecycle.

  • Letta: Native. The Letta server runs the agent loop and persists all agent and message state in PostgreSQL, exposed through a REST API. (source)
  • SOAT: Native. Agents, sessions, chats, and generations with full lifecycle tracking. (source)

Orchestration​

Multi-step pipelines, workflows, and triggers.

  • Letta: Native. Multi-agent coordination via shared memory blocks and message-passing tools, plus subagents and Schedules for recurring tasks. (source)
  • SOAT: Native. DAG orchestrations, workflow state machines, durable tasks, and triggers (manual, webhook, schedule). (source)

Knowledge & memory​

Documents, embeddings, semantic search, and recall.

  • Letta: Native. Agents have editable in-context memory blocks plus archival memory with hybrid semantic and full-text search over pgvector. (source)
  • SOAT: Native. Documents with per-chunk embeddings, named memories, unified semantic search, and ingestion rules for PDFs, images, and audio. (source)

Tools & integration​

Tool calling, MCP, providers, and webhooks.

  • Letta: Native. Supports server tools, client-side tools, and MCP servers registered over streamable HTTP, SSE, or stdio transports. (source)
  • SOAT: Native. HTTP, MCP, client, and agent-to-agent tools; model routes with failover; webhooks; any LLM provider. (source)

Identity & governance​

IAM, guardrails, approvals, quotas, and audit.

  • Letta: Partial. Self-hosted access control is a single shared server password; the open-source server documents no role-based access control, approvals, or audit log. (source)
  • SOAT: Native. AWS-inspired IAM, actors, scoped API keys, guardrails, human approvals, quotas, and an append-only audit log. (source)

Observability​

Traces, activity, usage, and failure queues.

  • Letta: Partial. The Agent Development Environment surfaces agent reasoning, tool usage, and state in real time, but there is no documented cost accounting or failure queue. (source)
  • SOAT: Native. Traces of every tool call and model response, activity feed, usage/cost tracking, and an exceptions queue. (source)

Data & secrets​

File storage and encrypted secrets.

  • Letta: Absent. The document/file source system is deprecated and disabled, and no encrypted secrets store is provided; credentials are server environment variables.
  • SOAT: Native. File storage over local/S3/GCS backends and encrypted secrets storage. (source)

Evaluation​

Datasets, scorers, and eval-gated improvement.

  • Letta: Absent. No datasets, scorers, or evaluation-run functionality is documented.
  • SOAT: Native. Datasets, scorers, and scored runs; eval-gated promotion of agent versions. (source)

Channels​

Built-in gateways to messaging platforms and UIs.

  • Letta: Native. Built-in channel adapters connect agents to Telegram, Slack, Discord, WhatsApp, and Signal, plus a web and desktop chat UI. (source)
  • SOAT: Absent. Surfaces are REST, MCP, CLI, and SDK — no built-in gateways to messaging platforms like Slack, WhatsApp, or Telegram.

Code execution​

Sandboxed code or terminal runtimes for agents.

  • Letta: Partial. Custom server tools execute in an E2B sandbox requiring external API credentials; there is no general-purpose code interpreter or terminal runtime built in. (source)
  • SOAT: Absent. Tool types are HTTP, MCP, client, and agent-to-agent — no built-in sandboxed code or terminal runtime.

Human-in-the-loop​

Pausing a run for human approval, then resuming it.

  • Letta: Native. Tools marked requires_approval halt the agent and emit an approval request with tool name and arguments; approving executes and resumes, denying returns an error the agent can work against. (source)
  • SOAT: Native. Approvals are a first-class human-decision queue with frozen evidence, and guardrails classify each tool call so risky actions pause for a decision. (source)

Multi-tenancy​

Projects or workspaces scoping resources and permissions.

  • Letta: Partial. Identity objects and agent tags associate agents with end users, but the open-source server documents no org or project permission boundary and warns against exposing it to untrusted clients. (source)
  • SOAT: Native. Projects are multi-tenant namespaces scoping every resource, with IAM policies and quotas enforced per project. (source)

Declarative deployment​

Templates that provision agent resources as one stack.

  • Letta: Via plugin. Declarative fleet management with version-controlled YAML comes from lettactl, a community-built CLI listed under community guides rather than a first-party feature. (source)
  • SOAT: Native. Formations provision providers, memories, tools, agents, orchestrations, and webhooks from one template, resolving refs into a dependency graph with tracked operations. (source)

Versioning & rollout​

Agent versions, canary rollout, gated promotion.

  • Letta: Via plugin. Official template versioning with migrate and rollback is labeled cloud-only and deprecated, so self-hosted rollout control comes from the community lettactl tool. (source)
  • SOAT: Native. Every config change is archived as an append-only agent version, with canary rollout to a slice of traffic and eval-gated promotion. (source)

Skill learning​

Agents authoring reusable skills from their own experience.

  • Letta: Native. Agents have a built-in skill creator and write skills into their own git-backed memory filesystem, persisting them as part of agent identity across agent, project, and computer scopes. (source)
  • SOAT: Absent. Memories and knowledge store retrievable context, but agents do not author or refine reusable skills from their own experience.

How this is rated​

Each rating comes from the public documentation linked beside it: Native is built in, Via plugin needs an add-on, Partial covers part of the capability, Absent is not offered. Every solution side by side is on the benchmark. A rating that is out of date is a bug: open an issue.