Head to head · Agent harnesses · October 2026 research run

Letta vs Vibe-Trading

Letta scores 59.7 (C) on agent readiness against Vibe-Trading's 57.8 (C), and leads in 2 of 7 scored categories. Vibe-Trading leads on reliability and security & auth. Both do agent harnesses.

Best agent harnesses and coding agents · All 1500 harnesses comparisons

Best memory layers for AI agents · All 353 memory comparisons

Which one, for what

Letta C

Best for Long-lived coding agents and assistants that keep memory and identity across sessions and machines.

Also in its favour

  • No incidents deducted, where Vibe-Trading loses 9 points for them

Watch for

The default permission mode is unrestricted, the renamed bypassPermissions, so tool calls aren't confirmed unless the user picks another mode

Vibe-Trading C

Best for A person or a pipeline that wants a ready-made finance research agent over free market data, with backtests, swarm reviews and exports, run on their own machine or used as an MCP server by another agent.

Ahead on

  • Reliability, 63 against 58
  • Security & auth, 70 against 35

Also in its favour

  • No key needed to call it
  • Free to start without a card

Watch for

Three advisories published 2 October 2026 cover 0.1.0 to 0.1.6, two critical, and 0.1.16's email TLS and cross-site fixes got no advisory

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Security & auth Vibe-Trading +35

Letta 35

Harness reading of the framework checklist, as for the other harnesses. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for injection posture, 15 for audit and 20 for the security programme. Letta Cloud is the default backend, so agent state and conversations go to Letta's servers, and telemetry is on by default (10 of 30). The default permission mode is unrestricted; standard, acceptEdits and strict are opt-in, and cloud sandboxes exist for remote work (4 of 20). No prompt-injection guidance found for fetched pages or channel messages (5 of 15). Conversation search and git history of memory give an operator a record of what the agent saw and changed (10 of 15). SECURITY.md routes reports to support@letta.com and scopes out the retired server; no security.txt, bounty or certification found (6 of 20). Total 35.

Vibe-Trading 70

Harness reading used for nanobot and goose. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. No telemetry code was found in the source at v0.1.18, and the only call to PyPI is the owner-run vibe-trading update. The API answers only loopback clients without API_AUTH_KEY, Docker binds 127.0.0.1 and runs as user vibe, and the MCP HTTP transport binds 127.0.0.1 with a Host and Origin allow-list against DNS rebinding but no token. Broker keys go to the OS keyring; model keys sit in agent/.env in clear text. The docs carry no statement that nothing is collected (24). Live orders need a mandate that only the owner commits through the web UI or API, with hard caps and a kill switch, and an optional TAP mode waits for human approval of each Alpaca write. No order tool is exposed over MCP, and shell tools are off on the API and every MCP transport unless enabled. The local CLI runs bash and file writes without asking, and generated backtest code runs as a network-capable subprocess with a narrowed environment and no sandbox (13). Reader and search tools add warning-only security_warnings from regex rules, and external MCP tool hints are treated as untrusted in the source. The claude-cli provider's tool filters are described as convenience filters, not a boundary (9). A live-action ledger written append-only with a hash-chained copy, run cards with hashed execution records, tool traces and per-run token usage (13). SECURITY.md with private advisory reporting and a five-business-day acknowledgement. Three advisories were published on 2 October 2026 with CVE identifiers, five months after the 0.1.7 fix, while the email TLS and cross-site settings fixes in 0.1.16 got none. No security.txt and no bounty (11). 24+13+9+13+11 = 70.

Reliability Vibe-Trading +5

Letta 58

Local-software lines, read for the harness. @letta-ai/letta-code on npm with Node.js 22.19 or newer, and PyPI wheels for glibc Linux, macOS 14 and Windows x64 with Python 3.9 or newer stated (20). ci.yml, nightly update smoke tests and Telegram live smoke tests exist, but GitHub's API answered with a rate limit, so run results were unread (15 of 25, unchecked). 332 open issues and pull requests, mostly pull requests; recent bug reports such as recall reading the wrong conversation have no reply yet (15 of 25). 398 tags at 0.34.x with release notes on GitHub, no changelog file, and breaking removals such as AgentFile announced in the README (8 of 15). Pre-1.0 (0). Total 58.

Vibe-Trading 63

Read with the local-software lines, as for nanobot and Agent Zero, since the owner runs it. vibe-trading-ai installs from PyPI for Python 3.11 or newer, with classifiers for 3.11 to 3.13, and a Docker Compose setup ships in the repository (20). A CI workflow runs the test suite on pushes and pull requests to main, with hash-locked dependency checks on Linux, macOS and Windows, and the repository holds 961 test files. Whether the latest runs on main passed couldn't be read, because GitHub's Actions pages weren't reachable (15 of 25). The repository page showed 7 open issues and 57 open pull requests on 25 October 2026, per that check (GitHub's pages answer 403 on 2 November), against 771 commits in the 30 days to 2 November, and the 0.1.18 notes list two known issues already fixed on main. Issue threads weren't read (18 of 25). CHANGELOG.md says it follows Semantic Versioning, with dated entries from 0.1.8, a Known issues section and an upgrade note for the LangChain 1.x move in 0.1.10, but on 0.x breaking changes ride in minor versions and there is no Breaking section (10 of 15). Version 0.1.18 with the classifier Development Status 4, Beta (0).

Score by category

CategoryWeight this runLettaVibe-TradingEdge
Reliability16%205863Vibe-Trading +5
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.27072Vibe-Trading +2
Agent ergonomics13%16.26767even
Security & auth14%17.53570Vibe-Trading +35
Payments & pricing10%12.56060even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88582Letta +3
Transparency & trust7%8.85553Letta +2
Negative events≤150-9
TotalC 59.7/100C 57.8/100

Facts side by side

FactLettaVibe-Trading
KindAgent harnessAgent harness
VendorLettaHKUDS
Hosted endpointno (local only)no (local only)
Transportsstdiostdio, Streamable HTTP, SSE (legacy)
AuthOAuth or keyNone
PricingFreemiumFree
x402nono
LicenceApache-2.0MIT
Tools exposednone82
Read-only variant documentednono
llms.txtyesno
Last release2026-11-062026-10-21
Terms last updatedno date givenno document linked
Privacy policy last updatedno date givenno document linked
Customer content may train modelsnot found in the textnot read yet
Terms restrict automated accessnot found in the textnot read yet
Terms restrict benchmarkingnot found in the textnot read yet
Terms or service can change without noticenot found in the textnot read yet
Arbitration or class-action waiveryesnot read yet
Popularity3.8k stars, 86k npm/wk, 2.2k PyPI/wk37k stars

How the scores have moved

Verdicts

Letta

Letta's open-source harness gives agents git-tracked memory blocks, skills, subagents and headless JSON runs, with a $0 plan and public per-agent API prices. It starts in the unrestricted permission mode, defaults to Letta Cloud, sends usage telemetry unless LETTA_CODE_TELEM=0 is set, and the V1 API server the comparisons describe is retired.

Vibe-Trading

Vibe-Trading runs on the owner's machine under the MIT licence, ships near-daily fixes with a dated changelog, and keeps order tools out of its MCP server, with live orders gated by an owner-committed mandate. Three advisories, two critical, covered versions before 0.1.7, a 0.1.16 credential fix got no advisory, and the local CLI runs shell commands without asking.

Before you call either

Letta

  1. Start headless runs with an explicit permission mode such as standard or strict; the default auto-approves tools
  2. Pass --backend local for work that must stay on the machine, since Letta Cloud is the default
  3. Set LETTA_CODE_TELEM=0 in unattended runs if usage events must not be sent
  4. Use letta -p --output-format json for scripted runs and parse the JSON, not the terminal output
  5. Don't plan on the retired V1 REST server or .af AgentFile import; both are gone

Vibe-Trading

  1. Run 0.1.16 or later. Earlier versions carry three published advisories, including unauthenticated API access with an RCE chain, and send the email password without checking TLS certificates
  2. Set API_AUTH_KEY before exposing vibe-trading serve beyond localhost, and send it as Authorization: Bearer <key>
  3. Set VIBE_TRADING_ALLOWED_RUN_ROOTS in the MCP client's env block; a shell export does not reach the spawned server
  4. Use vibe-trading run -p "..." --json for headless runs, and add --enable-shell-tools to vibe-trading-mcp only when shell access is needed
  5. Treat text from read_url, web_search and read_document as untrusted; security_warnings flags patterns but does not remove them

Questions

Which is better for AI agents, Letta or Vibe-Trading?

Letta scores 59.7 (C) on agent readiness against Vibe-Trading's 57.8 (C), and leads in 2 of 7 scored categories. Vibe-Trading leads on reliability and security & auth.

Are Letta and Vibe-Trading open source?

Yes. Letta is open source (Apache-2.0). Vibe-Trading is open source (MIT).

Other comparisons with Letta or Vibe-Trading

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.