How it works
What does Versus actually do?
You ask one question. Several models — typically a senior-engineer voice, a risk-averse skeptic, and a move-fast pragmatist — argue it across multiple rounds. They read each other's arguments, push back, change their minds, or dig in. A lead model then synthesizes what they converged on, what they didn't, and why.
You get the synthesis, the round-by-round transcript, an analysis page (Report Card), and — if you turned it on — citations.
What's a "round"?
A round is one pass where each agent speaks once, sees what the others said, and prepares to respond next round. We run a configurable minimum and maximum (defaults: min 3, max 5). If the agents converge before the maximum, the debate stops early.
Who's the "lead agent"?
One of your configured agents is designated the lead. They run the synthesis pass at the end and generate the Report Card. You pick them in the Config popover; the first agent is the default.
What's "source-cited mode"?
A toggle that injects a web-search tool into providers that support one (currently OpenAI, Anthropic, Google). Agents are instructed to cite sources in a Sources: block. Citations are rendered as footnotes; if an agent claimed sources but didn't return them, you'll see an "⚠ Unverified" badge.
Providers without a built-in search tool (e.g. Ollama, custom endpoints) get a "No web access" badge instead. They still participate, just without citations.
What's the Report Card?
A structured analysis the lead agent generates after the debate ends: TL;DR, consensus quality, position-change index (who moved most), most influential round, key pivots, and unresolved tensions. You can collapse it, regenerate it, or export it.
How is this different from asking ChatGPT?
A single model has one prior, one bias, and one taste. It will produce an answer that sounds right to itself. Versus forces three different priors into a room and makes them argue. The wrong answer that survives a Senior Engineer attacking a Risk-averse Skeptic attacking a Move-Fast Pragmatist is more durable than the wrong answer that survived nobody.
You also get a transcript. If you commit to a decision, you can re-read the round where someone made the case against your eventual choice and make sure you understood it.
How is this different from hiring a consultant or asking a senior peer?
Cheaper, faster, and infinitely repeatable. A senior peer charges hundreds of dollars an hour and gets tired. Versus runs on whatever frontier models you bring keys for, costs cents per debate at default settings, and you can re-run the same question with different roles or a different skeptic profile until the argument is exhausted.
Can I trust the synthesis?
Trust the transcript more than the synthesis. The synthesis is a model summarizing other models. It can flatten genuine disagreement or invent consensus that wasn't there. Read the rounds — the per-round transcript is where you'll spot when the synthesis is too tidy.
BYOK and key security
What does BYOK mean here?
Bring Your Own Key. You provide your own API keys for the providers you want to use (OpenAI, Anthropic, Google, Ollama, or any OpenAI-compatible endpoint). We don't proxy your traffic through our keys, and we don't mark up tokens. Whatever each provider charges you, that's what the debate costs.
Where are my keys stored?
By default, only in your browser. Keys live in your local browser storage and are sent directly to the providers you configured.
On a Team plan, you can opt in to server-stored keys in Settings. Keys are encrypted at rest using a key managed by our encrypt-key edge function, and decrypted only when needed to start a debate — so nobody on the team re-enters credentials at the start of a session. We show a consent modal before this is enabled and you can revoke it at any time.
Can Anthropic, OpenAI, etc. see my prompts?
Yes — that's how BYOK works. When an agent powered by Claude Sonnet runs, the request goes from your browser to Anthropic, using your Anthropic key, governed by Anthropic's terms and privacy policy. Same for every other provider. Read each provider's data-retention policy if that matters to you. Some providers offer zero-retention modes for paid tiers.
Do you log my prompts?
We store your debates so you can come back to them. They're scoped to your account by Row-Level Security and only visible to you (or your workspace, if you ran the debate inside a workspace). If you make a debate public, the transcript becomes visible at a tokenized URL — see the privacy section below.
We do not train on your debates. We do not sell them. We do not look at them except when you file a support request or when admin tooling flags abuse for review.
What if I leak a key into a prompt by accident?
Treat it like any other leaked credential: rotate the key with the provider immediately. We don't scan your debates for secrets. If you find one in your own debate history and want it scrubbed, email info@tryversus.app and we'll delete the record.
Why don't you just sell credits?
A managed-key product has different economics, different trust questions, and different rate limits than what we're building. BYOK keeps the surface honest: we charge for app features (storage, scheduling, share bandwidth, encrypted key storage, Team workspaces). You pay providers for tokens.
Pricing
What does it cost?
We have three tiers — Free, Pro ($8/mo), and Team ($15/seat/mo). See the pricing page for the full breakdown.
Token costs are separate. You pay your providers directly for the actual API calls. Default Quick Start settings cap at $0.10 per debate, and the live cost tracker hard-stops the debate if you hit your budget mid-round.
What's in Free?
Enough to use the product seriously: BYOK with all supported providers, multi-agent debates (up to 3 agents, 3 rounds), Roles (up to 3 custom), Source-Cited mode, Report Card, favorites, tags, up to 25 stored debates, and exports.
What does Pro add?
Unlimited agents per debate, unlimited rounds, unlimited stored debates, unlimited custom roles, scheduled debates with notifications, and public share links (up to 5 active). The full list is on the pricing page.
What about teams?
Workspaces with member invites, scoped roles, shared debate libraries, and team billing live under the Team tier. They're aimed at small groups making decisions together. The launch narrative is built around individual use, but Team is fully shipped if you want it.
Refunds?
If something genuinely broke and you paid for it, write us at info@tryversus.app and we'll make it right. See the Terms for the formal version.
Privacy and share links
Are my debates private by default?
Yes. New debates are private to you (or to your workspace if you ran them inside one). Nobody else can see them.
What happens when I share a debate?
You pick one of three states:
- Private (default): no link, only you can see it.
- Unlisted: a tokenized URL anyone with the link can view, but it isn't indexed.
- Public: indexed in
/explore, included insitemap-shares.xml, and may surface in search engines.
Promoting from Unlisted to Public requires typed confirmation — we don't want you publishing something by accident.
What's stripped from a public share?
Owner identity, cost, model versions, and workspace ID are removed before render. Optionally, you can attach a "Run by [your first name]" footer to take credit; that's off by default. The question, the debate transcript, the agents' role labels, and the synthesis are what people see.
Can I take a share down?
Yes. Delete the share link from your dashboard at any time. The public page returns a takedown notice immediately.
If someone else's share link contains content that shouldn't be public — copyright, harassment, doxxing, illegal content — anyone can file an anonymous takedown report from the public page itself. Three valid reports auto-hide the share pending review.
What if my account is suspended?
All your public shares are auto-flagged as taken down. They stop being publicly viewable while the suspension is active.
What if I downgrade from Pro to Free with public shares live?
You get a 7-day grace period. After that, all your public shares auto-hide — public share links are a Pro feature and Free doesn't include them. None are deleted; they go back to private and you can re-promote them if you re-subscribe.
Do you train on my debates?
No.
Connecting Ollama
Does Versus work with local models?
Yes. We support Ollama natively, plus any OpenAI-compatible endpoint (vLLM, LM Studio, LiteLLM, your own gateway).
How do I connect Ollama?
- Make sure Ollama is running locally and a model is pulled (
ollama pull llama3.1, etc.). - By default Ollama listens at
http://localhost:11434. - Browser CORS: Ollama doesn't allow cross-origin requests by default. Set the
OLLAMA_ORIGINSenvironment variable to include the Versus origin before starting Ollama:- macOS (launchctl):
launchctl setenv OLLAMA_ORIGINS "https://tryversus.app,http://localhost:*"then restart Ollama. - Linux (systemd): add
Environment="OLLAMA_ORIGINS=https://tryversus.app,http://localhost:*"to the Ollama service unit,systemctl daemon-reload, thensystemctl restart ollama. - Windows: set
OLLAMA_ORIGINSas a user environment variable, then restart Ollama from the tray.
- macOS (launchctl):
- In Versus, go to Settings → API keys → Ollama, enter your endpoint URL, and pick the model from the list we fetch from
/api/tags.
Why do I need to set OLLAMA_ORIGINS?
Because the debate engine runs in your browser, requests to Ollama are cross-origin. Without OLLAMA_ORIGINS set, the browser blocks them and you'll see network errors with no useful message.
What about a remote Ollama or a tunneled endpoint?
Same idea — set OLLAMA_ORIGINS to include the Versus origin on whatever box is running Ollama, and put the public URL in the Ollama endpoint field in Settings. If you're tunneling with Tailscale, ngrok, Cloudflare Tunnel, etc., make sure the tunnel doesn't strip CORS headers.
Can I use local models with source-cited mode?
Not as a built-in. Local providers don't ship a hosted web-search tool, so they get the "No web access" badge. You can still mix providers — run two cloud agents in source-cited mode and one local agent without, for example.
Can I use a different local stack (vLLM, LM Studio, LiteLLM)?
Yes. Use the Custom OpenAI-compatible endpoint option instead. Drop in the base URL, the model name, and an API key (use any non-empty placeholder if your stack doesn't require one). If your stack speaks the OpenAI Chat Completions API, it works.
Still have a question?
Email info@tryversus.app or browse the Privacy Policy and Terms.