{"info":{"contact":{"email":"admin@ip402.xyz"},"description":"Paid IP geolocation and ASN lookup for agents. Send an IPv4/IPv6 address to GET /v1/geo and get normalized geolocation (country, city, location, time zone) and network (ASN, organization) data back. Pay per lookup via x402 (USDC on Base \u0026 Solana mainnet) or Tempo MPP (charge); no accounts, no API keys.","title":"ip402.xyz GeoIP API","version":"1","x-guidance":"Paid IP geolocation. GET /v1/geo?ip=\u003caddr\u003e; pay per lookup via x402 (USDC on Base/Solana) or Tempo MPP (charge). No accounts or API keys."},"openapi":"3.1.0","paths":{"/v1/geo":{"get":{"parameters":[{"example":"8.8.8.8","in":"query","name":"ip","required":true,"schema":{"example":"8.8.8.8","type":"string"}},{"example":"en","in":"query","name":"lang","required":false,"schema":{"default":"en","type":"string"}},{"description":"`x402` or `mpp`. `tempo` is not accepted as a payment_protocol value.","example":"mpp","in":"query","name":"payment_protocol","required":false,"schema":{"enum":["x402","mpp"],"type":"string"}},{"description":"`base`, `solana`, or `tempo`. x402 CAIP-2 network IDs are also accepted as compatibility aliases.","example":"base","in":"query","name":"payment_network","required":false,"schema":{"enum":["base","solana","tempo"],"type":"string"}}],"responses":{"200":{"description":"Geo result"},"400":{"description":"invalid_ip"},"402":{"content":{"application/json":{"examples":{"default":{"value":{"docs":"https://ip402.xyz/","error":"payment_required","message":"Payment required. Pay with any advertised protocol — each challenge is in its own response header.","payment_options":[{"amount":"$0.01","asset":"USDC","challenge_header":"Payment-Required","networks":["base","solana"],"protocol":"x402","retry_header":"X-PAYMENT"},{"amount":"$0.01","asset":"USDC","challenge_header":"WWW-Authenticate","networks":["tempo"],"protocol":"mpp","retry_header":"Authorization"}],"protocols":["x402","mpp"],"resource":"https://ip402.xyz/v1/geo"}}},"schema":{"additionalProperties":false,"properties":{"docs":{"type":"string"},"error":{"const":"payment_required","type":"string"},"message":{"type":"string"},"payment_options":{"items":{"additionalProperties":true,"properties":{"amount":{"type":"string"},"asset":{"type":"string"},"challenge_header":{"enum":["Payment-Required","WWW-Authenticate"],"type":"string"},"networks":{"items":{"enum":["base","solana","tempo"],"type":"string"},"type":"array"},"protocol":{"enum":["x402","mpp"],"type":"string"},"retry_header":{"enum":["X-PAYMENT","Authorization"],"type":"string"}},"required":["protocol","challenge_header","retry_header","networks","asset","amount"],"type":"object"},"type":"array"},"protocols":{"items":{"enum":["x402","mpp"],"type":"string"},"type":"array"},"resource":{"type":"string"}},"required":["error","message","resource","protocols","payment_options","docs"],"type":"object"}}},"description":"Payment Required. The response advertises x402 in `Payment-Required` and MPP in `WWW-Authenticate` when both are selected.","headers":{"Payment-Required":{"description":"x402 v2 challenge header. Present when x402 is advertised.","schema":{"type":"string"}},"WWW-Authenticate":{"description":"MPP `Payment` challenge header. Present when MPP is advertised.","schema":{"type":"string"}}}}},"security":[],"summary":"Paid single IP geolocation lookup","x-payment-info":{"offers":[{"amount":"10000","currency":"0x20C000000000000000000000b9537d11c60E8b50","description":"Paid IP geolocation + ASN lookup for a single IP address","intent":"charge","method":"tempo"}],"price":{"amount":"0.01","currency":"USD","mode":"fixed"},"protocols":[{"x402":{}},{"mpp":{"currency":"0x20C000000000000000000000b9537d11c60E8b50","intent":"charge","method":"tempo"}}],"selectors":{"conflicts":"ignore selectors and return the unselected challenge set","payment_network":["base","solana","tempo"],"payment_protocol":["x402","mpp"]}}}}},"servers":[{"url":"https://ip402.xyz"}],"x-service-info":{"categories":["data","networking"],"description":"Paid IP geolocation and ASN lookup for agents. One IP in, normalized geolocation + network data out. Payment is the access control — no accounts, no API keys.","docs":{"apiReference":"https://ip402.xyz/openapi.json","homepage":"https://ip402.xyz/","llms":"https://ip402.xyz/llms.txt"},"name":"ip402.xyz"}}
