ip.halowerk.com

https://ip.halowerk.com/ip/batch

Shares a payout wallet with 386 other endpoints — its adoption is attributed from that shared wallet's traffic, not earned exclusively.

Inspect up to 200 IP addresses at 0.0005 USDC per address.

59
reliability

Reliability & health

Uptime and response time from our own unpaid probes, plus the reliability score built from them.

Uptime

99.1% avg
0% 50% 100% Sat 2 PMTue 6 AMWed 11 PMFri 3 PM

Response time

p50 363ms · p95 559ms
0ms 400ms 800ms Sat 2 PMTue 6 AMWed 11 PMFri 3 PM
Data table
Reliability history per time bucket over the last 7 days (hourly).
Bucket Uptime Probes Response time
8/15/2026, 2:00:00 PM 0% 1
8/16/2026, 2:00:00 PM 100% 1 385ms
8/16/2026, 3:00:00 PM 100% 1 556ms
8/16/2026, 5:00:00 PM 100% 1 351ms
8/16/2026, 6:00:00 PM 100% 1 563ms
8/16/2026, 7:00:00 PM 100% 1 348ms
8/16/2026, 8:00:00 PM 100% 1 373ms
8/16/2026, 9:00:00 PM 100% 1 353ms
8/16/2026, 10:00:00 PM 100% 1 585ms
8/17/2026, 12:00:00 AM 100% 1 595ms
8/17/2026, 1:00:00 AM 100% 1 364ms
8/17/2026, 2:00:00 AM 100% 1 354ms
8/17/2026, 3:00:00 AM 100% 1 800ms
8/17/2026, 4:00:00 AM 100% 1 359ms
8/17/2026, 5:00:00 AM 100% 1 499ms
8/17/2026, 7:00:00 AM 100% 1 359ms
8/17/2026, 8:00:00 AM 100% 1 465ms
8/17/2026, 9:00:00 AM 100% 1 365ms
8/17/2026, 10:00:00 AM 100% 1 445ms
8/17/2026, 11:00:00 AM 100% 1 431ms
8/17/2026, 12:00:00 PM 100% 1 534ms
8/17/2026, 2:00:00 PM 100% 1 365ms
8/17/2026, 3:00:00 PM 100% 1 363ms
8/17/2026, 4:00:00 PM 100% 1 358ms
8/17/2026, 5:00:00 PM 100% 1 372ms
8/17/2026, 6:00:00 PM 100% 1 365ms
8/17/2026, 7:00:00 PM 100% 1 374ms
8/17/2026, 8:00:00 PM 100% 1 360ms
8/17/2026, 10:00:00 PM 100% 1 355ms
8/17/2026, 11:00:00 PM 100% 1 362ms
8/18/2026, 12:00:00 AM 100% 1 386ms
8/18/2026, 1:00:00 AM 100% 1 361ms
8/18/2026, 2:00:00 AM 100% 1 387ms
8/18/2026, 3:00:00 AM 100% 1 385ms
8/18/2026, 5:00:00 AM 100% 1 369ms
8/18/2026, 6:00:00 AM 100% 1 350ms
8/18/2026, 7:00:00 AM 100% 1 418ms
8/18/2026, 8:00:00 AM 100% 1 361ms
8/18/2026, 9:00:00 AM 100% 1 359ms
8/18/2026, 10:00:00 AM 100% 1 363ms
8/18/2026, 12:00:00 PM 100% 1 362ms
8/18/2026, 1:00:00 PM 100% 1 375ms
8/18/2026, 2:00:00 PM 100% 1 361ms
8/18/2026, 3:00:00 PM 100% 1 357ms
8/18/2026, 4:00:00 PM 100% 1 362ms
8/18/2026, 5:00:00 PM 100% 1 364ms
8/18/2026, 7:00:00 PM 100% 1 363ms
8/18/2026, 8:00:00 PM 100% 1 357ms
8/18/2026, 9:00:00 PM 100% 1 355ms
8/18/2026, 10:00:00 PM 100% 1 357ms
8/18/2026, 11:00:00 PM 100% 1 359ms
8/19/2026, 12:00:00 AM 100% 1 362ms
8/19/2026, 2:00:00 AM 100% 1 353ms
8/19/2026, 3:00:00 AM 100% 1 368ms
8/19/2026, 4:00:00 AM 100% 1 361ms
8/19/2026, 5:00:00 AM 100% 1 357ms
8/19/2026, 6:00:00 AM 100% 1 367ms
8/19/2026, 7:00:00 AM 100% 1 373ms
8/19/2026, 9:00:00 AM 100% 1 363ms
8/19/2026, 10:00:00 AM 100% 1 350ms
8/19/2026, 11:00:00 AM 100% 1 360ms
8/19/2026, 12:00:00 PM 100% 1 364ms
8/19/2026, 1:00:00 PM 100% 1 377ms
8/19/2026, 2:00:00 PM 100% 1 349ms
8/19/2026, 4:00:00 PM 100% 1 368ms
8/19/2026, 5:00:00 PM 100% 1 368ms
8/19/2026, 6:00:00 PM 100% 1 367ms
8/19/2026, 7:00:00 PM 100% 1 366ms
8/19/2026, 8:00:00 PM 100% 1 369ms
8/19/2026, 9:00:00 PM 100% 1 356ms
8/19/2026, 11:00:00 PM 100% 1 365ms
8/20/2026, 12:00:00 AM 100% 1 358ms
8/20/2026, 1:00:00 AM 100% 1 362ms
8/20/2026, 2:00:00 AM 100% 1 361ms
8/20/2026, 3:00:00 AM 100% 1 364ms
8/20/2026, 4:00:00 AM 100% 1 350ms
8/20/2026, 5:00:00 AM 100% 1 357ms
8/20/2026, 7:00:00 AM 100% 1 366ms
8/20/2026, 8:00:00 AM 100% 1 365ms
8/20/2026, 9:00:00 AM 100% 1 361ms
8/20/2026, 10:00:00 AM 100% 1 361ms
8/20/2026, 11:00:00 AM 100% 1 355ms
8/20/2026, 12:00:00 PM 100% 1 360ms
8/20/2026, 2:00:00 PM 100% 1 388ms
8/20/2026, 3:00:00 PM 100% 1 340ms
8/20/2026, 4:00:00 PM 100% 1 355ms
8/20/2026, 6:00:00 PM 100% 1 355ms
8/20/2026, 7:00:00 PM 100% 1 356ms
8/20/2026, 8:00:00 PM 100% 1 394ms
8/20/2026, 9:00:00 PM 100% 1 362ms
8/20/2026, 10:00:00 PM 100% 1 361ms
8/20/2026, 11:00:00 PM 100% 1 401ms
8/21/2026, 12:00:00 AM 100% 1 700ms
8/21/2026, 1:00:00 AM 100% 1 371ms
8/21/2026, 2:00:00 AM 100% 1 359ms
8/21/2026, 4:00:00 AM 100% 1 560ms
8/21/2026, 5:00:00 AM 100% 1 360ms
8/21/2026, 6:00:00 AM 100% 1 410ms
8/21/2026, 7:00:00 AM 100% 1 351ms
8/21/2026, 8:00:00 AM 100% 1 518ms
8/21/2026, 9:00:00 AM 100% 1 363ms
8/21/2026, 11:00:00 AM 100% 1 412ms
8/21/2026, 12:00:00 PM 100% 1 397ms
8/21/2026, 1:00:00 PM 100% 1 118ms
8/21/2026, 2:00:00 PM 100% 1 122ms
8/21/2026, 3:00:00 PM 100% 1 119ms
59
Composite reliability — the weighted average of the dimensions below, on a 0–100 scale.
Availability
89

How often it was reachable when we probed it (weight 35%).

Latency
98

How quickly it answers when it is up — fast scores high (weight 20%).

Security
100

Whether it serves over working TLS / https (weight 15%).

Transparency
67

Whether the operator disclosed what it does — description, schema, identity (weight 15%).

Activity
0

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 100% — 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
self-hosted
SDK
unknown

Operator

Company
inferred — unknown
Jurisdiction
Registrar
RegistryGate GmbH
Domain registered
2026-08-06
Hosting network
CLOUD-NBG1
Hosting country
DE

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)

758
payments (30d)
4.59
USD volume (30d)
14
paying wallets (30d)

Payments per day

last payment 8/21/2026
0 150 300 Jul 30Aug 10Aug 16Aug 21
Data table
Settled payments per day.
Day Payments Volume (USD) Paying wallets
7/30/2026 1 0.02 1
8/3/2026 2 0.04 1
8/6/2026 4 0.01 2
8/7/2026 87 0.37 1
8/9/2026 126 0.49 1
8/10/2026 22 0.13 2
8/11/2026 237 1.21 2
8/12/2026 20 0.07 2
8/13/2026 94 0.4 2
8/14/2026 26 0.08 3
8/15/2026 2 1.3 1
8/16/2026 62 0.27 1
8/17/2026 9 0.03 2
8/18/2026 20 0.05 3
8/19/2026 18 0.05 2
8/20/2026 14 0.06 2
8/21/2026 14 0.04 1

This payout wallet is shared: figures cover all 387 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.

https://ident.halowerk.com/v1/dao-snapshot x402 endpoint https://research.halowerk.com/v1/patent-search x402 endpoint https://sicher.halowerk.com/v1/hash-reputation x402 endpoint https://kette.halowerk.com/token/liquidity-ownership x402 endpoint https://research.halowerk.com/v1/source-authority x402 endpoint https://x402.halowerk.com/route/optimize x402 endpoint https://karte.halowerk.com/v1/emission-zone x402 endpoint https://modell.halowerk.com/v1/drift-check x402 endpoint https://fetch.halowerk.com/contacts x402 endpoint https://x402.halowerk.com/guard/replay x402 endpoint https://natur.halowerk.com/v1/aviation-brief x402 endpoint https://nostr.halowerk.com/lnurl-invoice x402 endpoint https://tools.halowerk.com/v1/url/risk x402 endpoint https://agent.halowerk.com/v1/twin-diff x402 endpoint https://x402.halowerk.com/offer/parse x402 endpoint https://agent.halowerk.com/v1/a2a-card-validate x402 endpoint https://natur.halowerk.com/v1/leak-indicator x402 endpoint https://karte.halowerk.com/v1/parking-rules x402 endpoint https://natur.halowerk.com/v1/solar-storm x402 endpoint https://fetch.halowerk.com/metadata x402 endpoint https://energy.halowerk.com/events/grid x402 endpoint https://modell.halowerk.com/v1/tool-compat x402 endpoint https://energy.halowerk.com/price/forecast x402 endpoint https://markt.halowerk.com/bridge x402 endpoint https://fetch.netzhandwerker.de/contacts x402 endpoint https://handel.halowerk.com/v1/vat-resolve x402 endpoint https://natur.halowerk.com/v1/quake-sequence x402 endpoint https://tools.halowerk.com/v1/secret/scan x402 endpoint https://kette.halowerk.com/wallet/activity x402 endpoint https://vektor.halowerk.com/embed x402 endpoint https://markt.halowerk.com/orderbook/imbalance x402 endpoint https://fetch.halowerk.com/diff x402 endpoint https://energy.halowerk.com/optimizer/cheapest-window x402 endpoint https://nostr.halowerk.com/event-sign x402 endpoint https://karte.halowerk.com/v1/emergency-coverage x402 endpoint https://agent.halowerk.com/v1/wakeup x402 endpoint https://karte.halowerk.com/v1/ev-charging x402 endpoint https://tools.netzhandwerker.de/v1/phone/parse x402 endpoint https://kette.halowerk.com/token/honeypot x402 endpoint https://stat.halowerk.com/v1/trade-exposure x402 endpoint https://nostr.halowerk.com/zap-radar x402 endpoint https://karte.halowerk.com/v1/last-mile-access x402 endpoint https://natur.halowerk.com/v1/synonym-graph x402 endpoint https://vektor.halowerk.com/similarity x402 endpoint https://kette.halowerk.com/bridge/track x402 endpoint https://agent.halowerk.com/v1/state-store x402 endpoint https://natur.halowerk.com/v1/irrigation-need x402 endpoint https://shot.netzhandwerker.de/screenshot x402 endpoint https://ident.halowerk.com/v1/name-resolve x402 endpoint https://nostr.halowerk.com/rss-to-nostr x402 endpoint
Response schema
{
  "description": "Batch result with one record per submitted address and the payment receipt.",
  "properties": {
    "cache": {
      "description": "hit or mixed_or_miss.",
      "type": "string"
    },
    "invalid": {
      "description": "Number of unparseable addresses.",
      "type": "integer"
    },
    "payment": {
      "description": "Settlement receipt for the paid call.",
      "properties": {
        "amount_usdc": {
          "type": "number"
        },
        "channel": {
          "type": "string"
        },
        "endpoint": {
          "type": "string"
        },
        "facilitator": {
          "type": [
            "string",
            "null"
          ]
        },
        "payer_address": {
          "type": [
            "string",
            "null"
          ]
        },
        "tx_hash": {
          "type": [
            "string",
            "null"
          ]
        },
        "verified": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "requested": {
      "description": "Number of submitted addresses.",
      "type": "integer"
    },
    "results": {
      "items": {
        "description": "Intelligence record for one IP address. Unknown or unavailable source data is returned as null and explained in unavailable_fields. The risk score is a heuristic signal, not proof.",
        "properties": {
          "as_operator": {
            "description": "Autonomous system operator.",
            "type": [
              "string",
              "null"
            ]
          },
          "asn": {
            "description": "Autonomous system number.",
            "type": [
              "integer",
              "null"
            ]
          },
          "blocklists": {
            "description": "Open DNS blocklist results.",
            "properties": {
              "available_count": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "checks": {
                "items": {
                  "type": "object"
                },
                "type": "array"
              },
              "listed": {
                "description": "Null when every list was unavailable.",
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "listed_on": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            },
            "type": "object"
          },
          "cache": {
            "description": "hit or miss.",
            "type": [
              "string",
              "null"
            ]
          },
          "cached_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "checked_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "description": "ISO 3166-1 alpha-2 country code.",
            "type": [
              "string",
              "null"
            ]
          },
          "error": {
            "description": "Set to ip_invalid when the address could not be parsed.",
            "type": [
              "string",
              "null"
            ]
          },
          "ip": {
            "description": "The inspected address as submitted.",
            "type": "string"
          },
          "known_vpn_or_proxy_range": {
            "description": "Listed in the cached anonymous proxy range set.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "network_evidence": {
            "description": "Why the network type was assigned.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "network_provider": {
            "description": "Hosting or access provider when identified.",
            "type": [
              "string",
              "null"
            ]
          },
          "network_type": {
            "description": "datacenter, access or unknown.",
            "type": [
              "string",
              "null"
            ]
          },
          "region": {
            "description": "Region or state.",
            "type": [
              "string",
              "null"
            ]
          },
          "reserved": {
            "description": "True for private, loopback or otherwise reserved ranges.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "reserved_type": {
            "description": "Kind of reserved range when reserved is true.",
            "type": [
              "string",
              "null"
            ]
          },
          "reverse_dns": {
            "description": "First PTR record.",
            "type": [
              "string",
              "null"
            ]
          },
          "reverse_dns_status": {
            "description": "found, not_found or unavailable.",
            "type": [
              "string",
              "null"
            ]
          },
          "risk_factors": {
            "description": "Codes and points that produced the score.",
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "risk_label": {
            "description": "low, moderate, elevated or high.",
            "type": [
              "string",
              "null"
            ]
          },
          "risk_score": {
            "description": "Heuristic abuse and access risk signal.",
            "maximum": 100,
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "score_meaning": {
            "type": [
              "string",
              "null"
            ]
          },
          "source_status": {
            "description": "Freshness and availability per dataset.",
            "type": "object"
          },
          "tor_exit": {
            "description": "Listed in the cached Tor exit list. Null when the source is unavailable.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "unavailable_fields": {
            "description": "Fields left empty and why.",
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "valid": {
            "description": "False when the input was not a usable IP address.",
            "type": "boolean"
          },
          "version": {
            "description": "IP version, 4 or 6.",
            "type": [
              "integer",
              "null"
            ]
          },
          "vpn_or_proxy_sources": {
            "description": "Sources that carry the address.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "valid": {
      "description": "Number of parseable addresses.",
      "type": "integer"
    }
  },
  "type": "object"
}