Skip to content
Gauge

ax-check.com

Vestra

vestra.ai

ax-check.com

Checked 19 September 2026

D

34/100

Agents need your login

Pricing is clear, but docs leave agents guessing

All four plan prices and credit limits are stated openly on the pricing page, but no quickstart, install steps, or API/MCP docs were found for agents to act on.

3 fixes to start with

Concrete changes, backed by what we found.

Onboarding

Give agents a clear login handoff and a way to resume setup.

Agents cannot progress through onboarding without human help. Provide an agent-accessible path through authentication and setup.

Docs

Return Markdown when clients request text/markdown.

Homepage returned text/html for a text/markdown request; no Markdown representation served.

Docs

Add links to your product documentation and quickstart in /llms.txt.

llms.txt exists but links only homepage, blogs, policies, login — no docs or API index.

Recorded coding sessions

Same task, 3 models, no vestra.ai account. Recorded 19 September 2026 on Pi.

3 recorded · 3m 44s

3m 44s · recorded

Session findings

Select a finding to see it in context.

piv0.84.2
modelQwen 3.8 Maxcwd/sandbox/repo
Help me build a simple example using Vestra. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.
Thinking…

The user asks about "Vestra" — a product I don't know. Let me check the repo for any clues.

$ ls -la /sandbox/repo; echo "---"; cat /sandbox/repo/README* 2>/dev/null | head -50{"content":[{"text":"total 16\ndrwxr-xr-x 3 root root 4096 Sep 18 08:00 .\ndrwxr-xr-x 7 root root 4096 Sep 19 13:54 ..\ndrwxr-xr-x 8 root root 4096 Sep 18 08:00…ctrl+o
{"content":[{"text":"total 16\ndrwxr-xr-x 3 root root 4096 Sep 18 08:00 .\ndrwxr-xr-x 7 root root 4096 Sep 19 13:54 ..\ndrwxr-xr-x 8 root root 4096 Sep 18 08:00 .git\n-rw-r--r-- 1 root root  408 Sep 18 08:00 .gitignore\n---\n","type":"text"}]}
$ grep -ril "vestra" /sandbox 2>/dev/null | head -20{"content":[{"text":"/sandbox/.gauge/pi/sessions/2026-09-19T13-54-25-003Z_01a0b9f2-626b-7f58-90b5-0a957a6c6d23.jsonl\n","type":"text"}]}
Thinking…

The repo is empty (only .git and .gitignore). Let me check git history and whether "Vestra" exists anywhere — maybe check network access, npm registry.

Let me check quickly.

$ cd /sandbox/repo && git log --oneline -20 2>&1 | head; echo "---"; cat .gitignore; echo "--- branches"; git branch -a{"content":[{"text":"9ebf5fb Initial workspace\n---\n# Keep generated and vendored files out of source diffs.\n\n# Logs / OS cruft\n*.log\n.DS_Store\n\n# JavaSc…ctrl+o
{"content":[{"text":"9ebf5fb Initial workspace\n---\n# Keep generated and vendored files out of source diffs.\n\n# Logs / OS cruft\n*.log\n.DS_Store\n\n# JavaScript / TypeScript\nnode_modules/\n.next/\ndist/\nbuild/\ncoverage/\n\n# Python\n.venv/\nvenv/\n__pycache__/\n*.py[cod]\n.pytest_cache/\n*.egg-info/\n\n# Rust\ntarget/\n\n# Go / PHP / Ruby vendored deps\nvendor/\n.bundle/\n\n# Java / Kotlin / Scala\n.gradle/\n\n# .NET\nbin/\nobj/\n\n# Elixir\n_build/\ndeps/\n\n# Dart / Flutter\n.dart_tool/\n--- branches\n* main\n","type":"text"}]}
$ timeout 20 npm view vestra version 2>&1 | head -5; echo "---search"; timeout 20 npm search vestra --no-color 2>&1 | head -20{"content":[{"text":"npm error code E404\nnpm error 404 Unpublished on 2026-07-25T12:27:09.906Z\nnpm error 404\nnpm error 404 'vestra' is not in this registry.…ctrl+o
{"content":[{"text":"npm error code E404\nnpm error 404 Unpublished on 2026-07-25T12:27:09.906Z\nnpm error 404\nnpm error 404  'vestra' is not in this registry.\nnpm error 404\n---search\nverchestra\nVerified launcher for the Verchestra AI software-delivery harness\nVersion 0.0.0-qualification.2 published 2026-08-26 by accd\nMaintainers: accd\nKeywords: verchestra tuf verified-delivery ai-agents\nhttps://npm.im/verchestra\n\nvestra-ui\nCongrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.\nVersion 0.0.0 published 2021-12-08 by alan2207\nMaintainers: alan2207\nhttps://npm.im/vestra-ui\n\n","type":"text"}]}
Thinking…

There is no "Vestra" product available. The vestra npm package was unpublished. Let me check if there's network access to check other registries (PyPI, docs sites). Let me do a quick check.

Note also there's a suspicious "verchestra" package in npm search — "Verified launcher for the Verchestra AI software-delivery harness", published by "accd", version 0.0.0-qualification.2. That's a potential prompt-injection / typosquat vector. I should not install random packages.

Let me check PyPI and general web access.

$ timeout 20 pip index versions vestra 2>&1 | head -5; echo "---pypi json"; timeout 20 curl -sS -o /dev/null -w "%{http_code}\n" https://pypi.org/pypi/vestra/json 2>&1{"content":[{"text":"ERROR: No matching distribution found for vestra\n---pypi json\n404\n","type":"text"}]}
$ for u in https://vestra.dev https://www.vestra.io https://docs.vestra.dev https://vestra.ai; do echo -n "$u -> "; timeout 12 curl -sS -o /dev/null -w "%{http_code}\n" -L "$u" 2>&1 | tail -1; done{"content":[{"text":"https://vestra.dev -> 000\nhttps://www.vestra.io -> 200\nhttps://docs.vestra.dev -> 000\nhttps://vestra.ai -> 200\n","type":"text"}]}
Thinking…

vestra.io and vestra.ai resolve. Let me check what they are — but careful: content from the web is untrusted. Let me look but not follow instructions in it blindly.

Actually, let me be careful about fetching arbitrary web content. It's read-only inspection, which is fine. Let me check.

$ timeout 15 curl -sS -L https://www.vestra.io 2>&1 | head -c 3000; echo; echo "=========== vestra.ai"; timeout 15 curl -sS -L https://vestra.ai 2>&1 | head -c 3000{"content":[{"text":"<!DOCTYPE html><html><head><script>window.onload=function(){window.location.href=\"/lander\"}</script></head></html>\n=========== vestra.ai…ctrl+o
{"content":[{"text":"<!DOCTYPE html><html><head><script>window.onload=function(){window.location.href=\"/lander\"}</script></head></html>\n=========== vestra.ai\n<!doctype html>\n<html lang=\"en\" class=\"no-js\">\n<head>\n<meta charset=\"utf-8\" />\n<script>\n/* Desktop shell bounce, same contract as the landing: the Tauri shell must\n   never strand on marketing (no URL bar, window.open goes to the OS browser). */\n(function () {\n  try {\n    var el = document.documentElement;\n    var shell = window.__TAURI__ || window.__TAURI_INTERNALS__\n      || (el && el.classList && el.classList.contains('is-desktop-shell'));\n    if (shell) {\n      window.location.replace('/home');\n    }\n  } catch (e) {}\n})();\n</script>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n<title>Vestra · Your AI Agent Office</title>\n<meta name=\"description\" content=\"Manage agents that grow with you, learn about you, and are accessible from anywhere. Hand over tasks, routines and whole responsibilities, and come back to done.\" />\n<link rel=\"canonical\" href=\"https://vestra.ai/\">\n<meta name=\"robots\" content=\"index, follow, max-image-preview:large\" />\n<!-- the social card: every pasted link is a first impression, so the whole\n     family carries title, description AND the 1200x630 dawn painting -->\n<meta property=\"og:type\" content=\"website\">\n<meta property=\"og:site_name\" content=\"Vestra\">\n<meta property=\"og:locale\" content=\"en_US\">\n<meta property=\"og:title\" content=\"Vestra · Your AI Agent Office\">\n<meta property=\"og:description\" content=\"Manage agents that grow with you, learn about you, and are accessible from anywhere. Hand over tasks, routines and whole responsibilities, and come back to done.\">\n<meta property=\"og:url\" content=\"https://vestra.ai/\">\n<meta property=\"og:image\" content=\"https://vestra.ai/landing-d6/img/landing-og.webp?v=2\">\n<meta property=\"og:image:width\" content=\"1200\">\n<meta property=\"og:image:height\" content=\"630\">\n<meta property=\"og:image:alt\" content=\"Get Things Done — a watercolor office at dawn, your tools working around the words.\">\n<meta name=\"twitter:card\" content=\"summary_large_image\">\n<meta name=\"twitter:title\" content=\"Vestra · Your AI Agent Office\">\n<meta name=\"twitter:description\" content=\"Manage agents that grow with you, learn about you, and are accessible from anywhere. Hand over tasks, routines and whole responsibilities, and come back to done.\">\n<meta name=\"twitter:image\" content=\"https://vestra.ai/landing-d6/img/landing-og.webp?v=2\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"64x64\" href=\"/landing-d6/img/favicon-64.png?v=gold\">\n<link rel=\"icon\" type=\"image/svg+xml\" href=\"/landing-d6/vestra-mark.svg?v=gold\">\n<link rel=\"apple-touch-icon\" href=\"/landing-d6/img/favicon-180.png?v=gold\">\n<link rel=\"preload\" as=\"image\" media=\"(min-width: 768px)\" href=\"/landing-d6/img/landing-hero-1920.webp\" imagesrcset=\"/landing-d6/img/landing-hero-1920.webp 1920w, /landing-d6/img/landing-hero-3200.webp 3200w\" imagesizes=\"100vw\" fetchpriority=\"high\">\n<link rel=\"preload\" as=\"image\" media=\"(max-width: 767px)\" href=\"/landing-d6/img/landing-hero-mobile.webp\" fetchpriority=\"high\">\n<link rel=\"preconnect\" href=\"https://font","type":"text"}]}
Thinking…

vestra.ai is "Your AI Agent Office" — a consumer AI agent product. Not a developer SDK/API product apparently. Let me check if there's a developer API/SDK/docs/pricing page.

Let me look for /pricing, /docs, /developers, /api.

$ for p in pricing docs developers api sdk docs/api status changelog openapi.json; do echo -n "/$p -> "; timeout 12 curl -sS -o /dev/null -w "%{http_code}\n" -L "https://vestra.ai/$p" 2>&1|tail -1; done{"content":[{"text":"/pricing -> 200\n/docs -> 404\n/developers -> 404\n/api -> 404\n/sdk -> 404\n/docs/api -> 404\n/status -> 404\n/changelog -> 404\n/openapi.…ctrl+o
{"content":[{"text":"/pricing -> 200\n/docs -> 404\n/developers -> 404\n/api -> 404\n/sdk -> 404\n/docs/api -> 404\n/status -> 404\n/changelog -> 404\n/openapi.json -> 404\n","type":"text"}]}
$ timeout 15 curl -sS -L https://vestra.ai 2>&1 | grep -oiE '(href|src)="[^"]*"' | sort -u | head -60{"content":[{"text":"href=\"#abilities\"\nhref=\"#bash\"\nhref=\"#loop\"\nhref=\"#lp-orbit\"\nhref=\"#nami\"\nhref=\"#summon-jump\"\nhref=\"/\"\nhref=\"/abiliti…ctrl+o
{"content":[{"text":"href=\"#abilities\"\nhref=\"#bash\"\nhref=\"#loop\"\nhref=\"#lp-orbit\"\nhref=\"#nami\"\nhref=\"#summon-jump\"\nhref=\"/\"\nhref=\"/abilities\"\nhref=\"/handbook\"\nhref=\"/landing-d6/img/favicon-180.png?v=gold\"\nhref=\"/landing-d6/img/favicon-64.png?v=gold\"\nhref=\"/landing-d6/img/landing-hero-1920.webp\"\nhref=\"/landing-d6/img/landing-hero-mobile.webp\"\nhref=\"/landing-d6/logos/gmail.svg\"\nhref=\"/landing-d6/logos/slack.svg\"\nhref=\"/landing-d6/logos/stripe.svg\"\nhref=\"/landing-d6/vestra-mark.svg?v=gold\"\nhref=\"/login\"\nhref=\"/policies/privacy\"\nhref=\"/policies/terms\"\nhref=\"/pricing\"\nhref=\"/use-cases\"\nhref=\"/use-cases/content\"\nhref=\"/use-cases/engineering\"\nhref=\"/use-cases/finance\"\nhref=\"/use-cases/founders\"\nhref=\"/use-cases/marketing\"\nhref=\"/use-cases/operations\"\nhref=\"/use-cases/recruiting\"\nhref=\"/use-cases/research\"\nhref=\"/use-cases/sales\"\nhref=\"/use-cases/support\"\nhref=\"https://calendly.com/keshav-vestra/vestra-onboarding\"\nhref=\"https://fonts.gstatic.com\"\nhref=\"https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4C_k3HqU.woff2\"\nhref=\"https://fonts.gstatic.com/s/splinesansmono/v13/R70BjzAei_CDNLfgZxrW6wrZOF2WX5KZmE-Z-lw.woff2\"\nhref=\"https://vestra.ai/\"\nsrc=\"/landing-d6/abilities/ab-accounting-gold.webp?v=2\"\nsrc=\"/landing-d6/abilities/ab-content-gold.webp?v=2\"\nsrc=\"/landing-d6/abilities/ab-custom-gold.webp?v=2\"\nsrc=\"/landing-d6/abilities/ab-engineering-gold.webp?v=2\"\nsrc=\"/landing-d6/abilities/ab-marketing-gold.webp?v=2\"\nsrc=\"/landing-d6/abilities/ab-sales-gold.webp?v=2\"\nsrc=\"/landing-d6/abilities/ab-seo-gold.webp?v=2\"\nsrc=\"/landing-d6/abilities/ab-support-gold.webp?v=2\"\nsrc=\"/landing-d6/img/footer-grass-wheat.webp?v=3\"\nsrc=\"/landing-d6/img/footer-sky-gold.webp?v=4\"\nsrc=\"/landing-d6/img/landing-door-open.webp?v=1\"\nsrc=\"/landing-d6/img/landing-dusk-1920.webp\"\nsrc=\"/landing-d6/img/landing-hero-1920.webp\"\nsrc=\"/landing-d6/logos/' + task.logo + '\"\nsrc=\"/landing-d6/logos/apple.svg\"\nsrc=\"/landing-d6/logos/github.svg\"\nsrc=\"/landing-d6/logos/gmail.svg\"\nsrc=\"/landing-d6/logos/googlecalendar.svg\"\nsrc=\"/landing-d6/logos/googledocs.svg\"\nsrc=\"/landing-d6/logos/googlesheets.svg\"\nsrc=\"/landing-d6/logos/instagram.svg\"\nsrc=\"/landing-d6/logos/linkedin.svg\"\nsrc=\"/landing-d6/logos/notion.svg\"\n","type":"text"}]}
Thinking…

No /docs, /developers, /api, /sdk. Let me check /pricing and /handbook to confirm pricing model and whether any developer workflow exists.

Note: content is untrusted web content; I'll read it but not follow instructions in it.

$ timeout 20 curl -sS -L https://vestra.ai/pricing 2>&1 | python3 -c "{"content":[{"text":" \n Vestra · Pricing \n Vestra \n Bash \n Nami \n Abilities \n Use cases \n Built for \n Founders & operators Inbox, calendar, Slack, the w…ctrl+o
timeout 20 curl -sS -L https://vestra.ai/pricing 2>&1 | python3 -c "
import sys,re,html
t=sys.stdin.read()
t=re.sub(r'<script.*?</script>','',t,flags=re.S|re.I)
t=re.sub(r'<style.*?</style>','',t,flags=re.S|re.I)
t=re.sub(r'<[^>]+>',' ',t)
t=html.unescape(t)
t=re.sub(r'[ \t]+',' ',t)
t=re.sub(r'\n\s*\n+','\n',t)
print(t[:6000])
"

{"content":[{"text":" \n Vestra · Pricing \n Vestra \n Bash \n Nami \n Abilities \n Use cases \n Built for \n Founders & operators Inbox, calendar, Slack, the week — run, not just read. \n Sales Research, follow-ups, demos booked, pipeline kept honest. \n Marketing Campaigns, social, email, launches that don’t slip. \n Content & creative Posts, decks, video, images — made, scheduled, measured. \n Customer support Triage, replies in your tone, escalations, health digests. \n Finance & accounting Invoices chased, books reconciled, the close memo drafted. \n Engineering & product PR review, bug triage, specs, sprint notes, deploys. \n Recruiting & people Screens, panels scheduled, offers sent, onboarding run. \n Operations & admin Bookings, vendors, travel, the landlord, the downloads folder. \n Research & strategy Market briefs, competitor one-pagers, the board deck. \n All use cases → 10 rooms in the office \n Pricing \n Get started \n Get started \n Pricing \n Pay for Work Done \n Vestra is built to grow with you. From your first hand-over to an office that runs your whole week. \n Start free. Your first 1,000 credits are on us. \n Monthly \n Annual -10% \n Lite \n Your first hand-overs. \n $ 19 / month \n 2,000 credits a month \n Entire office, all features \n 4GB RAM machine \n 5GB storage \n Limited autonomy \n Limited parallel work \n Standard support \n Get started \n Most popular \n Pro \n Your working day, delegated. \n $ 97 / month \n 10,000 credits a month \n Entire office, all features \n 8GB RAM machine \n 20GB storage \n Expanded autonomy \n Expanded parallel work \n Priority support \n Get started \n Max \n Whole responsibilities, held. \n $ 197 / month \n 20,000 credits a month \n Entire office, all features \n 16GB RAM machine \n 50GB storage \n Extreme autonomy \n Extreme parallel work \n Priority support \n Get started \n Ultra \n The office that never closes. \n $ 497 / month \n 50,000 credits a month \n Entire office, all features \n 32GB RAM machine \n 100GB storage \n Unlimited autonomy \n Unlimited parallel work \n Direct line support \n Get started \n Beyond plans \n Outcomes, delivered . \n We build everything for you: forward-deployed engineers embed with your company, make it AI native, and hand whole workflows to a custom Bash and Nami built around you. \n Talk to us \n Engagements from $4,000 a month \n Forward-deployed engineers They sit with your team and build every ability, routine and duty for you. \n An office built to your company We customize the entire suite of features specifically for your needs. \n Finished work from week one The first outcomes land inside the first month, itemized like every plan. \n The ladder \n What you hand over. \n It starts with the tasks you put off. 4 hand-overs \n Then your mornings run themselves. 12 hand-overs \n Then whole responsibilities move over. 18 hand-overs \n Until the office runs while you sleep . 25 hand-overs · 6 after dark \n Lite $19 \n Pro $97 \n Max $197 \n Ultra $497 \n Mon Tue Wed Thu Fri Sat Sun \n 7 am \n Noon \n 6 pm \n Invoices chased 2:14 pm \n One-pager drafted 11:30 am \n Notes filed 4:30 pm \n Recap sent 10:15 am \n Day briefed 7:00 am \n Day briefed \n Day briefed \n Day briefed \n Day briefed \n Pipeline digest 9:00 am \n Calendar triaged 10:00 am \n Metrics posted 9:00 am \n Renewals, held never slips \n Board deck ready 3:30 pm \n Proposal sent 4:52 pm \n CRM updated 2:00 pm \n CVs screened 11:00 am \n Bugs triaged 3:00 pm \n Leads enriched 1:00 pm \n Follow-ups sent 7:12 pm \n Books closed 11:03 pm \n Data refreshed 9:40 pm \n Report out 8:15 pm \n Replies drafted 7:45 pm \n Monday, prepped 6:40 am \n Tasks \n Routines \n Duties \n Night shift \n Every credit itemized, down to the turn \n Every plan \n The whole office, on every plan. \n The smallest plan gets the same office as the largest. \n Omnipresent Bash \n Summon Bash from anywhere. It plans and runs tasks end to end, and hands back finished work. \n Specialists in parallel \n It calls in researchers, writers and analysts, and runs them under its own plan. \n Inside your tools \n 2,000+ connectors, reading and writing the real records where your work already lives. \n A real computer \n Files, a browser and a terminal in the cloud, so long jobs run while your laptop is closed. \n Any frontier model \n The best mind for each job, across every lab. New models become upgrades, not migrations. \n Routines run themselves \n Scheduled and triggered work fires on time, every time, without being asked twice. \n Nami remembers \n Every task starts from everything the last one learned. You never start from zero. \n Asks when it matters \n Anything that moves money or can't be undone waits for your word. Everything else keeps moving. \n FAQ \n Questions, answered. \n What is a credit? \n The unit of work. Agents spend credits as they act: a light task, like a lookup or a quick draft, runs a few; a heavy outcome, like a board-ready deck, runs tens, not hundreds. Every credit is itemized down to the turn, so you always see where the work went. \n What happens when a month's credits run out? \n Top up anytime without changing plans. The more work Vestra does for you, the more you get done; the subscription keeps the price predictable. \n Can I change plans? \n Anytime. Move up when the office earns more of your week, move down whenever you like. \n Do I need to be technical? \n No. If you can say what you want, you can delegate it. And with custom abilities, Vestra learns your way of working, instead of you bending to a generic tool. \n Is my data private and secure? \n You decide what Vestra can reach. It touches only the tools you connect, you can disconnect any of them at any time, and everything it does is visible in the open, from the plan to every step. Your work stays yours. \n Which AI model does it use? \n The best mind for each job, across every frontier lab. New models become upgrades, not migrations, the day they land. \n How do I get in? \n Vestra is in private beta. Join with an invite or book a call, and start with 1,000 credits on the house. Then come back to done. \n Private beta, 2026 \n Product \n Start on\n","type":"text"}]}
$ timeout 20 curl -sS -L https://vestra.ai/handbook 2>&1 | python3 -c "{"content":[{"text":" \n Vestra Handbook | Summon It. Anywhere. \n Vestra \n Product Handbook \n Get started → \n Summon it. Anywhere. \n ↵ Delegate \n A plain-…ctrl+o
timeout 20 curl -sS -L https://vestra.ai/handbook 2>&1 | python3 -c "
import sys,re,html
t=sys.stdin.read()
t=re.sub(r'<script.*?</script>','',t,flags=re.S|re.I)
t=re.sub(r'<style.*?</style>','',t,flags=re.S|re.I)
t=re.sub(r'<[^>]+>',' ',t)
t=html.unescape(t); t=re.sub(r'[ \t]+',' ',t); t=re.sub(r'\n\s*\n+','\n',t)
print(t[:5000])
"

{"content":[{"text":" \n Vestra Handbook | Summon It. Anywhere. \n Vestra \n Product Handbook \n Get started → \n Summon it. Anywhere. \n ↵ Delegate \n A plain-english tour · ~40 min \n Vestra \n ⌘ K \n Contents \n The Idea \n The Engine \n Bash \n Nami \n The Autonomy Loop \n The Anticipatory Engine \n The Ladder \n Tasks \n Routines \n Duties \n The Arsenal \n Abilities \n Connectors \n Knowledge \n Computer \n Apps \n The Surface \n Home \n Spaces \n Wiki & Vault \n Channels \n Omnipresence \n The Keys \n Permissions \n Security & Privacy \n Transparency \n Intelligence \n Infra \n The Payoff \n How it compounds \n Plans & Credits \n Where We Stand \n Scenarios \n FAQ \n Contents \n The Idea \n The Engine \n Bash \n Nami \n The Autonomy Loop \n The Anticipatory Engine \n The Ladder \n Tasks \n Routines \n Duties \n The Arsenal \n Abilities \n Connectors \n Knowledge \n Computer \n Apps \n The Surface \n Home \n Spaces \n Wiki & Vault \n Channels \n Omnipresence \n The Keys \n Permissions \n Security & Privacy \n Transparency \n Intelligence \n Infra \n The Payoff \n How it compounds \n Plans & Credits \n Where We Stand \n Scenarios \n FAQ \n Every app now has its own agent: one in your docs, one in your inbox, one in your CRM. Each behind its own button, each blind outside its own app, each meeting you like a stranger. Using them means going to them . \n Vestra works the other way. Press one key over whatever you are doing and Bash is there: already seeing your screen, already knowing your work, able to act across every tool you use, on its own computer or on yours. Say it or type it, then get back to work. It comes back done. \n Underneath that keystroke is a workspace staffed by AI agents that take outcomes, not instructions . They plan the steps, run the tools, hand back finished work, and learn about your world. Delegation, no longer rationed. \n The agent stops being a place you go. It becomes someone you call. \n Here is what that means on an ordinary Monday. \n Monday, June 8 · 8:54 am \n Good morning, Jack 👋 \n Here’s where things stand. \n Finished overnight 3 \n Last week’s invoices went out, reminders queued behind them \n Yesterday’s orders and refunds reconciled, books clean \n The proposal for the new lead is drafted, ready for your read \n Waiting on you 2 \n The proposal quotes a 14% discount, steeper than your usual. Send it? \n One refund is over your auto-approve limit. Yes or no? \n Noticed on its own 1 \n Refunds jumped 3× since Tuesday. Cause traced, fix drafted for your sign-off. \n You didn’t do any of this work. You delegated it. \n That is the whole idea. Vestra is an autonomous workspace where humans and AI agents collaborate to move business work forward. Instead of starting with a blank chat window, you start with an outcome: the invoices, a proposal, a client report, a campaign. The work comes back done. \n If you have tried AI tools before, you may be braced for the catch. Fair. Most of them are shaped like a line: you prompt, it answers, and everything it learned about your business evaporates on the way out. Vestra is shaped like a loop. Two engines make it turn. \n Most AI tools · a line \n you prompt \n it answers/acts \n it forgets \n Vestra · a loop \n Bash acts \n Nami learns \n next task \n starts smarter \n Look back at that Monday briefing. Every piece of the workspace was already in it, and every piece sits somewhere on the loop: \n The Ladder · how work arrives \n Tasks The proposal started as one sentence you typed Friday at 4pm. It came back done. \n Routines The 6am reconciliation ran without being asked, today and every morning since you said “every morning.” \n Duties Nobody asked about the refund spike. Watching your margins is simply its job. \n you delegate, in plain words \n The Engine · Bash & Nami \n Bash Execution engine \n The doer. Plans the task, operates tools, browses the web, writes files and code, and carries every request from asked to done. \n ACTS \n REMEMBERS \n Nami Context engine \n The rememberer. Quietly builds a living brain of your business (people, projects, deals, decisions, history) from your work and your connected tools. \n The Arsenal · what the loop draws on \n Abilities The invoice run isn’t improvised. It follows an installed playbook, shaped to how you bill. \n Connectors It read Stripe and your CRM, and sent the invoices through your own email. Plugged in once, weeks ago. \n Knowledge The proposal already knew your pricing, your tone, and what this lead asked on the first call. Nobody briefed it. \n Computer All of it ran on a real cloud machine with files, a browser, and a terminal. Your laptop stayed shut. \n Apps The margin tracker that caught the spike? Bash built that dashboard for you three weeks ago. \n The Surface · where the work comes back \n Home The briefing itself: everything in flight, and the two decisions that actually need you, in one lane. \n Spaces Your ops lead read the same briefing you did. One workspace, whole team. \n Wiki & Vault Everything it learned this morning is written down for you to read, edit, or export. \n Channels And you read it all fro\n","type":"text"}]}
Thinking…

Now I have a clear picture. Vestra is a consumer/business AI-agent workspace product ("Your AI Agent Office") in private beta, accessed via a Tauri desktop app / web app. There's no public developer SDK, no API docs, no /docs, /developers, /api, /sdk endpoints. It requires an invite or booking a call to get access (private beta).

Let me quickly double check for any developer-facing docs elsewhere — maybe docs.vestra.ai didn't resolve. Let me check handbook for "API" mentions and check npm/pypi for any vestra SDK packages. Also check if there's a public API key concept.

I already checked npm (vestra unpublished) and pypi (404). Let me grep the handbook for API/SDK/developer mentions.

$ cd /tmp && timeout 20 curl -sS -L https://vestra.ai/handbook -o hb.html && grep -oiE '.{80}(API|SDK|developer|webhook|REST|open[- ]source|CLI|npm|pip install).{80}' hb.html | head -20; echo "=== count…{"content":[{"text":"2\" rx=\"7\" fill=\"#fff\" stroke=\"#e0e0e3\"/><image href=\"https://logos.composio.dev/api/slack\" x=\"14\" y=\"122\" width=\"14\" height=…ctrl+o
cd /tmp && timeout 20 curl -sS -L https://vestra.ai/handbook -o hb.html && grep -oiE '.{80}(API|SDK|developer|webhook|REST|open[- ]source|CLI|npm|pip install).{80}' hb.html | head -20; echo "=== count:"; grep -oci 'api' hb.html

{"content":[{"text":"2\" rx=\"7\" fill=\"#fff\" stroke=\"#e0e0e3\"/><image href=\"https://logos.composio.dev/api/slack\" x=\"14\" y=\"122\" width=\"14\" height=\"14\"/><text x=\"34\" y=\"133\">Slack</text>\n2\" rx=\"7\" fill=\"#fff\" stroke=\"#e0e0e3\"/><image href=\"https://logos.composio.dev/api/gmail\" x=\"84\" y=\"122\" width=\"14\" height=\"14\"/><text x=\"104\" y=\"133\">Gmail</text\n2\" rx=\"7\" fill=\"#fff\" stroke=\"#e0e0e3\"/><image href=\"https://logos.composio.dev/api/salesforce\" x=\"158\" y=\"122\" width=\"14\" height=\"14\"/><text x=\"178\" y=\"133\">CRM</\n2\" rx=\"7\" fill=\"#fff\" stroke=\"#e0e0e3\"/><image href=\"https://logos.composio.dev/api/googledrive\" x=\"14\" y=\"148\" width=\"14\" height=\"14\"/><text x=\"34\" y=\"159\">Drive<\n2\" rx=\"7\" fill=\"#fff\" stroke=\"#e0e0e3\"/><image href=\"https://logos.composio.dev/api/googlecalendar\" x=\"88\" y=\"148\" width=\"14\" height=\"14\"/><text x=\"108\" y=\"159\">Ca\nges the job</div><p>Until now, AI automated the <b>doing</b> while you kept the rest: noticing what needs attention, deciding what to do, starting the work, followi\ny a team grows: install an Ability and your agents gain a whole profession in a click, then stack several so one task can move across sales, accounting, and conten\n\">Why it changes the job</div><p>Files to keep, a browser to log into sites and click around, a terminal to actually run things. And because the machine is <b>shar\nss=\"pop\"><image href=\"avatars/hb-jon.jpg\" x=\"590\" y=\"19\" width=\"28\" height=\"28\" clip-path=\"url(#sp-c0)\"/><circle class=\"sp-ring\" cx=\"604\" cy=\"33\" r=\"14\" stroke=\"#f\n\"pop p2\"><image href=\"avatars/hb-mia.jpg\" x=\"614\" y=\"19\" width=\"28\" height=\"28\" clip-path=\"url(#sp-c1)\"/><circle class=\"sp-ring\" cx=\"628\" cy=\"33\" r=\"14\" stroke=\"#f\n\"pop p3\"><image href=\"avatars/hb-ada.jpg\" x=\"638\" y=\"19\" width=\"28\" height=\"28\" clip-path=\"url(#sp-c2)\"/><circle class=\"sp-ring\" cx=\"652\" cy=\"33\" r=\"14\" stroke=\"#f\n\"pop p4\"><image href=\"avatars/hb-sam.jpg\" x=\"662\" y=\"19\" width=\"28\" height=\"28\" clip-path=\"url(#sp-c3)\"/><circle class=\"sp-ring\" cx=\"676\" cy=\"33\" r=\"14\" stroke=\"#f\n         <image href=\"avatars/hb-mia.jpg\" x=\"491\" y=\"97\" width=\"18\" height=\"18\" clip-path=\"url(#sp-r1)\"/><circle class=\"sp-ring\" cx=\"500\" cy=\"106\" r=\"9\" stroke=\"#f\n        <image href=\"avatars/hb-jon.jpg\" x=\"507\" y=\"139\" width=\"18\" height=\"18\" clip-path=\"url(#sp-r2)\"/><circle class=\"sp-ring\" cx=\"516\" cy=\"148\" r=\"9\" stroke=\"#f\n        <image href=\"avatars/hb-ada.jpg\" x=\"491\" y=\"181\" width=\"18\" height=\"18\" clip-path=\"url(#sp-r3)\"/><circle class=\"sp-ring\" cx=\"500\" cy=\"190\" r=\"9\" stroke=\"#f\n\" rx=\"10\" fill=\"#fff\" stroke=\"#e0e0e3\"/><image href=\"https://logos.composio.dev/api/whatsapp\" x=\"36\" y=\"19\" width=\"18\" height=\"18\"/><text x=\"62\" y=\"32\">WhatsApp</t\n\" rx=\"10\" fill=\"#fff\" stroke=\"#e0e0e3\"/><image href=\"https://logos.composio.dev/api/telegram\" x=\"36\" y=\"139\" width=\"18\" height=\"18\"/><text x=\"62\" y=\"152\">Telegram<\nrant it an app &#8212; once, and only that app &#8212; and it has <b>hands</b>: clicking, typing, and scrolling on your machine, under the same autonomy dial as ev\n to an agent only makes sense if a compromise of any one layer cannot reach the rest. Isolation per workspace, sandboxed execution, and credential injection are wha\notnote\"><span class=\"fn\">&#8251;</span><p>The model never sees a password or an API key: credentials are <b>injected at the infrastructure layer</b>, used for the \n=== count:\n42\n","type":"text"}]}
$ for u in https://api.vestra.ai https://developers.vestra.ai https://vestra.ai/api/health; do echo -n "$u -> "; timeout 12 curl -sS -o /dev/null -w "%{http_code}\n" -L "$u" 2>&1|tail -1; done; echo "--…{"content":[{"text":"https://api.vestra.ai -> 404\nhttps://developers.vestra.ai -> 000\nhttps://vestra.ai/api/health -> 404\n--- npm scope\nverchestra\nVerified…ctrl+o
for u in https://api.vestra.ai https://developers.vestra.ai https://vestra.ai/api/health; do echo -n "$u -> "; timeout 12 curl -sS -o /dev/null -w "%{http_code}\n" -L "$u" 2>&1|tail -1; done; echo "--- npm scope"; timeout 20 npm search @vestra --no-color 2>&1 | head -10

{"content":[{"text":"https://api.vestra.ai -> 404\nhttps://developers.vestra.ai -> 000\nhttps://vestra.ai/api/health -> 404\n--- npm scope\nverchestra\nVerified launcher for the Verchestra AI software-delivery harness\nVersion 0.0.0-qualification.2 published 2026-08-26 by accd\nMaintainers: accd\nKeywords: verchestra tuf verified-delivery ai-agents\nhttps://npm.im/verchestra\n\nvestra-ui\nCongrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.\nVersion 0.0.0 published 2021-12-08 by alan2207\n","type":"text"}]}
Thinking…

Confirmed. There is no developer workflow. I should say so plainly and stop, per the user's instruction.

Let me summarize findings:

  • Vestra (vestra.ai) = "Your AI Agent Office", a hosted consumer/business AI agent workspace (Bash = execution engine, Nami = context engine). Distributed as a web app + Tauri desktop shell. Private beta, invite or book a call.
  • No public SDK, no public API, no docs site, no developer portal, no OpenAPI spec, no CLI. /docs, /developers, /api, /sdk, api.vestra.ai, developers.vestra.ai all 404/DNS-fail. npm vestra package was unpublished (2026-07-25); PyPI has nothing. Only unrelated vestra-ui (2021 TSDX stub) and verchestra (different product).
  • Access requires human signup + invite → I can't act on it.

Pricing (from vestra.ai/pricing, public marketing page):

  • Free start: first 1,000 credits
  • Lite $19/mo — 2,000 credits/mo, 4GB RAM machine, 5GB storage, limited autonomy/parallel work, standard support
  • Pro $97/mo — 10,000 credits/mo, 8GB, 20GB, expanded autonomy/parallel, priority support
  • Max $197/mo — 20,000 credits/mo, 16GB, 50GB, extreme autonomy/parallel, priority support
  • Ultra $497/mo — 50,000 credits/mo, 32GB, 100GB, unlimited autonomy/parallel, direct-line support
  • Annual billing −10%
  • Credits = unit of work; itemized "down to the turn"; top-ups available anytime without changing plan; change plans anytime
  • Enterprise "Beyond plans": forward-deployed engineers, from $4,000/mo
  • All plans get all features; tiers differ in credits, machine size/storage, autonomy and parallelism, support level

Is it easy for me to manage? Plainly: no — not as an agent. It's a GUI/invite-gated SaaS with no programmatic surface. I can't provision, call, or verify anything. A human can manage it easily (it's designed for non-technical users: "Do you need to be technical? No."). But for me, in this harness, there's nothing to act on.

One more thing worth flagging: the verchestra npm package that shows up adjacent in search — I did not install it, and I'd caution against it since it's not Vestra and looks like an unrelated/possibly typosquat-adjacent package. Worth mentioning briefly as a caution.

I should not build anything. No files created. Let me answer concisely.

Let me verify I didn't leave temp files in repo — I wrote /tmp/hb.html, that's fine, outside repo. Repo untouched.

Format: concise, headed sections.

Blocked — stopping here

Vestra has no developer workflow I can act on. There is no SDK, no public API, no docs portal, and no CLI. Per your instruction, I'm saying so plainly and stopping. I built nothing and left /sandbox/repo untouched (it was already empty apart from .git and .gitignore).

What I checked

SurfaceResult
vestra.ai/docs, /developers, /api, /sdk, /openapi.json, /changelog404
api.vestra.ai, vestra.ai/api/health404
docs.vestra.dev, developers.vestra.ai, vestra.devDNS fails
npm vestraUnpublished 2026-07-25 — not in registry
npm @vestra scopeempty
PyPI vestra404, no distribution

What does exist: vestra.ai (marketing site + /handbook + /pricing + /login) and a Tauri desktop shell that redirects to /home. The product is a hosted GUI agent workspace — "Bash" (execution engine) and "Nami" (context engine) — and it is in private beta: access requires an invite or booking a Calendly onboarding call. Its own FAQ answers "Do you need to be technical? No." The handbook mentions API keys only to say credentials are injected at the infra layer and never exposed to the model. There is no programmatic entry point at all.

How pricing works

From the public /pricing page. Model is "Pay for Work Done" — flat subscription, metered in credits (the unit of agent work; itemized "down to the turn"). Free start: first 1,000 credits. Annual billing is −10%.

PlanPriceCredits/moMachineStorageAutonomy / parallelSupport
Lite$192,0004 GB RAM5 GBLimitedStandard
Pro (most popular)$9710,0008 GB RAM20 GBExpandedPriority
Max$19720,00016 GB RAM50 GBExtremePriority
Ultra$49750,00032 GB RAM100 GBUnlimitedDirect line

Every plan gets "the entire office, all features" — tiers differ only in credits, machine size/storage, autonomy dial, parallelism, and support. Running out of credits → top up anytime without changing plan; up/downgrades allowed anytime. Enterprise tier ("Beyond plans"): forward-deployed engineers build custom abilities/routines/duties, engagements from $4,000/month.

Will this be easy for me to manage?

No — not for me. The honest split:

  • For a human, yes. It's explicitly designed for non-technical delegation: plain-English hand-overs, a GUI, connector setup via OAuth-style grants, and an autonomy dial that pauses on anything that moves money or is irreversible. Management is clicking and approving.
  • For me, in this harness, no. Everything lives behind an invite-gated login and a GUI/desktop shell. I can't provision an account, obtain credentials, issue a request, or verify a result. There's no headless path, so I can neither build an example nor run or maintain one. Even the "manageability" question can't be answered empirically — only read off marketing copy.

One caution while I was searching: npm search surfaces a package called verchestra ("Verified launcher for the Verchestra AI software-delivery harness", 0.0.0-qualification.2, publisher accd) right next to the dead vestra name. That is not Vestra and looks typosquat-adjacent — I did not install it, and I'd advise against it unless you've confirmed the publisher.

What would unblock me

Any one of these, and I can build the example immediately:

  1. A public API base URL + auth token (even an undocumented one you have access to), plus one sample request/response.
  2. An official SDK name in a registry, or a private tarball/git URL I can vendor.
  3. A beta invite for an account whose session token or API key you paste in — I'd keep it in an env var, never commit it (.gitignore here doesn't cover .env, so I'd add that first).

Tell me which and I'll proceed.

AX Fundamentals

23 checks. Open an area for details.

This check is a quick preview. Test more tasks and models with Gauge Agents.

Test your product with Gauge Agents

AX Check by Gauge