# Vektorwerk Tool Router

> Vektorwerk Tool Router is a paid API for AI agents from vektor.halowerk.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-13).

Embeds a natural language request and a provided list of tools locally, then returns deterministic cosine similarity ranks and selects the best-matching tool.

## Facts

- Endpoint: POST https://vektor.halowerk.com/route
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/vektorwerk-tool-router-e08eaecf
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_8L0V6t-WIeO85JYgEwoSd

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 vektorwerk-tool-router-e08eaecf -d '<json body>'
```

Example prompt: I have these 5 tools — 'shipment_exception_summary', 'carrier_delay_report', 'inventory_reorder', 'customer_refund_lookup', and 'route_optimizer' — can you use Vektorwerk with the nomic model to find the top 2 that best match 'Find delayed shipments and summarize the exceptions'?

## When to prefer this

Choose this endpoint when you need fast, deterministic, locally-computed tool routing without relying on an LLM to decide which function to call. It is ideal for agent orchestration layers that maintain a fixed toolset and need to rank tools by semantic relevance to a user request. Prefer it over LLM-based routing when you want reproducible, low-latency selection with no stochastic variance, and when your toolset has up to 48 entries. If you need full-text embedding of arbitrary candidate strings (not tool objects), use the sibling semantic search endpoint instead.

## Known failure modes

- Empty or missing 'request' field returns a validation error
- Fewer than 1 or more than 48 tools in the list triggers a schema error
- Invalid model enum value (not 'nomic' or 'bge_m3') returns a bad request
- top_k greater than 10 or less than 1 is rejected
- Tool name or description exceeding character limits causes a 422 error
- Ollama runtime unavailability on the server side may cause a 503 or timeout

## How this service works

Embeds one request and a provided tool list locally, then returns deterministic similarity ranks and the selected tool.

## Output

Returns a ranked list of up to top_k tools from the submitted list, each with a cosine similarity score, ordered descending. Includes the name of the single best-matching (selected) tool. All computation is local — no external API calls are made for embedding.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "model": {
   "enum": [
    "nomic",
    "bge_m3"
   ],
   "type": "string",
   "default": "nomic"
  },
  "tools": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "name",
     "description"
    ],
    "properties": {
     "name": {
      "type": "string",
      "example": "shipment_exception_summary",
      "maxLength": 80,
      "minLength": 1
     },
     "description": {
      "type": "string",
      "example": "Summarizes delayed shipments and groups them by carrier.",
      "maxLength": 12000,
      "minLength": 1
     }
    },
    "additionalProperties": false
   },
   "maxItems": 48,
   "minItems": 1
  },
  "top_k": {
   "type": "integer",
   "default": 3,
   "maximum": 10,
   "minimum": 1
  },
  "request": {
   "type": "string",
   "example": "Find delayed shipments and summarize the exceptions.",
   "maxLength": 12000,
   "minLength": 1
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/vektorwerk-tool-router-e08eaecf/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from vektor.halowerk.com](https://www.zero.xyz/host/vektor.halowerk.com/llms.txt)
