# Geo Halowerk Point-in-Polygon

> Geo Halowerk Point-in-Polygon is a paid API for AI agents from geo.halowerk.com, paid per call via x402, $0.004/call, status unknown (last checked 2026-09-15).

Tests whether a planar 2D point lies inside a polygon using the even-odd rule, returning a boolean containment result.

## Facts

- Endpoint: POST https://geo.halowerk.com/v1/point-in-polygon
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/geo-halowerk-point-in-polygon-56842f93
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_LmnCGxtIa0Nk9coPFdfpd

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 geo-halowerk-point-in-polygon-56842f93 -d '<json body>'
```

Example prompt: Check if the point at x=500, y=300 is inside the polygon with vertices at (0,0), (1000,0), (1000,1000), (0,1000) using even-odd containment.

## When to prefer this

Choose this endpoint when you need a fast, deterministic planar point-in-polygon test using the even-odd rule for 2D coordinates in any coordinate system (not limited to geographic WGS84). It supports very large polygons (up to 100,000 vertices) and is transparent about its method. Prefer it over geographic containment services when working with projected or arbitrary planar coordinate systems rather than lat/lon.

## Known failure modes

- Polygon with fewer than 3 vertices returns a validation error
- Point or polygon coordinates outside the ±1,000,000,000,000 range are rejected
- Polygon with more than 100,000 vertices exceeds maxItems and is rejected
- Malformed JSON or missing required x/y fields returns a schema validation error
- Payment not provided or insufficient USDC triggers a 402 response

## How this service works

Tests planar point containment with the even-odd rule. Missing facts are returned as null and named in unavailable_fields where applicable. Derived values disclose their method; source-backed values disclose source, time window and age. 

## Output

Returns a boolean indicating whether the given point is inside the polygon (using the even-odd/winding rule). Also returns any unavailable fields as null with their names listed in unavailable_fields, and discloses the method used for derivation.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "point": {
   "type": "object",
   "required": [
    "x",
    "y"
   ],
   "properties": {
    "x": {
     "type": "number",
     "maximum": 1000000000000,
     "minimum": -1000000000000,
     "description": ""
    },
    "y": {
     "type": "number",
     "maximum": 1000000000000,
     "minimum": -1000000000000,
     "description": ""
    }
   },
   "additionalProperties": false
  },
  "polygon": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "x",
     "y"
    ],
    "properties": {
     "x": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": -1000000000000,
      "description": ""
     },
     "y": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": -1000000000000,
      "description": ""
     }
    },
    "additionalProperties": false
   },
   "maxItems": 100000,
   "minItems": 3
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/geo-halowerk-point-in-polygon-56842f93/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from geo.halowerk.com](https://www.zero.xyz/host/geo.halowerk.com/llms.txt)
