api.geoprimitives.dev
https://api.geoprimitives.dev/v1/h3/polyfillShares a payout wallet with 20 other endpoints — its adoption is attributed from that shared wallet's traffic, not earned exclusively.
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 else: a body carrying "points" is refused rather than served, and because "geojson" is required here that refusal happens before a price is quoted and costs you nothing. To index individual positions to their containing cell, POST /v1/h3/index instead, which is cheaper because it is a much smaller job. What you are paying for here, measured on this runtime: cell count grows about sevenfold per resolution step, so the cost has to be estimated before any cell is generated, which puts a floor of about 1.5 ms on even a city-block polyfill against about 0.003 ms for a one-point index call, and a polyfill at the 100000-cell cap is about 200 ms and 1.8 MB. Anything estimated above that cap is refused with the finest resolution that would have fitted, before a cell is generated; set "estimateOnly" to size a job for the price of the call and nothing else. Input is EPSG:4326, longitude then latitude, and non-areal geometry is refused by name. Limits: 500 polygons, 10000 polygon positions, 4 resolutions per call, 100000 cells per call, and a 1 MiB request body.
Reliability & health
Uptime and response time from our own unpaid probes, plus the reliability score built from them.
Uptime
0.0% avgResponse time
Data table
| Bucket | Uptime | Probes | Response time |
|---|---|---|---|
| 8/21/2026, 7:00:00 PM | 0% | 1 | — |
- Availability
- 0
- Latency
- not yet measured
- Security
- 100
- Transparency
- 36
- Activity
- 0
How often it was reachable when we probed it (weight 35%).
How quickly it answers when it is up — fast scores high (weight 20%).
Whether it serves over working TLS / https (weight 15%).
Whether the operator disclosed what it does — description, schema, identity (weight 15%).
Observed on-chain payments to this endpoint's wallet — transactions, volume, and distinct paying wallets over the last month (weight 15%; not yet measured when we have not seen its wallet settle).
Confidence 2% — how much probe evidence backs this score. A thin history is flagged, not hidden.
See the scoring methodology for exactly how each number is computed.
Payment
- Currencies
- USDC
- Networks
- base
- Facilitator
- unknown
- SDK
- unknown
Operator
- Company
- inferred — unknown
- Jurisdiction
- —
- Registrar
- CloudFlare, Inc.
- Domain registered
- 2026-08-20
- Hosting network
- CLOUDFLARENET
- Hosting country
- —
Operator context is derived from public RDAP/TLS records and unverified. Company and country are only available for endpoints that publish them (an OV/EV TLS certificate or a non-redacted domain record); most endpoints are CDN-fronted and disclose neither.
On-chain activity (base)
Payments per day
last payment 8/22/2026Data table
| Day | Payments | Volume (USD) | Paying wallets |
|---|---|---|---|
| 8/21/2026 | 33 | 0.23 | 1 |
| 8/22/2026 | 65 | 0.33 | 1 |
This payout wallet is shared: figures cover all 21 endpoints paid at it, since payments cannot be attributed to one of them. Only payments settled on chains and facilitators we index.
Linked by wallet — likely same operator
On-chain agent identity and the x402 endpoint that shares its settlement wallet.