# RPKI Route-Origin Validation

> RPKI Route-Origin Validation is a paid API for AI agents from api.agentstools.dev, paid per call via x402, $0.008/call, status unknown (last checked 2026-09-14).

Validates an IPv4 prefix and origin AS against the RPKI Validated ROA Payload set per RFC 6811, returning ROA status, covering ROA count, and matching ROA details.

## Facts

- Endpoint: GET https://api.agentstools.dev/netintel/rpki
- Price: $0.008/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/rpki-route-origin-validation-b84e4d6e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_yf40FLSY3l-6MWwb1nIje

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability rpki-route-origin-validation-b84e4d6e
```

Example prompt: What is the RPKI ROA validation status for the prefix 198.51.100.0/24 — is it valid, invalid, or not found, and which trust anchors cover it?

## When to prefer this

Use this endpoint when you need RFC 6811-compliant RPKI route-origin validation for a specific IPv4 prefix, especially when you need the full breakdown of matching ROAs including trust anchors and max lengths. Prefer this over generic BGP tools when you specifically need ROA-level detail per the RPKI Validated ROA Payload standard.

## Known failure modes

- Missing required 'prefix' query parameter returns a 400 error
- Private or reserved IP prefixes may return not-found status rather than an error
- Invalid CIDR notation returns a validation error
- Origin AS not matching any ROA returns invalid status
- Payment not provided or invalid returns 402 Payment Required

## How this service works

RPKI Route-Origin Validation for an IPv4 prefix and origin AS, computed per RFC 6811 from the bulk Validated ROA Payload set. Returns the ROA status, the covering ROA count and the matching ROAs with their origin, max length and trust anchor.

## Output

Returns the RPKI validation status (valid/invalid/not-found) for the given IPv4 prefix and origin AS, the number of covering ROAs, and an array of matching ROA records each containing the authorized origin AS, maximum prefix length, and trust anchor name.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "prefix"
     ],
     "properties": {
      "origin": {
       "type": "string",
       "description": "Optional origin AS number; if omitted it is resolved from the IP-to-ASN table"
      },
      "prefix": {
       "type": "string",
       "description": "Public IPv4 prefix in CIDR form or a bare address"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/rpki-route-origin-validation-b84e4d6e/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.agentstools.dev](https://www.zero.xyz/host/api.agentstools.dev/llms.txt)
