# Verity Suite Compass — AI Decision Arbiter

> Verity Suite Compass — AI Decision Arbiter is a paid API for AI agents from verity-suite.onrender.com, paid per call via x402, $0.06/call, status unknown (last checked 2026-09-14).

Evaluates a set of candidate options against stated constraints and evidence to produce a calibrated, structured verdict recommending the best choice or explaining why no pick is possible.

## Facts

- Endpoint: POST https://verity-suite.onrender.com/compass
- Price: $0.06/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/verity-suite-compass-ai-decision-arbiter-8afb2764
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_fSeS33W3BsewprKDxAVZf

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability verity-suite-compass-ai-decision-arbiter-8afb2764 -d '<json body>'
```

Example prompt: I need to pick between three cloud hosting plans for my startup — options are 'AWS t3.medium at $30/mo', 'DigitalOcean Droplet 4GB at $24/mo', and 'Hetzner CX31 at $11/mo'. The goal is lowest cost that still handles 500 concurrent users; hard requirement is SLA uptime ≥ 99.9%, soft preference is a US data center. Which should I go with, and how confident are you?

## When to prefer this

Use this endpoint when an agent has already gathered candidate options and supporting evidence and needs a calibrated, structured decision with explicit reasoning and confidence — especially when the agent must justify its recommendation to a user or downstream system. Prefer over a raw LLM call when you need fail-closed behavior (gather_more_info / no_viable_option verdicts), explicit tradeoff narration, and a numerical confidence score rather than a free-form answer.

## Known failure modes

- Missing required fields 'options' or 'constraints' returns a validation error
- Empty options array results in no_viable_option verdict
- Contradictory or underspecified constraints may produce a gather_more_info verdict rather than a pick
- External or current facts not supplied in 'evidence' are not used, potentially producing gather_more_info
- Payment failure (x402) prevents the call from executing
- Service cold-start on Render may add latency on first call

## How this service works

The trust fabric for AI agents — calibrated, fail-closed services agents pay per call.

## Output

Returns a structured object with a verdict enum (recommend, tentative, gather_more_info, or no_viable_option), the chosen option copied verbatim from the input list (when applicable), a calibrated confidence probability (0–1), a list of concrete reasons grounded in the supplied constraints and evidence, and optionally a list of missing facts that would sharpen the verdict.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "options",
  "constraints"
 ],
 "properties": {
  "options": {
   "type": "array",
   "description": "the candidate choices to pick among; one option per item, stated verbatim as you want it returned"
  },
  "evidence": {
   "type": "string",
   "description": "facts known about the options (specs, prices, availability, data); for any current or external fact, only what is stated here may be used"
  },
  "constraints": {
   "type": "string",
   "description": "the goal plus hard requirements (must-meet gates), soft preferences (weigh, don't gate), and any priorities or tradeoffs between them"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "compass_out",
 "required": [
  "verdict",
  "confidence",
  "reasons"
 ],
 "properties": {
  "choice": {
   "anyOf": [
    {
     "type": "string"
    },
    {
     "type": "null"
    }
   ],
   "title": "Choice",
   "description": "the chosen option, copied verbatim from the options list; include ONLY when verdict is recommend or tentative; omit entirely for gather_more_info and no_viable_option"
  },
  "reasons": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "title": "Reasons",
   "description": "concrete reasons grounded in the actual constraints and evidence; for recommend/tentative must name the main tradeoff against the runner-up; for the safe verdicts must say what blocks a pick"
  },
  "verdict": {
   "enum": [
    "recommend",
    "tentative",
    "gather_more_info",
    "no_viable_option"
   ],
   "type": "string",
   "title": "Verdict",
   "description": "recommend=exactly one eligible option is clearly best on the stated constraints with a defensible margin; tentative=a leading option exists but the margin is thin, rests on an unestablished assumption, or two options are near-tied; gather_more_info=a fact needed to compare the options is missing, so no responsible pick is possible; no_viable_option=every option violates at least one hard constraint (or none can be confirmed to meet them from the evidence)"
  },
  "confidence": {
   "type": "number",
   "title": "Confidence",
   "maximum": 1,
   "minimum": 0,
   "description": "calibrated probability the stated verdict is correct: for recommend/tentative, the probability choice is truly the best of the given options under the stated constraints; for gather_more_info/no_viable_option, the probability that verdict itself is the right call"
  },
  "missing_info": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "title": "Missing Info",
   "description": "specific facts that, if supplied, would change or firm up the verdict; required (non-empty) when verdict is gather_more_info, optional otherwise"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/verity-suite-compass-ai-decision-arbiter-8afb2764/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from verity-suite.onrender.com](https://www.zero.xyz/host/verity-suite.onrender.com/llms.txt)
