81trust / 100

Route Matrix

by HALOWERK Agent Tools in Weather & location

x402 APIPassing, checked 3 h ago

Berechnet Entfernung und Fahrzeit zwischen bis zu 25 Punkten, wahlweise als volle Matrix oder als Start-Ziel-Kreuz. Nimmt Koordinaten oder Anschriften und geokodiert sie selbst. Nutzt freie Streckendaten auf Basis von OpenStreetMap fuer Auto, Rad und Fussweg und faellt bei Ausfall nachvollziehbar auf eine Luftlinienschaetzung mit Umwegfaktor zurueck.

POST https://tools.halowerk.com/v1/route/matrix

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
35 ms typical, 35 ms slowest 5%
Last check
3 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://tools.halowerk.com/v1/route/matrix" \
  -H "content-type: application/json" \
  -d '{"mode":"driving","points":["Gronau, Westfalen","Münster, Deutschland",{"label":"Lager Ost","lat":51.9607,"lon":7.6261}]}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Ftools.halowerk.com%2Fv1%2Froute%2Fmatrix
const res = await pay("https://tools.halowerk.com/v1/route/matrix", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"mode":"driving","points":["Gronau, Westfalen","Münster, Deutschland",{"label":"Lager Ost","lat":51.9607,"lon":7.6261}]}),
});
console.log(await res.json());

Example input

{
  "mode": "driving",
  "points": [
    "Gronau, Westfalen",
    "Münster, Deutschland",
    {
      "label": "Lager Ost",
      "lat": 51.9607,
      "lon": 7.6261
    }
  ]
}

Example output

{
  "attribution": "Streckendaten: OSRM auf Basis von OpenStreetMap, Mitwirkende ODbL",
  "cells": [
    {
      "distance_km": 71.43,
      "distance_m": 71430,
      "duration_min": 56.7,
      "duration_s": 3402,
      "from": "Gronau, Westfalen",
      "from_index": 0,
      "to": "Lager Ost",
      "to_index": 2
    }
  ],
  "destinations": [
    "Gronau, Westfalen",
    "Münster, Deutschland",
    "Lager Ost"
  ],
  "fallback_reason": null,
  "mode": "driving",
  "nearest_per_origin": {
    "Gronau, Westfalen": {
      "distance_km": 69.8,
      "duration_min": 55.1,
      "to": "Münster, Deutschland"
    }
  },
  "note": "Freie Streckendaten ohne Verkehrslage und ohne Zeitfenster.",
  "origins": [
    "Gronau, Westfalen",
    "Münster, Deutschland",
    "Lager Ost"
  ],
  "points": [
    {
      "label": "Gronau, Westfalen",
      "lat": 52.2117,
      "lon": 7.0403,
      "matched": "Gronau (Westf.), Nordrhein-Westfalen",
      "resolved_from": "geokodierung"
    },
    {
      "label": "Lager Ost",
      "lat": 51.9607,
      "lon": 7.6261,
      "resolved_from": "koordinaten"
    }
  ],
  "source": "osrm",
  "totals": {
    "cells": 9,
    "max_distance_km": 71.43,
    "max_duration_min": 56.7,
    "unreachable": 0
  }
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
3 h agoPassed40235 ms$0.004
8 h agoPassed402121 ms$0.004