mirrored listing x402 eip155:8453

IP geolocation for any public IPv4 or IPv6 address, plus the field that decides whether to

IP geolocation for any public IPv4 or IPv6 address, plus the field that decides whether to believe it. reliability is returned FIRST: datacentre, VPN, proxy and Tor detection, and when the upstream omits it the verdict is unknown, never clean. Also location, network (asn, org, isp, domain) and timezone. Requires ?ip=. Errors: 400 missing_ip|bad_ip|private_ip (private, loopback, link-local and reserved ranges are refused), 404 no_location, 504 ip_timeout.

Do you run x402.donnyautomation.com? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
10000 (raw units)
price
1
calls / 30d
1
unique payers
2026-08-30
updated

Provider

x402.donnyautomation.com · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0x2740651e046c59aB2A6510401140643292d3a96F",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "10000",
    "maxTimeoutSeconds": 300
  }
]

Output schema

{
  "bazaar": {
    "info": {
      "input": {
        "method": "GET",
        "queryParams": {
          "ip": "8.8.8.8"
        },
        "type": "http"
      },
      "output": {
        "example": {
          "ip": "8.8.8.8",
          "location": {
            "city": "San Jose",
            "country": "United States",
            "countryCode": "US",
            "latitude": 37.336,
            "longitude": -121.891,
            "region": "California"
          },
          "network": {
            "asn": 15169,
            "domain": "google.com",
            "isp": "Google LLC",
            "org": "Google LLC"
          },
          "reliability": {
            "likelyMasked": null,
            "signalsAvailable": false,
            "verdict": "VPN / proxy / hosting detection was NOT returned by the upstream for this address — this is unknown, not clean…"
          },
          "timezone": {
            "id": "America/Los_Angeles",
            "isDst": true,
            "utcOffset": "-07:00"
          },
          "ts": "2026-08-03T00:00:00.000Z",
          "version": "IPv4"
        },
        "type": "json"
      }
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "additionalProperties": false,
          "properties": {
            "method": {
              "enum": [
                "GET"
              ],
              "type": "string"
            },
            "queryParams": {
              "properties": {
                "ip": {
                  "description": "Public IPv4 or IPv6 address, e.g. 8.8.8.8. Private, loopback, link-local and reserved ranges are refused.",
                  "type": "string"
                }
              },
              "required": [
                "ip"
              ],
              "type": "object"
            },
            "type": {
              "const": "http",
              "type": "string"
            }
          },
          "required": [
            "type",
            "method"
          ],
          "type": "object"
        },
        "output": {
          "properties": {
            "example": {
              "type": "object"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}

Use it

curl

curl "https://x402.donnyautomation.com/ip"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://x402.donnyautomation.com/ip");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://x402.donnyautomation.com/ip")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/4942.json, and this resource appears in /discovery/resources and /discovery/search.