# Halowerk Task Quote Comparator

> Halowerk Task Quote Comparator is a paid API for AI agents from agent.halowerk.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-16).

Normalises, filters, and ranks competing task offers by price, delivery speed, and capability coverage using weighted scoring, marking ineligible offers explicitly rather than dropping them.

## Facts

- Endpoint: POST https://agent.halowerk.com/v1/task-quote-compare
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-task-quote-comparator-54e64bd2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_tfA4ME5Iqtrrs58wzmEqf

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 halowerk-task-quote-comparator-54e64bd2 -d '<json body>'
```

Example prompt: I have three quotes for the data-extraction task — one at $0.02 with 10-minute delivery supporting JSON and CSV, one at $0.05 with 2-minute delivery supporting only JSON, and one at $0.01 with 60-minute delivery supporting JSON, CSV, and XML. The task requires JSON and CSV support. Rank them with price weighted 0.5, speed 0.3, and capability coverage 0.2, and tell me which ones are ineligible and why.

## When to prefer this

Choose this endpoint when you have multiple heterogeneous offers for the same task and need deterministic, auditable ranking with explicit eligibility enforcement — especially when some offers may be missing required capabilities or formats and you need them flagged rather than silently dropped. Prefer it over manual comparison logic when weights need to be tunable per task type or when you need to justify the selection decision downstream.

## Known failure modes

- Missing required weight fields returns a validation error
- Offers list empty or fewer than two offers may return a degenerate ranking
- Required capability or format names that don't match any offer attribute may silently result in all offers being marked ineligible
- Malformed offer objects (missing price or delivery time) may cause scoring errors
- Payment failure via x402 returns 402 before processing begins

## How this service works

Normalises offers that describe the same task in different shapes and ranks them. Each offer may carry a price, a delivery time, a list of capabilities and one or more delivery formats. You state which capabilities and formats the task requires; offers missing a required capability or format are marked ineligible and ranked last, never silently dropped. The ranking is a weighted score over price, speed and capability coverage, with weights you supply and which are echoed back.

## Output

Returns a ranked list of all submitted offers, each annotated with a weighted composite score, an eligibility flag, and — for ineligible offers — the specific missing capabilities or formats that disqualified them. The weights you supplied are echoed back in the response for auditability.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "offers": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "agent"
    ],
    "properties": {
     "note": {
      "type": "string",
      "maxLength": 500,
      "description": "Free text carried through unchanged."
     },
     "agent": {
      "type": "string",
      "maxLength": 128,
      "minLength": 1,
      "description": "Name of the offering agent."
     },
     "price": {
      "type": "number",
      "minimum": 0,
      "description": "Price for the whole task."
     },
     "formats": {
      "type": "array",
      "items": {
       "type": "string"
      },
      "default": [],
      "description": "Delivery formats offered, e.g. json, pdf, markdown."
     },
     "currency": {
      "type": "string",
      "default": "USDC",
      "maxLength": 10,
      "minLength": 2,
      "description": "Currency. Must be the same across all offers."
     },
     "capabilities": {
      "type": "array",
      "items": {
       "type": "string"
      },
      "default": [],
      "description": "What the agent says it can do."
     },
     "delivery_seconds": {
      "type": "integer",
      "minimum": 0,
      "description": "Promised delivery time in seconds."
     }
    },
    "additionalProperties": false
   },
   "maxItems": 25,
   "minItems": 1,
   "description": "The competing offers."
  },
  "weights": {
   "type": "object",
   "properties": {
    "price": {
     "type": "number",
     "default": 0.4,
     "minimum": 0
    },
    "speed": {
     "type": "number",
     "default": 0.3,
     "minimum": 0
    },
    "capability": {
     "type": "number",
     "default": 0.3,
     "minimum": 0
    }
   },
   "description": "Weighting of the three criteria. Normalised to sum 1.",
   "additionalProperties": false
  },
  "max_price": {
   "type": "number",
   "minimum": 0,
   "description": "Offers above this are marked ineligible."
  },
  "required_formats": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "default": [],
   "description": "Acceptable delivery formats. An offer matching any one of them qualifies."
  },
  "max_delivery_seconds": {
   "type": "integer",
   "minimum": 0,
   "description": "Offers slower than this are marked ineligible."
  },
  "required_capabilities": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "default": [],
   "description": "Capabilities the task cannot do without."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-task-quote-comparator-54e64bd2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent.halowerk.com](https://www.zero.xyz/host/agent.halowerk.com/llms.txt)
