{"openapi":"3.1.0","info":{"title":"Network Intel","version":"1.0.0","description":"Who runs an IP or ASN, is a route valid, abuse contacts, routing visibility, CIDR math. One call, one computed answer, no accounts or API keys. Machine-payable over x402.","x-guidance":"Network Intel: Who runs an IP or ASN, is a route valid, abuse contacts, routing visibility, CIDR math. Network Intel answers questions about internet addresses and networks: who runs an IP address and what it announces (/ip-profile), the profile of an AS number (/asn-profile), whether a route origin is RPKI valid (/rpki-check), whether an IP is announced by the AS you expect (/route-origin-check), a prefix's routing visibility and history (/prefix-routing), who to send abuse reports to (/abuse-contact), approximate IP geolocation (/ip-geo), IP classification (/ip-parse) and CIDR math (/cidr-calc). Each paid GET returns a computed verdict with the reasons, the source and what was NOT checked. A verdict of UNVERIFIED means a lookup failed: treat it as unknown. No account or key: pay per call in USDC over x402."},"servers":[{"url":"https://network-intel.x402tookit.com"}],"paths":{"/abuse-contact":{"get":{"operationId":"abuse_contact","summary":"Abuse contact email(s) and the responsible regional registry for an IP address, prefix or AS number.","description":"Abuse contact email(s) and the responsible regional registry for an IP address, prefix or AS number.","tags":["abuse","whois","network"],"parameters":[{"name":"resource","in":"query","required":true,"description":"IP, CIDR prefix, or AS number (AS15169)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"resource":{"type":["null","string"]},"abuseContacts":{"type":["array","null"],"items":{"type":"string"}},"authoritativeRegistry":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"sourceUrl":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"CONTACT_FOUND","summary":"Abuse contact for 8.8.8.8: network-abuse@google.com (registry: arin).","reasons":["From the authoritative regional internet registry's records."],"resource":"8.8.8.8","abuseContacts":["network-abuse@google.com"],"authoritativeRegistry":"arin","degraded":false,"notChecked":["whether the mailbox is monitored or responds","hosting customer versus network operator (this is the network's registered contact)"],"source":"RIPEstat (RIPE NCC)","sourceUrl":"https://stat.ripe.net","asOf":"2026-10-11T04:41:58.969Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/abuse-contact"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/abuse-contact"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/abuse-contact"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/abuse-contact"}}]}}},"/asn-profile":{"get":{"operationId":"asn_profile","summary":"Profile of an AS number: holder, registry block, announced IPv4 and IPv6 prefix counts and abuse contact.","description":"Profile of an AS number: holder, registry block, announced IPv4 and IPv6 prefix counts and abuse contact.","tags":["asn","bgp","network"],"parameters":[{"name":"asn","in":"query","required":true,"description":"AS number, e.g. 15169 or AS15169","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"asn":{"type":["null","number"]},"holder":{"type":["null","string"]},"announced":{"type":["boolean","null"]},"registryBlock":{"type":["null","object"],"properties":{"resource":{"type":["null","string"]},"desc":{"type":["null","string"]},"name":{"type":["null","string"]}}},"ipv4Prefixes":{"type":["null","number"]},"ipv6Prefixes":{"type":["null","number"]},"samplePrefixes":{"type":["array","null"],"items":{"type":"string"}},"abuseContacts":{"type":["array","null"],"items":{"type":"string"}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"sourceUrl":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"ACTIVE","summary":"AS15169 belongs to GOOGLE - Google LLC; announcing 1237 IPv4 and 176 IPv6 prefixes.","reasons":["Registry block: IANA 16-bit Autonomous System (AS) Numbers Registry (Assigned by ARIN)."],"asn":15169,"holder":"GOOGLE - Google LLC","announced":true,"registryBlock":{"resource":"13312-15359","desc":"Assigned by ARIN","name":"IANA 16-bit Autonomous System (AS) Numbers Registry"},"ipv4Prefixes":1237,"ipv6Prefixes":176,"samplePrefixes":["152.65.224.0/24","66.102.8.0/23","…8 more"],"abuseContacts":["network-abuse@google.com"],"degraded":false,"notChecked":["upstream and downstream relationships","reputation","…1 more"],"source":"RIPEstat (RIPE NCC)","sourceUrl":"https://stat.ripe.net","asOf":"2026-10-11T04:41:59.663Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0300"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/asn-profile"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/asn-profile"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/asn-profile"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/asn-profile"}}]}}},"/cidr-calc":{"get":{"operationId":"cidr_calc","summary":"IPv4 CIDR math: network, broadcast, netmask, usable hosts and range; optionally test if an IP is inside the block.","description":"IPv4 CIDR math: network, broadcast, netmask, usable hosts and range; optionally test if an IP is inside the block.","tags":["cidr","subnet","network"],"parameters":[{"name":"cidr","in":"query","required":true,"description":"IPv4 CIDR such as 10.1.2.0/22","schema":{"type":"string"}},{"name":"ip","in":"query","required":false,"description":"Optional IPv4 to test for containment","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"input":{"type":["null","string"]},"network":{"type":["null","string"]},"netmask":{"type":["null","string"]},"wildcard":{"type":["null","string"]},"broadcast":{"type":["null","string"]},"firstHost":{"type":["null","string"]},"lastHost":{"type":["null","string"]},"totalAddresses":{"type":["null","number"]},"usableHosts":{"type":["null","number"]},"hostBitsSet":{"type":["boolean","null"]},"contains":{"type":["null","object"],"properties":{"ip":{"type":["null","string"]},"inside":{"type":["boolean","null"]}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"CONTAINS_IP","summary":"192.168.10.64/26: 64 addresses (62 usable), 192.168.10.65 to 192.168.10.126; 192.168.10.100 is inside.","reasons":["192.168.10.77 had host bits set; the block's real network address is 192.168.10.64/26."],"input":"192.168.10.77/26","network":"192.168.10.64/26","netmask":"255.255.255.192","wildcard":"0.0.0.63","broadcast":"192.168.10.127","firstHost":"192.168.10.65","lastHost":"192.168.10.126","totalAddresses":64,"usableHosts":62,"hostBitsSet":true,"contains":{"ip":"192.168.10.100","inside":true},"degraded":false,"notChecked":["IPv6 blocks (IPv4 only)","whether the block is allocated or routed (use /prefix-routing)"],"source":"computed locally","asOf":"2026-10-11T04:41:59.919Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/cidr-calc"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/cidr-calc"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/cidr-calc"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/cidr-calc"}}]}}},"/ip-geo":{"get":{"operationId":"ip_geo","summary":"Approximate country, city and coordinates of a public IP, with how much of its prefix that location covers.","description":"Approximate country, city and coordinates of a public IP, with how much of its prefix that location covers.","tags":["geolocation","ip"],"parameters":[{"name":"ip","in":"query","required":true,"description":"Public IPv4 or IPv6 address","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"ip":{"type":["null","string"]},"country":{"type":["null","string"]},"city":{},"latitude":{"type":["null","number"]},"longitude":{"type":["null","number"]},"coveredPercentage":{"type":["null","number"]},"prefixes":{"type":["array","null"],"items":{"type":"string"}},"allCountries":{"type":["array","null"],"items":{"type":"string"}},"approximate":{"type":["boolean","null"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"sourceUrl":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"LOCATED","summary":"1.1.1.1 geolocates to ? (approximate; 100% of its prefix).","reasons":["Single country for the whole prefix.","Coordinates are the centre of a database area, not a street address."],"ip":"1.1.1.1","country":"?","city":null,"latitude":0,"longitude":0,"coveredPercentage":100,"prefixes":["1.1.1.0/24"],"allCountries":["?"],"approximate":true,"degraded":false,"notChecked":["street-level accuracy (IP geolocation is approximate, often city-level at best)","VPN, proxy, CDN or mobile-carrier egress","…1 more"],"source":"RIPEstat (RIPE NCC)","sourceUrl":"https://stat.ripe.net","asOf":"2026-10-11T04:42:00.379Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/ip-geo"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/ip-geo"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/ip-geo"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/ip-geo"}}]}}},"/ip-parse":{"get":{"operationId":"ip_parse","summary":"Classify an IPv4 or IPv6 address: version, public or private, special range, canonical form and reverse-DNS name.","description":"Classify an IPv4 or IPv6 address: version, public or private, special range, canonical form and reverse-DNS name.","tags":["ip","network","parse"],"parameters":[{"name":"ip","in":"query","required":true,"description":"IPv4 or IPv6 address","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"]},"version":{"type":["null","number"]},"range":{"type":["null","string"]},"rangeMeaning":{"type":["null","string"]},"integer":{"type":["null","number"]},"hex":{"type":["null","string"]},"reverseDns":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"NON_PUBLIC","summary":"192.168.1.10 is IPv4, private (RFC 1918): not routable on the public internet.","reasons":[],"version":4,"range":"192.168.0.0/16","rangeMeaning":"private (RFC 1918)","integer":3232235786,"hex":"c0a8010a","reverseDns":"10.1.168.192.in-addr.arpa","degraded":false,"notChecked":["whether the address is in use or reachable","who owns it (use /ip-profile for public addresses)"],"source":"computed locally","asOf":"2026-10-11T04:42:00.637Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/ip-parse"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/ip-parse"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/ip-parse"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/ip-parse"}}]}}},"/ip-profile":{"get":{"operationId":"ip_profile","summary":"Profile of a public IP: announcing AS and holder, enclosing prefix, whether it is routed, abuse contact and country.","description":"Profile of a public IP: announcing AS and holder, enclosing prefix, whether it is routed, abuse contact and country.","tags":["ip","asn","bgp","network"],"parameters":[{"name":"ip","in":"query","required":true,"description":"Public IPv4 or IPv6 address","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"ip":{"type":["null","string"]},"announced":{"type":["boolean","null"]},"prefix":{"type":["null","string"]},"asns":{"type":["array","null"],"items":{"type":"object","properties":{"asn":{"type":["null","number"]},"holder":{"type":["null","string"]}}}},"registryBlock":{"type":["null","string"]},"abuseContacts":{"type":["array","null"],"items":{"type":"string"}},"country":{"type":["null","string"]},"city":{},"geoApproximate":{"type":["boolean","null"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"sourceUrl":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"ANNOUNCED","summary":"8.8.8.8 is announced by AS15169 (GOOGLE - Google LLC) in 8.8.8.0/24; geolocated to US.","reasons":["Single originating AS.","Abuse contact: network-abuse@google.com."],"ip":"8.8.8.8","announced":true,"prefix":"8.8.8.0/24","asns":[{"asn":15169,"holder":"GOOGLE - Google LLC"}],"registryBlock":"IANA IPv4 Address Space Registry","abuseContacts":["network-abuse@google.com"],"country":"US","city":null,"geoApproximate":true,"degraded":false,"notChecked":["reputation or threat status (this is registry and routing data only)","hosting-provider or VPN classification","…1 more"],"source":"RIPEstat (RIPE NCC)","sourceUrl":"https://stat.ripe.net","asOf":"2026-10-11T04:42:02.055Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0300"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/ip-profile"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/ip-profile"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/ip-profile"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/ip-profile"}}]}}},"/prefix-routing":{"get":{"operationId":"prefix_routing","summary":"Routing visibility of a prefix: origin ASes, share of RIS peers that see it, first and last seen, covering routes.","description":"Routing visibility of a prefix: origin ASes, share of RIS peers that see it, first and last seen, covering routes.","tags":["bgp","routing","prefix"],"parameters":[{"name":"prefix","in":"query","required":true,"description":"CIDR prefix, e.g. 8.8.8.0/24","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"prefix":{"type":["null","string"]},"visibilityPct":{"type":["null","number"]},"risPeersSeeing":{"type":["null","number"]},"risPeersTotal":{"type":["null","number"]},"origins":{"type":["array","null"],"items":{"type":"number"}},"firstSeen":{"type":["null","object"],"properties":{"prefix":{"type":["null","string"]},"origin":{"type":["null","string"]},"time":{"type":["null","string"]}}},"lastSeen":{"type":["null","object"],"properties":{"prefix":{"type":["null","string"]},"origin":{"type":["null","string"]},"time":{"type":["null","string"]}}},"lessSpecifics":{"type":["array","null"],"items":{"type":"object","properties":{"prefix":{"type":["null","string"]},"origin":{"type":["null","number"]}}}},"moreSpecificsCount":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"sourceUrl":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"WIDELY_VISIBLE","summary":"8.8.8.0/24 is seen by 97 of 97 RIS peers (100%), origin AS15169.","reasons":["First seen 2002-11-06 (origin AS21284); last seen 2026-10-11 (origin AS15169).","0 more-specific and 2 less-specific routes."],"prefix":"8.8.8.0/24","visibilityPct":100,"risPeersSeeing":97,"risPeersTotal":97,"origins":[15169],"firstSeen":{"prefix":"8.8.8.0/24","origin":"21284","time":"2002-11-06T16:00:00"},"lastSeen":{"prefix":"8.8.8.0/24","origin":"15169","time":"2026-10-11T00:00:00"},"lessSpecifics":[{"prefix":"8.0.0.0/9","origin":3356},{"prefix":"8.0.0.0/12","origin":3356}],"moreSpecificsCount":0,"degraded":false,"notChecked":["routes seen by fewer than 10 RIS full-feed peers (RIPE excludes them)","AS path details","…1 more"],"source":"RIPEstat (RIPE NCC)","sourceUrl":"https://stat.ripe.net","asOf":"2026-10-11T04:42:02.459Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/prefix-routing"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/prefix-routing"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/prefix-routing"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/prefix-routing"}}]}}},"/route-origin-check":{"get":{"operationId":"route_origin_check","summary":"Check an IP is originated by the AS you expect, with its RPKI status: MATCH, MISMATCH or MULTI_ORIGIN, a hijack screen.","description":"Check an IP is originated by the AS you expect, with its RPKI status: MATCH, MISMATCH or MULTI_ORIGIN, a hijack screen.","tags":["bgp","hijack","rpki","security"],"parameters":[{"name":"ip","in":"query","required":true,"description":"Public IP address","schema":{"type":"string"}},{"name":"expectedAsn","in":"query","required":true,"description":"AS number you expect to announce it","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"ip":{"type":["null","string"]},"prefix":{"type":["null","string"]},"expectedAsn":{"type":["null","number"]},"observedAsns":{"type":["array","null"],"items":{"type":"number"}},"rpkiForExpected":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"sourceUrl":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"MATCH","summary":"1.1.1.1 (1.1.1.0/24) is originated by AS13335 as expected.","reasons":["Expected origin is among the observed origins.","RPKI for AS13335 on 1.1.1.0/24: valid."],"ip":"1.1.1.1","prefix":"1.1.1.0/24","expectedAsn":13335,"observedAsns":[13335],"rpkiForExpected":"valid","degraded":false,"notChecked":["the full AS path (a hijack can keep the right origin)","reputation","…1 more"],"source":"RIPEstat (RIPE NCC)","sourceUrl":"https://stat.ripe.net","asOf":"2026-10-11T04:42:03.009Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0500"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/route-origin-check"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/route-origin-check"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/route-origin-check"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/route-origin-check"}}]}}},"/rpki-check":{"get":{"operationId":"rpki_check","summary":"RPKI route-origin validation: is this AS authorized by a ROA to announce this prefix? valid, invalid or unknown.","description":"RPKI route-origin validation: is this AS authorized by a ROA to announce this prefix? valid, invalid or unknown.","tags":["rpki","bgp","security","routing"],"parameters":[{"name":"asn","in":"query","required":true,"description":"Origin AS number","schema":{"type":"string"}},{"name":"prefix","in":"query","required":true,"description":"CIDR prefix, e.g. 8.8.8.0/24","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"asn":{"type":["null","number"]},"prefix":{"type":["null","string"]},"rpkiStatus":{"type":["null","string"]},"coveringRoas":{"type":["array","null"],"items":{"type":"object","properties":{"origin":{"type":["null","string"]},"prefix":{"type":["null","string"]},"maxLength":{"type":["null","number"]},"validity":{"type":["null","string"]}}}},"validator":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"sourceUrl":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"VALID","summary":"AS15169 originating 8.8.8.0/24: RPKI valid.","reasons":["A ROA authorizes this AS to originate this prefix at this length."],"asn":15169,"prefix":"8.8.8.0/24","rpkiStatus":"valid","coveringRoas":[{"origin":"15169","prefix":"8.8.8.0/24","maxLength":24,"validity":"valid"}],"validator":"routinator","degraded":false,"notChecked":["whether the route is actually being announced (use /prefix-routing)","ASPA or path validation","…1 more"],"source":"RIPEstat (RIPE NCC)","sourceUrl":"https://stat.ripe.net","asOf":"2026-10-11T04:42:03.415Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/rpki-check"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/rpki-check"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/rpki-check"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://network-intel.x402tookit.com/rpki-check"}}]}}}}}