resources/geoprimitives/POST /v1/h3/polyfill
POSTorigin reachablediscovery only

geoprimitives /v1/h3/polyfill APIPOST /v1/h3/polyfill · x402 API by geoprimitives

Polyfill: turn a polygon into the set of H3 cells that cover it, so a spatial question becomes a set-membership question you can answer with a join. Send "geojson" as a Polygon, a MultiPolygon, or a Feature or FeatureCollection wrapping them, in EPSG:4326, plus exactly one of "resolution" or "resolutions". Choose the containment rule with "containment": "center" returns cells whose centre is inside the polygon, which is H3's default and under-covers at the edges; "overlapping" returns every cell the polygon touches, so the set fully covers it; "full" returns only cells entirely inside. Holes are respected, a MultiPolygon is treated as one polygon with its parts unioned and deduplicated, and feature ids are echoed so rows join back to your records. This route covers polygons and nothing els

https://api.geoprimitives.dev/v1/h3/polyfill

What does this x402 API do?

geoprimitives /v1/h3/polyfill API. This is an x402-gated POST API resource from geoprimitives. TOLL·402 did not invoke this route automatically because doing so was not considered safe. No normalized USD price is recorded; the listing names Base. No settled paid call has been verified.

Published price
No normalized USD price is recorded
Networks
Base
Latest evidence
TOLL·402 did not invoke this route automatically because doing so was not considered safe
Resource ID
d607d301dd38858ee6730d57
USE THIS RESOURCE

Start with a quote-only recipe. Payment signing stays in your project.

CODE
AI CODING TOOLS
quote-check.ts
const response = await fetch("https://api.geoprimitives.dev/v1/h3/polyfill", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({
  "type": "http",
  "method": "POST",
  "bodyType": "json",
  "bodyFieldNames": [
    "geojson",
    "resolution"
  ],
  "pathParamNames": [],
  "queryParamNames": []
}),
});

console.log(response.status);
console.log(Object.fromEntries(response.headers));
console.log((await response.text()).slice(0, 1000));

// A valid 402 is a quote, not a completed paid call.

Review the provider input schema before running this non-read-only method. No payment code is included.

STATUS HISTORY

  1. Exact route checked

    not safely testable · potentially-mutating-method:POST

  2. Origin reachable

    HEAD https://api.geoprimitives.dev/ returned 200.

  3. Observed in cdp-bazaar

    The registry record was observed and retained with provenance.

What evidence supports this listing?

cdp-bazaarobserved 2026-08-25 · open source record ↗
origin checkHEAD https://api.geoprimitives.dev/ → 200 on 2026-08-25
route quotenot invoked automatically · potentially-mutating-method:POST · 2026-08-25

Each record has an exact-route quote outcome. Unresolved templates and potentially mutating methods are labeled instead of being invoked without provider-specific test input. A quote is still separate from a settled paid call. Read the discovery and verification methodology →

Which networks and payment options does it accept?

The normalized listing price is No normalized USD price is recorded. Raw protocol requirements remain visible below for implementation and audit use.

Baseexact10000 atomic · 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
geoprimitives POST /v1/h3/polyfill · d607d3 x402 API · TOLL·402