{"id":"mppscan-86ee3af9941502353292beae","name":"ip402.xyz","homepage_url":"https://ip402.xyz","service_url":"https://ip402.xyz/","origin":"https://ip402.xyz","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. Optional bundle: pay n x $0.01 once (?bundle=<n>, 2<=n<=100) and spend n lookups within 1 hour via SIWX (CAIP-122) signatures.","status":"observed-mpp","implementation":"custom","implementation_confidence":0.35,"fingerprint_observed_at":"2026-10-01T12:22:18.053Z","published":1,"catalog_ingest_at":null,"openapi_ingest_at":"2026-10-09T12:22:22.501Z","catalog_seen_at":null,"openapi_seen_at":"2026-10-09T12:22:22.501Z","first_seen":"2026-08-25T18:43:12.674Z","last_seen":"2026-10-09T18:17:43.417Z","last_probe_at":"2026-10-09T12:22:22.501Z","created_at":"2026-08-25 18:44:25","updated_at":"2026-10-09 18:24:32","categories":[],"tags":[],"fingerprintEvidence":["valid 402 Payment challenge observed without implementation-specific marker"],"paymentMethods":[],"paymentMethodCount":0,"endpoints":[{"id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6","service_id":"mppscan-86ee3af9941502353292beae","url":"https://ip402.xyz/v1/geo","http_method":"GET","path":"/v1/geo","kind":"paid-api","description":"Paid single IP geolocation lookup","first_seen":"2026-08-25T18:47:00.795Z","last_seen":"2026-10-09T12:22:22.501Z","last_probe_at":"2026-10-01T12:22:18.053Z","last_status":402,"content_type":"application/json","tls_state":"tested-pass","redirect_count":0,"challenge_format":"mpp-payment-auth","published":1,"catalog_seen_at":null,"openapi_seen_at":"2026-10-09T12:22:22.501Z","created_at":"2026-08-25 18:49:56","updated_at":"2026-10-09T12:26:56.808Z","offers":[{"id":"93444e19ce579107310c01a4157ed9a45eca5e9c8bdcf1cf3321604f853993fe","method":"tempo","intent":"charge","currency":"0x20C000000000000000000000b9537d11c60E8b50","chainId":"4217","recipient":"0x15A6a5B190de7C3bf33abe7a81e0C0eE77dDf581","amount":"10000","decimals":null,"unitType":null,"session":{"description":"ip402 single GeoIP lookup"},"sourceType":"challenge","sourceRef":"https://ip402.xyz/v1/geo","sourceOrdinal":0,"firstSeen":"2026-08-25T18:52:55.493Z","lastSeen":"2026-10-01T12:22:18.053Z"},{"id":"6b6474b64ceb3075b99508eb02c2a383431293f3d2b6917f04fcf901c51d706d","method":"tempo","intent":"charge","currency":"0x20C000000000000000000000b9537d11c60E8b50","chainId":null,"recipient":null,"amount":"10000","decimals":null,"unitType":null,"session":null,"sourceType":"openapi","sourceRef":"https://ip402.xyz/openapi.json","sourceOrdinal":0,"firstSeen":"2026-08-25T18:47:00.795Z","lastSeen":"2026-10-09T12:22:22.501Z"}],"activeSources":[{"type":"challenge","ref":"https://ip402.xyz/v1/geo","firstSeen":"2026-08-25T18:52:55.493Z","lastSeen":"2026-10-01T12:22:18.053Z"},{"type":"openapi","ref":"https://ip402.xyz/openapi.json","firstSeen":"2026-08-25T18:47:00.795Z","lastSeen":"2026-10-09T12:22:22.501Z"}],"offerPagination":{"limit":12,"total":2,"truncated":false},"activeSourcePagination":{"limit":32,"total":2,"truncated":false}}],"endpointPagination":{"limit":25,"total":1,"nextCursor":null},"sources":[{"source_kind":"mppscan","source_url":"https://mppscan.com/","first_seen":"2026-08-25T18:43:12.674Z","last_seen":"2026-10-09T18:17:43.417Z","evidence":{"discoveredUrl":"https://ip402.xyz/"}},{"source_kind":"openapi","source_url":"https://ip402.xyz/openapi.json","first_seen":"2026-08-25T18:47:00.795Z","last_seen":"2026-10-09T12:22:22.501Z","evidence":{"runtimeFetched":true,"finalUrl":"https://ip402.xyz/openapi.json","serviceInfo":{"name":"ip402.xyz","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. Optional bundle: pay n x $0.01 once (?bundle=<n>, 2<=n<=100) and spend n lookups within 1 hour via SIWX (CAIP-122) signatures.","version":"1"}}}],"sourcePagination":{"limit":100,"total":2,"truncated":false},"security":[{"property_key":"authorization_delivery_settlement","state":"not-tested","evidence":"Requires paid or state-changing behavior outside scanner scope","basis":"Tempo Aug 24 research class","advisory_ref":"https://github.com/wevm/mppx/pull/510#discussion_r3377899233","observed_at":"2026-10-09T12:22:22.501Z","endpoint_id":null},{"property_key":"bounded_response","state":"tested-pass","evidence":"5654 bytes within scanner limit","basis":"harmless scanner","advisory_ref":null,"observed_at":"2026-10-09T12:22:22.501Z","endpoint_id":null},{"property_key":"challenge_parse","state":"unknown","evidence":"No MPP Payment challenge observed","basis":"unauthenticated HTTP response","advisory_ref":null,"observed_at":"2026-10-09T12:22:22.501Z","endpoint_id":null},{"property_key":"channel_lifecycle_binding","state":"not-tested","evidence":"Channel and settlement lifecycle require credentials or payments","basis":"public economic-security prior art","advisory_ref":null,"observed_at":"2026-10-09T12:22:22.501Z","endpoint_id":null},{"property_key":"concurrency_single_winner","state":"not-tested","evidence":"Concurrency and paid state changes are prohibited","basis":"public economic-security prior art","advisory_ref":null,"observed_at":"2026-10-09T12:22:22.501Z","endpoint_id":null},{"property_key":"credential_replay","state":"not-tested","evidence":"Scanner never sends credentials or payments","basis":"methodology","advisory_ref":"https://github.com/advisories/GHSA-fxc9-7j2w-vx54","observed_at":"2026-10-09T12:22:22.501Z","endpoint_id":null},{"property_key":"economic_exposure_metadata","state":"unknown","evidence":"No current Payment challenge exposes session or authorization inputs","basis":"observable challenge values only","advisory_ref":null,"observed_at":"2026-10-09T12:22:22.501Z","endpoint_id":null},{"property_key":"fee_payer_cosigner_binding","state":"not-tested","evidence":"Signature and fee-payer relationships are not observable unauthenticated","basis":"public economic-security prior art","advisory_ref":null,"observed_at":"2026-10-09T12:22:22.501Z","endpoint_id":null},{"property_key":"https_transport","state":"tested-pass","evidence":"HTTPS fetch completed with platform certificate validation","basis":"platform TLS validation","advisory_ref":null,"observed_at":"2026-10-09T12:22:22.501Z","endpoint_id":null},{"property_key":"method_fallback_policy","state":"not-tested","evidence":"Scanner does not select, downgrade, or execute payment methods","basis":"public economic-security prior art","advisory_ref":null,"observed_at":"2026-10-09T12:22:22.501Z","endpoint_id":null},{"property_key":"openapi_parse","state":"tested-pass","evidence":"1 payment offer(s) accepted","basis":"harmless discovery response","advisory_ref":null,"observed_at":"2026-10-09T12:22:22.501Z","endpoint_id":null},{"property_key":"price_debit_consistency","state":"not-tested","evidence":"Requires a completed paid interaction outside scanner scope","basis":"public economic-security prior art","advisory_ref":null,"observed_at":"2026-10-09T12:22:22.501Z","endpoint_id":null},{"property_key":"redirect_policy","state":"tested-pass","evidence":"0 redirects; every hop passed URL and DNS validation","basis":"harmless scanner","advisory_ref":null,"observed_at":"2026-10-09T12:22:22.501Z","endpoint_id":null},{"property_key":"replay_idempotency_scope","state":"not-tested","evidence":"Scanner never replays signed credentials","basis":"public advisory and protocol prior art","advisory_ref":"https://github.com/advisories/GHSA-fxc9-7j2w-vx54","observed_at":"2026-10-09T12:22:22.501Z","endpoint_id":null},{"property_key":"ssrf_target_validation","state":"tested-pass","evidence":"1 hop(s) resolved twice to stable public addresses","basis":"scanner URL, DNS and redirect policy","advisory_ref":null,"observed_at":"2026-10-09T12:22:22.501Z","endpoint_id":null},{"property_key":"api_catalog_parse","state":"observed","evidence":"RFC 9727 well-known path returned 200 text/html; charset=utf-8; no API catalog was established","basis":"RFC 9727 discovery response","advisory_ref":null,"observed_at":"2026-10-02T12:24:07.591Z","endpoint_id":null},{"property_key":"authorization_delivery_settlement","state":"not-tested","evidence":"Requires paid or state-changing behavior outside scanner scope","basis":"Tempo Aug 24 research class","advisory_ref":"https://github.com/wevm/mppx/pull/510#discussion_r3377899233","observed_at":"2026-10-01T12:24:12.003Z","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b"},{"property_key":"bounded_response","state":"tested-pass","evidence":"2931 bytes within scanner limit","basis":"harmless scanner","advisory_ref":null,"observed_at":"2026-10-01T12:24:12.003Z","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b"},{"property_key":"challenge_parse","state":"unknown","evidence":"No MPP Payment challenge observed","basis":"unauthenticated HTTP response","advisory_ref":null,"observed_at":"2026-10-01T12:24:12.003Z","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b"},{"property_key":"channel_lifecycle_binding","state":"not-tested","evidence":"Channel and settlement lifecycle require credentials or payments","basis":"public economic-security prior art","advisory_ref":null,"observed_at":"2026-10-01T12:24:12.003Z","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b"},{"property_key":"concurrency_single_winner","state":"not-tested","evidence":"Concurrency and paid state changes are prohibited","basis":"public economic-security prior art","advisory_ref":null,"observed_at":"2026-10-01T12:24:12.003Z","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b"},{"property_key":"credential_replay","state":"not-tested","evidence":"Scanner never sends credentials or payments","basis":"methodology","advisory_ref":"https://github.com/advisories/GHSA-fxc9-7j2w-vx54","observed_at":"2026-10-01T12:24:12.003Z","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b"},{"property_key":"economic_exposure_metadata","state":"unknown","evidence":"No current Payment challenge exposes session or authorization inputs","basis":"observable challenge values only","advisory_ref":null,"observed_at":"2026-10-01T12:24:12.003Z","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b"},{"property_key":"fee_payer_cosigner_binding","state":"not-tested","evidence":"Signature and fee-payer relationships are not observable unauthenticated","basis":"public economic-security prior art","advisory_ref":null,"observed_at":"2026-10-01T12:24:12.003Z","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b"},{"property_key":"https_transport","state":"tested-pass","evidence":"HTTPS fetch completed with platform certificate validation","basis":"platform TLS validation","advisory_ref":null,"observed_at":"2026-10-01T12:24:12.003Z","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b"},{"property_key":"method_fallback_policy","state":"not-tested","evidence":"Scanner does not select, downgrade, or execute payment methods","basis":"public economic-security prior art","advisory_ref":null,"observed_at":"2026-10-01T12:24:12.003Z","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b"},{"property_key":"price_debit_consistency","state":"not-tested","evidence":"Requires a completed paid interaction outside scanner scope","basis":"public economic-security prior art","advisory_ref":null,"observed_at":"2026-10-01T12:24:12.003Z","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b"},{"property_key":"redirect_policy","state":"tested-pass","evidence":"0 redirects; every hop passed URL and DNS validation","basis":"harmless scanner","advisory_ref":null,"observed_at":"2026-10-01T12:24:12.003Z","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b"},{"property_key":"replay_idempotency_scope","state":"not-tested","evidence":"Scanner never replays signed credentials","basis":"public advisory and protocol prior art","advisory_ref":"https://github.com/advisories/GHSA-fxc9-7j2w-vx54","observed_at":"2026-10-01T12:24:12.003Z","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b"},{"property_key":"ssrf_target_validation","state":"tested-pass","evidence":"1 hop(s) resolved twice to stable public addresses","basis":"scanner URL, DNS and redirect policy","advisory_ref":null,"observed_at":"2026-10-01T12:24:12.003Z","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b"},{"property_key":"authorization_delivery_settlement","state":"not-tested","evidence":"Requires paid or state-changing behavior outside scanner scope","basis":"Tempo Aug 24 research class","advisory_ref":"https://github.com/wevm/mppx/pull/510#discussion_r3377899233","observed_at":"2026-10-01T12:22:18.053Z","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6"},{"property_key":"bounded_response","state":"tested-pass","evidence":"1700 bytes within scanner limit","basis":"harmless scanner","advisory_ref":null,"observed_at":"2026-10-01T12:22:18.053Z","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6"},{"property_key":"challenge_parse","state":"tested-pass","evidence":"1 Payment challenge(s) observed on HTTP 402; all required fields decoded and validated","basis":"unauthenticated HTTP response","advisory_ref":null,"observed_at":"2026-10-01T12:22:18.053Z","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6"},{"property_key":"channel_lifecycle_binding","state":"not-tested","evidence":"Channel and settlement lifecycle require credentials or payments","basis":"public economic-security prior art","advisory_ref":null,"observed_at":"2026-10-01T12:22:18.053Z","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6"},{"property_key":"concurrency_single_winner","state":"not-tested","evidence":"Concurrency and paid state changes are prohibited","basis":"public economic-security prior art","advisory_ref":null,"observed_at":"2026-10-01T12:22:18.053Z","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6"},{"property_key":"credential_replay","state":"not-tested","evidence":"Scanner never sends credentials or payments","basis":"methodology","advisory_ref":"https://github.com/advisories/GHSA-fxc9-7j2w-vx54","observed_at":"2026-10-01T12:22:18.053Z","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6"},{"property_key":"economic_exposure_metadata","state":"unknown","evidence":"[{\"method\":\"tempo\",\"intent\":\"charge\",\"deposit\":null,\"authorizationWindow\":null,\"depositWindowRatio\":null,\"observableAuthorizationExposure\":null,\"note\":\"unknown: session authorization inputs not observable\"}]","basis":"observable challenge values only","advisory_ref":null,"observed_at":"2026-10-01T12:22:18.053Z","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6"},{"property_key":"fee_payer_cosigner_binding","state":"not-tested","evidence":"Signature and fee-payer relationships are not observable unauthenticated","basis":"public economic-security prior art","advisory_ref":null,"observed_at":"2026-10-01T12:22:18.053Z","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6"},{"property_key":"https_transport","state":"tested-pass","evidence":"HTTPS fetch completed with platform certificate validation","basis":"platform TLS validation","advisory_ref":null,"observed_at":"2026-10-01T12:22:18.053Z","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6"},{"property_key":"method_fallback_policy","state":"not-tested","evidence":"Scanner does not select, downgrade, or execute payment methods","basis":"public economic-security prior art","advisory_ref":null,"observed_at":"2026-10-01T12:22:18.053Z","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6"},{"property_key":"price_debit_consistency","state":"not-tested","evidence":"Requires a completed paid interaction outside scanner scope","basis":"public economic-security prior art","advisory_ref":null,"observed_at":"2026-10-01T12:22:18.053Z","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6"},{"property_key":"redirect_policy","state":"tested-pass","evidence":"0 redirects; every hop passed URL and DNS validation","basis":"harmless scanner","advisory_ref":null,"observed_at":"2026-10-01T12:22:18.053Z","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6"},{"property_key":"replay_idempotency_scope","state":"not-tested","evidence":"Scanner never replays signed credentials","basis":"public advisory and protocol prior art","advisory_ref":"https://github.com/advisories/GHSA-fxc9-7j2w-vx54","observed_at":"2026-10-01T12:22:18.053Z","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6"},{"property_key":"ssrf_target_validation","state":"tested-pass","evidence":"1 hop(s) resolved twice to stable public addresses","basis":"scanner URL, DNS and redirect policy","advisory_ref":null,"observed_at":"2026-10-01T12:22:18.053Z","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6"}],"securityPagination":{"limit":250,"total":44,"truncated":false},"observations":[{"id":"acb35292b2c2dd7d9779294d6e67ae8df59913348691b05aef15b6f5d69288a3","endpoint_id":null,"observed_at":"2026-10-09T12:22:22.501Z","request_method":"GET","requested_url":"https://ip402.xyz/openapi.json","final_url":"https://ip402.xyz/openapi.json","status":200,"redirect_count":0,"response_bytes":5654,"body_sha256":"ddcf038901e0eaa4058a5a8f8412c04c600dc15d4f784d7f69962c074f3ae692","error_code":null,"error_detail":null,"headers":{"cache-control":"[redacted]","cf-cache-status":"[redacted]","cf-ray":"[redacted]","connection":"[redacted]","content-type":"application/json","date":"[redacted]","server":"cloudflare","transfer-encoding":"[redacted]","x-request-id":"[redacted]"},"dns":[{"hostname":"ip402.xyz","addresses":["129.153.211.112","130.162.153.88","161.118.131.119","161.153.55.208"],"stable":true}],"tls":{"state":"tested-pass","httpProtocol":null,"note":"HTTPS fetch completed with platform certificate validation"}},{"id":"9c375d50260f151bf6630591d1f03ccf19e73d70ac086f40fb41fba5239dedb9","endpoint_id":null,"observed_at":"2026-10-02T12:24:07.591Z","request_method":"GET","requested_url":"https://ip402.xyz/.well-known/api-catalog","final_url":"https://ip402.xyz/.well-known/api-catalog","status":200,"redirect_count":0,"response_bytes":2931,"body_sha256":"51d895c34cead6dc39fde2ba4b2ad6695858a306ddf219f93a8b656ecdb0807f","error_code":null,"error_detail":null,"headers":{"accept-ranges":"[redacted]","cf-cache-status":"[redacted]","cf-ray":"[redacted]","connection":"[redacted]","content-length":"[redacted]","content-type":"text/html; charset=utf-8","date":"[redacted]","last-modified":"[redacted]","server":"cloudflare","x-request-id":"[redacted]"},"dns":[{"hostname":"ip402.xyz","addresses":["129.153.211.112","130.162.153.88","161.118.131.119","161.153.55.208"],"stable":true}],"tls":{"state":"tested-pass","httpProtocol":null,"note":"HTTPS fetch completed with platform certificate validation"}},{"id":"79a7ac6523c7d757995c917b0e35de02d84597dde5bdeb3020422f4776c10c75","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b","observed_at":"2026-10-01T12:24:12.003Z","request_method":"GET","requested_url":"https://ip402.xyz/","final_url":"https://ip402.xyz/","status":200,"redirect_count":0,"response_bytes":2931,"body_sha256":"51d895c34cead6dc39fde2ba4b2ad6695858a306ddf219f93a8b656ecdb0807f","error_code":null,"error_detail":null,"headers":{"accept-ranges":"[redacted]","cf-cache-status":"[redacted]","cf-ray":"[redacted]","connection":"[redacted]","content-length":"[redacted]","content-type":"text/html; charset=utf-8","date":"[redacted]","last-modified":"[redacted]","server":"cloudflare","x-request-id":"[redacted]"},"dns":[{"hostname":"ip402.xyz","addresses":["129.153.211.112","130.162.153.88","161.118.131.119","161.153.55.208"],"stable":true}],"tls":{"state":"tested-pass","httpProtocol":null,"note":"HTTPS fetch completed with platform certificate validation"}},{"id":"432b28f924bb032ca0b1022ced206577d3889367897c26f1f115811546f0e371","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6","observed_at":"2026-10-01T12:22:18.053Z","request_method":"GET","requested_url":"https://ip402.xyz/v1/geo","final_url":"https://ip402.xyz/v1/geo","status":402,"redirect_count":0,"response_bytes":1700,"body_sha256":"91bd0cd1653ef50028d4c60e061591a18f8495a13e286a09afa84cec6b226420","error_code":null,"error_detail":null,"headers":{"cf-cache-status":"[redacted]","cf-ray":"[redacted]","connection":"[redacted]","content-length":"[redacted]","content-type":"application/json","date":"[redacted]","payment-required":"[redacted]","server":"cloudflare","siwx-challenge":"[redacted]","www-authenticate":"Payment [parsed-and-redacted]","x-request-id":"[redacted]"},"dns":[{"hostname":"ip402.xyz","addresses":["129.153.211.112","130.162.153.88","161.118.131.119","161.153.55.208"],"stable":true}],"tls":{"state":"tested-pass","httpProtocol":null,"note":"HTTPS fetch completed with platform certificate validation"}},{"id":"bc5630b603c21eeb95bac01d8fd295b37f6f2d560a97ca7a4e5a7b54f6972698","endpoint_id":null,"observed_at":"2026-09-30T18:19:42.265Z","request_method":"GET","requested_url":"https://ip402.xyz/openapi.json","final_url":"https://ip402.xyz/openapi.json","status":200,"redirect_count":0,"response_bytes":5654,"body_sha256":"ddcf038901e0eaa4058a5a8f8412c04c600dc15d4f784d7f69962c074f3ae692","error_code":null,"error_detail":null,"headers":{"cache-control":"[redacted]","cf-cache-status":"[redacted]","cf-ray":"[redacted]","connection":"[redacted]","content-type":"application/json","date":"[redacted]","server":"cloudflare","transfer-encoding":"[redacted]","x-request-id":"[redacted]"},"dns":[{"hostname":"ip402.xyz","addresses":["129.153.211.112","130.162.153.88","161.118.131.119","161.153.55.208"],"stable":true}],"tls":{"state":"tested-pass","httpProtocol":null,"note":"HTTPS fetch completed with platform certificate validation"}},{"id":"a70d4912debca9499d2d1d8f5e2545646900611a82e874be86fe368a31179011","endpoint_id":null,"observed_at":"2026-09-23T06:21:06.678Z","request_method":"GET","requested_url":"https://ip402.xyz/.well-known/api-catalog","final_url":"https://ip402.xyz/.well-known/api-catalog","status":200,"redirect_count":0,"response_bytes":2931,"body_sha256":"51d895c34cead6dc39fde2ba4b2ad6695858a306ddf219f93a8b656ecdb0807f","error_code":null,"error_detail":null,"headers":{"accept-ranges":"[redacted]","cf-cache-status":"[redacted]","cf-ray":"[redacted]","connection":"[redacted]","content-length":"[redacted]","content-type":"text/html; charset=utf-8","date":"[redacted]","last-modified":"[redacted]","server":"cloudflare","x-request-id":"[redacted]"},"dns":[{"hostname":"ip402.xyz","addresses":["129.153.211.112","130.162.153.88","161.118.131.119","161.153.55.208"],"stable":true}],"tls":{"state":"tested-pass","httpProtocol":null,"note":"HTTPS fetch completed with platform certificate validation"}},{"id":"fa6525895f0f36f2f0e088bc21bd62f3c87e521adcfc0e1f54c4d39214e5a2a7","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b","observed_at":"2026-09-22T12:19:53.066Z","request_method":"GET","requested_url":"https://ip402.xyz/","final_url":"https://ip402.xyz/","status":200,"redirect_count":0,"response_bytes":2931,"body_sha256":"51d895c34cead6dc39fde2ba4b2ad6695858a306ddf219f93a8b656ecdb0807f","error_code":null,"error_detail":null,"headers":{"accept-ranges":"[redacted]","cf-cache-status":"[redacted]","cf-ray":"[redacted]","connection":"[redacted]","content-length":"[redacted]","content-type":"text/html; charset=utf-8","date":"[redacted]","last-modified":"[redacted]","server":"cloudflare","x-request-id":"[redacted]"},"dns":[{"hostname":"ip402.xyz","addresses":["129.153.211.112","130.162.153.88","161.118.131.119","161.153.55.208"],"stable":true}],"tls":{"state":"tested-pass","httpProtocol":null,"note":"HTTPS fetch completed with platform certificate validation"}},{"id":"fd05e703a914483068a58067b58dbfdc0f6227f9a7e127afa2cc6017b68cda04","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6","observed_at":"2026-09-22T06:22:16.992Z","request_method":"GET","requested_url":"https://ip402.xyz/v1/geo","final_url":"https://ip402.xyz/v1/geo","status":402,"redirect_count":0,"response_bytes":1700,"body_sha256":"91bd0cd1653ef50028d4c60e061591a18f8495a13e286a09afa84cec6b226420","error_code":null,"error_detail":null,"headers":{"cf-cache-status":"[redacted]","cf-ray":"[redacted]","connection":"[redacted]","content-length":"[redacted]","content-type":"application/json","date":"[redacted]","payment-required":"[redacted]","server":"cloudflare","siwx-challenge":"[redacted]","www-authenticate":"Payment [parsed-and-redacted]","x-request-id":"[redacted]"},"dns":[{"hostname":"ip402.xyz","addresses":["129.153.211.112","130.162.153.88","161.118.131.119","161.153.55.208"],"stable":true}],"tls":{"state":"tested-pass","httpProtocol":null,"note":"HTTPS fetch completed with platform certificate validation"}},{"id":"1604183b6371949b7f0dbaba5c76d0fe16c98a1336e9fdb713196f0c2e5605c9","endpoint_id":null,"observed_at":"2026-09-21T18:20:00.687Z","request_method":"GET","requested_url":"https://ip402.xyz/openapi.json","final_url":"https://ip402.xyz/openapi.json","status":200,"redirect_count":0,"response_bytes":5654,"body_sha256":"ddcf038901e0eaa4058a5a8f8412c04c600dc15d4f784d7f69962c074f3ae692","error_code":null,"error_detail":null,"headers":{"cache-control":"[redacted]","cf-cache-status":"[redacted]","cf-ray":"[redacted]","connection":"[redacted]","content-type":"application/json","date":"[redacted]","server":"cloudflare","transfer-encoding":"[redacted]","x-request-id":"[redacted]"},"dns":[{"hostname":"ip402.xyz","addresses":["129.153.211.112","130.162.153.88","161.118.131.119","161.153.55.208"],"stable":true}],"tls":{"state":"tested-pass","httpProtocol":null,"note":"HTTPS fetch completed with platform certificate validation"}},{"id":"4c218b992d6e2c69074daac4d55a325d44ca51325c6a11b6b742f6e56f291512","endpoint_id":null,"observed_at":"2026-09-14T06:21:30.981Z","request_method":"GET","requested_url":"https://ip402.xyz/.well-known/api-catalog","final_url":"https://ip402.xyz/.well-known/api-catalog","status":200,"redirect_count":0,"response_bytes":2931,"body_sha256":"e763c5051a757e082761695d2c39f2baa98d4575f656cb57ad093296cda74286","error_code":null,"error_detail":null,"headers":{"accept-ranges":"[redacted]","cf-cache-status":"[redacted]","cf-ray":"[redacted]","connection":"[redacted]","content-length":"[redacted]","content-type":"text/html; charset=utf-8","date":"[redacted]","last-modified":"[redacted]","server":"cloudflare","x-request-id":"[redacted]"},"dns":[{"hostname":"ip402.xyz","addresses":["129.153.211.112","130.162.153.88","161.118.131.119","161.153.55.208"],"stable":true}],"tls":{"state":"tested-pass","httpProtocol":null,"note":"HTTPS fetch completed with platform certificate validation"}},{"id":"eec26ad72cb389688e6c8386f555a68e1e6d5d0a61983d4cee890d1b680cfc65","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b","observed_at":"2026-09-13T12:17:44.336Z","request_method":"GET","requested_url":"https://ip402.xyz/","final_url":"https://ip402.xyz/","status":200,"redirect_count":0,"response_bytes":2931,"body_sha256":"4ccf25b60768c3f82e9f7aef498ee7f373cfd009be2a5814656a4a58419773dd","error_code":null,"error_detail":null,"headers":{"accept-ranges":"[redacted]","cf-cache-status":"[redacted]","cf-ray":"[redacted]","connection":"[redacted]","content-length":"[redacted]","content-type":"text/html; charset=utf-8","date":"[redacted]","last-modified":"[redacted]","server":"cloudflare","x-request-id":"[redacted]"},"dns":[{"hostname":"ip402.xyz","addresses":["129.153.211.112","130.162.153.88","161.118.131.119","161.153.55.208"],"stable":true}],"tls":{"state":"tested-pass","httpProtocol":null,"note":"HTTPS fetch completed with platform certificate validation"}},{"id":"1ce3ba877ec23c381ea87d7b66ad6c34b17e61a6dfe8f55964ac094949ffd632","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6","observed_at":"2026-09-13T06:21:24.909Z","request_method":"GET","requested_url":"https://ip402.xyz/v1/geo","final_url":"https://ip402.xyz/v1/geo","status":402,"redirect_count":0,"response_bytes":1339,"body_sha256":"06385104d0ff059fa5396fcfa904a3197325f0f8b92953fcfb7f2e4afda57887","error_code":null,"error_detail":null,"headers":{"cf-cache-status":"[redacted]","cf-ray":"[redacted]","connection":"[redacted]","content-length":"[redacted]","content-type":"application/json","date":"[redacted]","payment-required":"[redacted]","server":"cloudflare","siwx-challenge":"[redacted]","www-authenticate":"Payment [parsed-and-redacted]","x-request-id":"[redacted]"},"dns":[{"hostname":"ip402.xyz","addresses":["129.153.211.112","130.162.153.88","161.118.131.119","161.153.55.208"],"stable":true}],"tls":{"state":"tested-pass","httpProtocol":null,"note":"HTTPS fetch completed with platform certificate validation"}},{"id":"65a56ff3f583495a8f619fa268075ce9ed48e15e94c44322405091f15744ed96","endpoint_id":null,"observed_at":"2026-09-12T18:18:44.214Z","request_method":"GET","requested_url":"https://ip402.xyz/openapi.json","final_url":"https://ip402.xyz/openapi.json","status":200,"redirect_count":0,"response_bytes":5623,"body_sha256":"732c9c5efc5552cfa0f37a80efd438355aec768373db5d8b3f939994c9302cd2","error_code":null,"error_detail":null,"headers":{"cache-control":"[redacted]","cf-cache-status":"[redacted]","cf-ray":"[redacted]","connection":"[redacted]","content-type":"application/json","date":"[redacted]","server":"cloudflare","transfer-encoding":"[redacted]","x-request-id":"[redacted]"},"dns":[{"hostname":"ip402.xyz","addresses":["129.153.211.112","130.162.153.88","161.118.131.119","161.153.55.208"],"stable":true}],"tls":{"state":"tested-pass","httpProtocol":null,"note":"HTTPS fetch completed with platform certificate validation"}}],"observationPagination":{"limit":50,"total":13,"truncated":false},"changes":[{"id":"9a07f11fc8ade346a1f9b98ef4ba81c0","endpoint_id":null,"changed_at":"2026-10-09T12:22:22.501Z","change_type":"security-property-changed","field_name":"security:bounded_response","old_value":"{\"state\":\"tested-pass\",\"evidence\":\"2931 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","new_value":"{\"state\":\"tested-pass\",\"evidence\":\"5654 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","evidence":"Repeated harmless observation changed the modeled property"},{"id":"78d4582bb3d613c856352f3b42300742","endpoint_id":null,"changed_at":"2026-10-02T12:24:07.591Z","change_type":"security-property-changed","field_name":"security:bounded_response","old_value":"{\"state\":\"tested-pass\",\"evidence\":\"5654 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","new_value":"{\"state\":\"tested-pass\",\"evidence\":\"2931 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","evidence":"Repeated harmless observation changed the modeled property"},{"id":"3ad81c793dcbf296f24cdfd4955f5bbd","endpoint_id":null,"changed_at":"2026-09-30T18:19:42.265Z","change_type":"security-property-changed","field_name":"security:bounded_response","old_value":"{\"state\":\"tested-pass\",\"evidence\":\"2931 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","new_value":"{\"state\":\"tested-pass\",\"evidence\":\"5654 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","evidence":"Repeated harmless observation changed the modeled property"},{"id":"90321b0609ea8b1db70c1ac3b0648ab7","endpoint_id":null,"changed_at":"2026-09-23T06:21:06.678Z","change_type":"security-property-changed","field_name":"security:bounded_response","old_value":"{\"state\":\"tested-pass\",\"evidence\":\"5654 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","new_value":"{\"state\":\"tested-pass\",\"evidence\":\"2931 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","evidence":"Repeated harmless observation changed the modeled property"},{"id":"104901bc143bff4037613969761dce40","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6","changed_at":"2026-09-22T06:22:16.992Z","change_type":"security-property-changed","field_name":"security:bounded_response","old_value":"{\"state\":\"tested-pass\",\"evidence\":\"1339 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","new_value":"{\"state\":\"tested-pass\",\"evidence\":\"1700 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","evidence":"Repeated harmless observation changed the modeled property"},{"id":"708a7b13361400a8f84cc87f4c81c49a","endpoint_id":null,"changed_at":"2026-09-21T18:20:00.687Z","change_type":"security-property-changed","field_name":"security:bounded_response","old_value":"{\"state\":\"tested-pass\",\"evidence\":\"2931 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","new_value":"{\"state\":\"tested-pass\",\"evidence\":\"5654 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","evidence":"Repeated harmless observation changed the modeled property"},{"id":"ae3f5337d28de27dd0a5d68d7dd296ec","endpoint_id":null,"changed_at":"2026-09-14T06:21:30.981Z","change_type":"security-property-changed","field_name":"security:bounded_response","old_value":"{\"state\":\"tested-pass\",\"evidence\":\"5623 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","new_value":"{\"state\":\"tested-pass\",\"evidence\":\"2931 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","evidence":"Repeated harmless observation changed the modeled property"},{"id":"3e1f86aae476ad1ff7872a03e630976d","endpoint_id":null,"changed_at":"2026-09-12T18:18:44.214Z","change_type":"security-property-changed","field_name":"security:bounded_response","old_value":"{\"state\":\"tested-pass\",\"evidence\":\"2931 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","new_value":"{\"state\":\"tested-pass\",\"evidence\":\"5623 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","evidence":"Repeated harmless observation changed the modeled property"},{"id":"91a7f3d04eb7c3247888ae3eaa100aea","endpoint_id":null,"changed_at":"2026-09-05T06:20:22.219Z","change_type":"security-property-changed","field_name":"security:bounded_response","old_value":"{\"state\":\"tested-pass\",\"evidence\":\"5623 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","new_value":"{\"state\":\"tested-pass\",\"evidence\":\"2931 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","evidence":"Repeated harmless observation changed the modeled property"},{"id":"b0085d50025b80d4218ed6a012c2a83c","endpoint_id":null,"changed_at":"2026-09-05T06:20:22.219Z","change_type":"security-property-changed","field_name":"security:api_catalog_parse","old_value":"{\"state\":\"tested-fail\",\"evidence\":\"API catalog response was not valid JSON\",\"basis\":\"RFC 9727 discovery response\"}","new_value":"{\"state\":\"observed\",\"evidence\":\"RFC 9727 well-known path returned 200 text/html; charset=utf-8; no API catalog was established\",\"basis\":\"RFC 9727 discovery response\"}","evidence":"Repeated harmless observation changed the modeled property"},{"id":"7424370917e23d5258504404022fc16c","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6","changed_at":"2026-09-04T06:22:18.490Z","change_type":"security-property-changed","field_name":"security:challenge_parse","old_value":"{\"state\":\"tested-pass\",\"evidence\":\"1 Payment challenge(s) observed on HTTP 402\",\"basis\":\"unauthenticated HTTP response\"}","new_value":"{\"state\":\"tested-pass\",\"evidence\":\"1 Payment challenge(s) observed on HTTP 402; all required fields decoded and validated\",\"basis\":\"unauthenticated HTTP response\"}","evidence":"Repeated harmless observation changed the modeled property"},{"id":"6b2ed3221c55acce2fc11559401d5861","endpoint_id":null,"changed_at":"2026-09-03T18:19:50.015Z","change_type":"security-property-changed","field_name":"security:bounded_response","old_value":"{\"state\":\"tested-pass\",\"evidence\":\"2931 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","new_value":"{\"state\":\"tested-pass\",\"evidence\":\"5623 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","evidence":"Repeated harmless observation changed the modeled property"},{"id":"d6e16c8885241edfdf775b2a24921159","endpoint_id":null,"changed_at":"2026-08-28T06:21:06.369Z","change_type":"security-property-changed","field_name":"security:bounded_response","old_value":"{\"state\":\"tested-pass\",\"evidence\":\"5623 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","new_value":"{\"state\":\"tested-pass\",\"evidence\":\"2931 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","evidence":"Repeated harmless observation changed the modeled property"},{"id":"cfdebab001757eb89176951b4eb98f1e","endpoint_id":null,"changed_at":"2026-08-27T00:19:16.260Z","change_type":"security-property-changed","field_name":"security:bounded_response","old_value":"{\"state\":\"tested-pass\",\"evidence\":\"2931 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","new_value":"{\"state\":\"tested-pass\",\"evidence\":\"5623 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","evidence":"Repeated harmless observation changed the modeled property"},{"id":"22b56fecbe46d9d4f28bd85cbfbb4a57","endpoint_id":null,"changed_at":"2026-08-25T19:04:41.454Z","change_type":"security-property-changed","field_name":"security:bounded_response","old_value":"{\"state\":\"tested-pass\",\"evidence\":\"5623 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","new_value":"{\"state\":\"tested-pass\",\"evidence\":\"2931 bytes within scanner limit\",\"basis\":\"harmless scanner\"}","evidence":"Repeated harmless observation changed the modeled property"},{"id":"39dfd68ddfce57fc9093cc21dc01db0f","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b","changed_at":"2026-08-25T18:56:20.448Z","change_type":"probe-observation","field_name":"tls_state","old_value":"not-tested","new_value":"tested-pass","evidence":"harmless unauthenticated HTTP observation"},{"id":"d65bd39ff3af1272b4f050a16640c6f6","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b","changed_at":"2026-08-25T18:56:20.448Z","change_type":"endpoint-discovered","field_name":"endpoint","old_value":null,"new_value":"created","evidence":"normalized discovery source"},{"id":"e3c85a73531fc9189e69e37900649831","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b","changed_at":"2026-08-25T18:56:20.448Z","change_type":"probe-observation","field_name":"last_status","old_value":null,"new_value":"200","evidence":"harmless unauthenticated HTTP observation"},{"id":"e6bd6a287abdcf2cac3c20ff5d3f450f","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b","changed_at":"2026-08-25T18:56:20.448Z","change_type":"probe-observation","field_name":"content_type","old_value":null,"new_value":"text/html; charset=utf-8","evidence":"harmless unauthenticated HTTP observation"},{"id":"eea825faaf7e06674269ac1ef569111f","endpoint_id":"53963c7c1cd9a339ae3667ccbd8edab3500b8e3975b4437525365e991c76a01b","changed_at":"2026-08-25T18:56:20.448Z","change_type":"probe-observation","field_name":"redirect_count","old_value":null,"new_value":"0","evidence":"harmless unauthenticated HTTP observation"},{"id":"4bda59cd41e6c5e04377f3238e1aa8ef","endpoint_id":null,"changed_at":"2026-08-25T18:52:57.097Z","change_type":"service-updated","field_name":"status","old_value":"candidate","new_value":"observed-mpp","evidence":"clock-guarded source update"},{"id":"0378de5776bf1ca4d7d74fd5afd3ecad","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6","changed_at":"2026-08-25T18:52:55.493Z","change_type":"endpoint-source-discovered","field_name":"source:challenge","old_value":null,"new_value":"active","evidence":"https://ip402.xyz/v1/geo"},{"id":"1f6da90e3dd7780d7902e929e844e381","endpoint_id":null,"changed_at":"2026-08-25T18:52:55.493Z","change_type":"fingerprint-changed","field_name":"implementation","old_value":"unknown:0.0","new_value":"custom:0.35","evidence":"[\"valid 402 Payment challenge observed without implementation-specific marker\"]"},{"id":"91fe6f11999033b711304b3641c3c4d4","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6","changed_at":"2026-08-25T18:52:55.493Z","change_type":"probe-observation","field_name":"redirect_count","old_value":null,"new_value":"0","evidence":"harmless unauthenticated HTTP observation"},{"id":"95330ea6806b268ffdbd3d5930ac2c06","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6","changed_at":"2026-08-25T18:52:55.493Z","change_type":"probe-observation","field_name":"tls_state","old_value":"not-tested","new_value":"tested-pass","evidence":"harmless unauthenticated HTTP observation"},{"id":"a879855cd5a5c5e6e8a482678001620b","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6","changed_at":"2026-08-25T18:52:55.493Z","change_type":"probe-observation","field_name":"challenge_format","old_value":null,"new_value":"mpp-payment-auth","evidence":"harmless unauthenticated HTTP observation"},{"id":"bf60cdd4ef42b67b7ddbfe3d6e8dad94","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6","changed_at":"2026-08-25T18:52:55.493Z","change_type":"probe-observation","field_name":"last_status","old_value":null,"new_value":"402","evidence":"harmless unauthenticated HTTP observation"},{"id":"e35aa8733a93e18f1364a3a013daa9d1","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6","changed_at":"2026-08-25T18:52:55.493Z","change_type":"payment-offer-discovered","field_name":"offer","old_value":null,"new_value":"{\"method\":\"tempo\",\"intent\":\"charge\",\"currency\":\"0x20C000000000000000000000b9537d11c60E8b50\",\"chainId\":\"4217\",\"recipient\":\"0x15A6a5B190de7C3bf33abe7a81e0C0eE77dDf581\",\"amount\":\"10000\",\"decimals\":null,\"unitType\":null,\"session\":{\"description\":\"ip402 single GeoIP lookup\"},\"sourceType\":\"challenge\",\"sourceRef\":\"https://ip402.xyz/v1/geo\",\"sourceOrdinal\":0}","evidence":"challenge payment metadata"},{"id":"ebf1150131f928515dfbf369dd7ff372","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6","changed_at":"2026-08-25T18:52:55.493Z","change_type":"probe-observation","field_name":"content_type","old_value":null,"new_value":"application/json","evidence":"harmless unauthenticated HTTP observation"},{"id":"1c79d5fc5e324efe647cf63cd4f40295","endpoint_id":null,"changed_at":"2026-08-25T18:47:00.795Z","change_type":"service-updated","field_name":"description","old_value":"Public discovery candidate; runtime MPP not yet established","new_value":"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. Optional bundle: pay n x $0.01 once (?bundle=<n>, 2<=n<=100) and spend n lookups within 1 hour via SIWX (CAIP-122) signatures.","evidence":"clock-guarded source update"},{"id":"5c6dbf1e1f406fdf9dedf8c02e506c5a","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6","changed_at":"2026-08-25T18:47:00.795Z","change_type":"endpoint-source-discovered","field_name":"source:openapi","old_value":null,"new_value":"active","evidence":"https://ip402.xyz/openapi.json"},{"id":"ac391ba03f09e35050dadc254d0a8e39","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6","changed_at":"2026-08-25T18:47:00.795Z","change_type":"payment-offer-discovered","field_name":"offer","old_value":null,"new_value":"{\"method\":\"tempo\",\"intent\":\"charge\",\"currency\":\"0x20C000000000000000000000b9537d11c60E8b50\",\"chainId\":null,\"recipient\":null,\"amount\":\"10000\",\"decimals\":null,\"unitType\":null,\"session\":null,\"sourceType\":\"openapi\",\"sourceRef\":\"https://ip402.xyz/openapi.json\",\"sourceOrdinal\":0}","evidence":"openapi payment metadata"},{"id":"df93904b6eaca01850e90e08a33d6077","endpoint_id":"941fcd58cc66dd3e7287d34fe6e7f406877d051a8babc7b083dbe877ca6fd0e6","changed_at":"2026-08-25T18:47:00.795Z","change_type":"endpoint-discovered","field_name":"endpoint","old_value":null,"new_value":"created","evidence":"completed normalized source snapshot"},{"id":"36a2e8aa2ccb47042289f13519bb9663","endpoint_id":null,"changed_at":"2026-08-25T18:43:12.674Z","change_type":"service-discovered","field_name":"service","old_value":null,"new_value":"created","evidence":"normalized discovery source"}],"changePagination":{"limit":50,"total":34,"truncated":false}}