FETCH402
← Protocol index

Resource / 247

healthy

Otto AI.

Registration data for any domain, straight from authoritative RDAP registries (the structured WHOIS successor): registrar, ICANN/EPP domain status codes, creation, last-updated and expiration dates, authoritative nameservers, and DNSSEC delegation. The fast, license-clean way for an agent to vet a domain, sender, or counterparty. Keyless, structured JSON, pay-per-call.

Eligibility
probeable
Failures
0
Last quote
2026-08-12 22:00:02 UTC
Last probe
2026-08-12 22:00:02 UTC
Payment requirements / accepts[] 1 options
State Network Scheme Atomic amount Asset payTo / untrusted
active eip155:8453 exact 1000 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 0x0E84dDEdAaE6A779c462C22a59F301EC31B6b808

All advertised payment options are stored. Base (`eip155:8453`) is the operational network for ranking and canaries; non-Base options remain visible for transparency.

Probe evidence 1 recent
healthy 2026-08-12 22:00:02 UTC GET · HTTP 402 · 118ms · accepts 1 · base 1 ok
Request
GET https://x402.ottoai.services/whois-lookup
Robots
error
Note
robots_error:{:robots_http_status, 404};http_402;accepts=1;base=1
Accepts fingerprint
dc21f15406421d757df52393eae4b368ad9472ec8d103c5f367e869d3b7ed923

Accepts snapshot

[
  {
    "amount": "1000",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "assetTransferMethod": null,
    "extra": {
      "name": "USD Coin",
      "version": "2"
    },
    "maxTimeoutSeconds": 300,
    "network": "eip155:8453",
    "payTo": "0x0E84dDEdAaE6A779c462C22a59F301EC31B6b808",
    "paymentFlow": null,
    "raw": {
      "amount": "1000",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "maxTimeoutSeconds": 300,
      "max_timeout_seconds": 300,
      "network": "eip155:8453",
      "payTo": "0x0E84dDEdAaE6A779c462C22a59F301EC31B6b808",
      "pay_to": "0x0E84dDEdAaE6A779c462C22a59F301EC31B6b808",
      "scheme": "exact"
    },
    "scheme": "exact"
  }
]

PaymentRequired raw

{
  "accepts": [
    {
      "amount": "1000",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "maxTimeoutSeconds": 300,
      "network": "eip155:8453",
      "payTo": "0x0E84dDEdAaE6A779c462C22a59F301EC31B6b808",
      "scheme": "exact"
    }
  ],
  "error": "Payment required",
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "method": "GET",
          "queryParams": {
            "domain": "stripe.com"
          },
          "type": "http"
        },
        "output": {
          "example": {
            "data": {
              "createdAt": "2009-10-15T19:08:36Z",
              "dnssec": false,
              "domain": "stripe.com",
              "expiresAt": "2026-10-15T19:08:36Z",
              "generatedAt": "2026-06-24T12:00:00.000Z",
              "nameservers": [
                "ns-1234.awsdns-26.org",
                "ns-456.awsdns-57.com"
              ],
              "registered": true,
              "registrar": "MarkMonitor Inc.",
              "statuses": [
                "client delete prohibited",
                "client transfer prohibited"
              ],
              "updatedAt": "2024-09-10T09:16:32Z"
            },
            "meta": {
              "degraded": false,
              "generatedAt": "",
              "stalenessSec": 0,
              "validUntil": ""
            },
            "status": "success"
          },
          "type": "json"
        }
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "input": {
            "additionalProperties": false,
            "properties": {
              "method": {
                "enum": [
                  "GET"
                ],
                "type": "string"
              },
              "queryParams": {
                "properties": {
                  "domain": {
                    "description": "Registrable domain to look up (e.g. stripe.com). ccTLDs without RDAP return 503 uncharged.",
                    "type": "string"
                  }
                },
                "required": [
                  "domain"
                ],
                "type": "object"
              },
              "type": {
                "const": "http",
                "type": "string"
              }
            },
            "required": [
              "type",
              "method"
            ],
            "type": "object"
          },
          "output": {
            "properties": {
              "example": {
                "properties": {
                  "data": {
                    "description": "Endpoint payload (see meta.generatedAt for freshness)"
                  },
                  "meta": {
                    "type": "object"
                  },
                  "status": {
                    "enum": [
                      "success"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "status",
                  "data",
                  "meta"
                ],
                "type": "object"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    },
    "builder-code": {
      "info": {
        "a": "bc_hc2dhq09"
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "a": {
            "description": "App builder code",
            "pattern": "^[a-z0-9_]{1,32}$",
            "type": "string"
          },
          "s": {
            "description": "Service builder codes",
            "items": {
              "pattern": "^[a-z0-9_]{1,32}$",
              "type": "string"
            },
            "type": "array"
          },
          "w": {
            "description": "Wallet builder code",
            "pattern": "^[a-z0-9_]{1,32}$",
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "offer-receipt": {
      "info": {
        "offers": [
          {
            "acceptIndex": 0,
            "format": "eip712",
            "payload": {
              "amount": "1000",
              "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
              "network": "eip155:8453",
              "payTo": "0x0E84dDEdAaE6A779c462C22a59F301EC31B6b808",
              "resourceUrl": "https://x402.ottoai.services/whois-lookup",
              "scheme": "exact",
              "validUntil": 1786572302,
              "version": 1
            },
            "signature": "0x3182615ea3a8a4da98603479de043dbd9a20d5b224590ade94edfeff7cfd9352049f67a92240ee8e5dc02d498af7c80a1c42a131f80bfb37839760d8125e371f1c"
          }
        ]
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "offers": {
            "items": {
              "properties": {
                "acceptIndex": {
                  "type": "integer"
                },
                "format": {
                  "type": "string"
                },
                "payload": {
                  "properties": {
                    "amount": {
                      "type": "string"
                    },
                    "asset": {
                      "type": "string"
                    },
                    "network": {
                      "type": "string"
                    },
                    "payTo": {
                      "type": "string"
                    },
                    "resourceUrl": {
                      "type": "string"
                    },
                    "scheme": {
                      "type": "string"
                    },
                    "validUntil": {
                      "type": "integer"
                    },
                    "version": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "version",
                    "resourceUrl",
                    "scheme",
                    "network",
                    "asset",
                    "payTo",
                    "amount"
                  ],
                  "type": "object"
                },
                "signature": {
                  "type": "string"
                }
              },
              "required": [
                "format",
                "signature"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "offers"
        ],
        "type": "object"
      }
    },
    "otto-content-receipt": {}
  },
  "resource": {
    "description": "Registration data for any domain, straight from authoritative RDAP registries (the structured WHOIS successor): registrar, ICANN/EPP domain status codes, creation, last-updated and expiration dates, authoritative nameservers, and DNSSEC delegation. The fast, license-clean way for an agent to vet a domain, sender, or counterparty. Keyless, structured JSON, pay-per-call.",
    "iconUrl": "https://x402.ottoai.services/assets/otto-icon.png",
    "mimeType": "application/json",
    "serviceName": "Otto AI",
    "tags": [
      "whois",
      "rdap",
      "registrar lookup",
      "nameservers",
      "domain status"
    ],
    "url": "https://x402.ottoai.services/whois-lookup"
  },
  "x402Version": 2
}

Response headers

{
  "access-control-allow-origin": "*",
  "access-control-expose-headers": "PAYMENT-RESPONSE,PAYMENT-REQUIRED,PAYMENT-SIGNATURE,X-Payment-Response,WWW-Authenticate,X-Payment,X-Payment-Receipt",
  "connection": "keep-alive",
  "content-type": "application/json; charset=utf-8",
  "date": "Wed, 12 Aug 2026 22:00:02 GMT",
  "etag": "W/\"28a-/e7oObZ9sKUN6EPInfgWZpAQtWY\"",
  "payment-required": "eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQYXltZW50IHJlcXVpcmVkIiwicmVzb3VyY2UiOnsidXJsIjoiaHR0cHM6Ly94NDAyLm90dG9haS5zZXJ2aWNlcy93aG9pcy1sb29rdXAiLCJkZXNjcmlwdGlvbiI6IlJlZ2lzdHJhdGlvbiBkYXRhIGZvciBhbnkgZG9tYWluLCBzdHJhaWdodCBmcm9tIGF1dGhvcml0YXRpdmUgUkRBUCByZWdpc3RyaWVzICh0aGUgc3RydWN0dXJlZCBXSE9JUyBzdWNjZXNzb3IpOiByZWdpc3RyYXIsIElDQU5OL0VQUCBkb21haW4gc3RhdHVzIGNvZGVzLCBjcmVhdGlvbiwgbGFzdC11cGRhdGVkIGFuZCBleHBpcmF0aW9uIGRhdGVzLCBhdXRob3JpdGF0aXZlIG5hbWVzZXJ2ZXJzLCBhbmQgRE5TU0VDIGRlbGVnYXRpb24uIFRoZSBmYXN0LCBsaWNlbnNlLWNsZWFuIHdheSBmb3IgYW4gYWdlbnQgdG8gdmV0IGEgZG9tYWluLCBzZW5kZXIsIG9yIGNvdW50ZXJwYXJ0eS4gS2V5bGVzcywgc3RydWN0dXJlZCBKU09OLCBwYXktcGVyLWNhbGwuIiwibWltZVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIiwic2VydmljZU5hbWUiOiJPdHRvIEFJIiwidGFncyI6WyJ3aG9pcyIsInJkYXAiLCJyZWdpc3RyYXIgbG9va3VwIiwibmFtZXNlcnZlcnMiLCJkb21haW4gc3RhdHVzIl0sImljb25VcmwiOiJodHRwczovL3g0MDIub3R0b2FpLnNlcnZpY2VzL2Fzc2V0cy9vdHRvLWljb24ucG5nIn0sImFjY2VwdHMiOlt7InNjaGVtZSI6ImV4YWN0IiwibmV0d29yayI6ImVpcDE1NTo4NDUzIiwiYW1vdW50IjoiMTAwMCIsImFzc2V0IjoiMHg4MzM1ODlmQ0Q2ZURiNkUwOGY0YzdDMzJENGY3MWI1NGJkQTAyOTEzIiwicGF5VG8iOiIweDBFODRkREVkQWFFNkE3NzljNDYyQzIyYTU5RjMwMUVDMzFCNmI4MDgiLCJtYXhUaW1lb3V0U2Vjb25kcyI6MzAwLCJleHRyYSI6eyJuYW1lIjoiVVNEIENvaW4iLCJ2ZXJzaW9uIjoiMiJ9fV0sImV4dGVuc2lvbnMiOnsib2ZmZXItcmVjZWlwdCI6eyJpbmZvIjp7Im9mZmVycyI6W3siZm9ybWF0IjoiZWlwNzEyIiwiYWNjZXB0SW5kZXgiOjAsInBheWxvYWQiOnsidmVyc2lvbiI6MSwicmVzb3VyY2VVcmwiOiJodHRwczovL3g0MDIub3R0b2FpLnNlcnZpY2VzL3dob2lzLWxvb2t1cCIsInNjaGVtZSI6ImV4YWN0IiwibmV0d29yayI6ImVpcDE1NTo4NDUzIiwiYXNzZXQiOiIweDgzMzU4OWZDRDZlRGI2RTA4ZjRjN0MzMkQ0ZjcxYjU0YmRBMDI5MTMiLCJwYXlUbyI6IjB4MEU4NGRERWRBYUU2QTc3OWM0NjJDMjJhNTlGMzAxRUMzMUI2YjgwOCIsImFtb3VudCI6IjEwMDAiLCJ2YWxpZFVudGlsIjoxNzg2NTcyMzAyfSwic2lnbmF0dXJlIjoiMHgzMTgyNjE1ZWEzYThhNGRhOTg2MDM0NzlkZTA0M2RiZDlhMjBkNWIyMjQ1OTBhZGU5NGVkZmVmZjdjZmQ5MzUyMDQ5ZjY3YTkyMjQwZWU4ZTVkYzAyZDQ5OGFmN2M4MGExYzQyYTEzMWY4MGJmYjM3ODM5NzYwZDgxMjVlMzcxZjFjIn1dfSwic2NoZW1hIjp7IiRzY2hlbWEiOiJodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL3NjaGVtYSIsInR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im9mZmVycyI6eyJ0eXBlIjoiYXJyYXkiLCJpdGVtcyI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJmb3JtYXQiOnsidHlwZSI6InN0cmluZyJ9LCJhY2NlcHRJbmRleCI6eyJ0eXBlIjoiaW50ZWdlciJ9LCJwYXlsb2FkIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7InZlcnNpb24iOnsidHlwZSI6ImludGVnZXIifSwicmVzb3VyY2VVcmwiOnsidHlwZSI6InN0cmluZyJ9LCJzY2hlbWUiOnsidHlwZSI6InN0cmluZyJ9LCJuZXR3b3JrIjp7InR5cGUiOiJzdHJpbmcifSwiYXNzZXQiOnsidHlwZSI6InN0cmluZyJ9LCJwYXlUbyI6eyJ0eXBlIjoic3RyaW5nIn0sImFtb3VudCI6eyJ0eXBlIjoic3RyaW5nIn0sInZhbGlkVW50aWwiOnsidHlwZSI6ImludGVnZXIifX0sInJlcXVpcmVkIjpbInZlcnNpb24iLCJyZXNvdXJjZVVybCIsInNjaGVtZSIsIm5ldHdvcmsiLCJhc3NldCIsInBheVRvIiwiYW1vdW50Il19LCJzaWduYXR1cmUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiZm9ybWF0Iiwic2lnbmF0dXJlIl19fX0sInJlcXVpcmVkIjpbIm9mZmVycyJdfX0sIm90dG8tY29udGVudC1yZWNlaXB0Ijp7fSwiYnVpbGRlci1jb2RlIjp7ImluZm8iOnsiYSI6ImJjX2hjMmRocTA5In0sInNjaGVtYSI6eyIkc2NoZW1hIjoiaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQvMjAyMC0xMi9zY2hlbWEiLCJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJhIjp7InR5cGUiOiJzdHJpbmciLCJwYXR0ZXJuIjoiXlthLXowLTlfXXsxLDMyfSQiLCJkZXNjcmlwdGlvbiI6IkFwcCBidWlsZGVyIGNvZGUifSwidyI6eyJ0eXBlIjoic3RyaW5nIiwicGF0dGVybiI6Il5bYS16MC05X117MSwzMn0kIiwiZGVzY3JpcHRpb24iOiJXYWxsZXQgYnVpbGRlciBjb2RlIn0sInMiOnsidHlwZSI6ImFycmF5IiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyIsInBhdHRlcm4iOiJeW2EtejAtOV9dezEsMzJ9JCJ9LCJkZXNjcmlwdGlvbiI6IlNlcnZpY2UgYnVpbGRlciBjb2RlcyJ9fSwiYWRkaXRpb25hbFByb3BlcnRpZXMiOmZhbHNlfX0sImJhemFhciI6eyJpbmZvIjp7ImlucHV0Ijp7InR5cGUiOiJodHRwIiwicXVlcnlQYXJhbXMiOnsiZG9tYWluIjoic3RyaXBlLmNvbSJ9LCJtZXRob2QiOiJHRVQifSwib3V0cHV0Ijp7InR5cGUiOiJqc29uIiwiZXhhbXBsZSI6eyJzdGF0dXMiOiJzdWNjZXNzIiwiZGF0YSI6eyJkb21haW4iOiJzdHJpcGUuY29tIiwicmVnaXN0ZXJlZCI6dHJ1ZSwicmVnaXN0cmFyIjoiTWFya01vbml0b3IgSW5jLiIsInN0YXR1c2VzIjpbImNsaWVudCBkZWxldGUgcHJvaGliaXRlZCIsImNsaWVudCB0cmFuc2ZlciBwcm9oaWJpdGVkIl0sImNyZWF0ZWRBdCI6IjIwMDktMTAtMTVUMTk6MDg6MzZaIiwidXBkYXRlZEF0IjoiMjAyNC0wOS0xMFQwOToxNjozMloiLCJleHBpcmVzQXQiOiIyMDI2LTEwLTE1VDE5OjA4OjM2WiIsIm5hbWVzZXJ2ZXJzIjpbIm5zLTEyMzQuYXdzZG5zLTI2Lm9yZyIsIm5zLTQ1Ni5hd3NkbnMtNTcuY29tIl0sImRuc3NlYyI6ZmFsc2UsImdlbmVyYXRlZEF0IjoiMjAyNi0wNi0yNFQxMjowMDowMC4wMDBaIn0sIm1ldGEiOnsiZ2VuZXJhdGVkQXQiOiIiLCJ2YWxpZFVudGlsIjoiIiwic3RhbGVuZXNzU2VjIjowLCJkZWdyYWRlZCI6ZmFsc2V9fX19LCJzY2hlbWEiOnsiJHNjaGVtYSI6Imh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvc2NoZW1hIiwidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsiaW5wdXQiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsidHlwZSI6eyJ0eXBlIjoic3RyaW5nIiwiY29uc3QiOiJodHRwIn0sIm1ldGhvZCI6eyJ0eXBlIjoic3RyaW5nIiwiZW51bSI6WyJHRVQiXX0sInF1ZXJ5UGFyYW1zIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7ImRvbWFpbiI6eyJ0eXBlIjoic3RyaW5nIiwiZGVzY3JpcHRpb24iOiJSZWdpc3RyYWJsZSBkb21haW4gdG8gbG9vayB1cCAoZS5nLiBzdHJpcGUuY29tKS4gY2NUTERzIHdpdGhvdXQgUkRBUCByZXR1cm4gNTAzIHVuY2hhcmdlZC4ifX0sInJlcXVpcmVkIjpbImRvbWFpbiJdfX0sInJlcXVpcmVkIjpbInR5cGUiLCJtZXRob2QiXSwiYWRkaXRpb25hbFByb3BlcnRpZXMiOmZhbHNlfSwib3V0cHV0Ijp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7InR5cGUiOnsidHlwZSI6InN0cmluZyJ9LCJleGFtcGxlIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7InN0YXR1cyI6eyJ0eXBlIjoic3RyaW5nIiwiZW51bSI6WyJzdWNjZXNzIl19LCJkYXRhIjp7ImRlc2NyaXB0aW9uIjoiRW5kcG9pbnQgcGF5bG9hZCAoc2VlIG1ldGEuZ2VuZXJhdGVkQXQgZm9yIGZyZXNobmVzcykifSwibWV0YSI6eyJ0eXBlIjoib2JqZWN0In19LCJyZXF1aXJlZCI6WyJzdGF0dXMiLCJkYXRhIiwibWV0YSJdfX0sInJlcXVpcmVkIjpbInR5cGUiXX19LCJyZXF1aXJlZCI6WyJpbnB1dCJdfX19fQ==",
  "server": "railway-hikari",
  "transfer-encoding": "chunked",
  "vary": "accept-encoding",
  "x-hikari-trace": "iad1.dh1s,ams1.9qww",
  "x-powered-by": "Express",
  "x-railway-edge": "iad1",
  "x-railway-request-id": "VPRy7m5yQFmkmujYEuroCg, rbKA7-a8TOKJn0wT5nX1uw"
}

Response body

{
  "contact": {
    "email": "admin@useotto.xyz",
    "feedback": "POST https://x402.ottoai.services/feedback ($0.001) -- money-back guarantee on Otto-recommended services and Full Auto; feature requests welcome (email/Telegram are free).",
    "telegram": "https://t.me/DeFAI_Capital",
    "twitter": "https://twitter.com/useOttoAI"
  },
  "docs": "https://docs.useotto.xyz/getting-started/agent-quickstart",
  "error": "payment_required",
  "hint": "This is a pay-per-call x402 endpoint. The price and payment options (networks, signed offers) are in the PAYMENT-REQUIRED response header (x402 v2). Pay with an x402 client, then retry to receive the data.",
  "price": "$0.001",
  "x402Version": 2
}

Request headers

{
  "accept": "*/*",
  "user-agent": "Fetch402Bot/0.1 (+https://fetch402.com/crawler; contact: crawler@fetch402.com)"
}

Machine contract

Schemas.

InputJSON
{
  "method": "GET",
  "queryParams": {
    "domain": "stripe.com"
  },
  "type": "http"
}
OutputJSON
{
  "example": {
    "data": {
      "createdAt": "2009-10-15T19:08:36Z",
      "dnssec": false,
      "domain": "stripe.com",
      "expiresAt": "2026-10-15T19:08:36Z",
      "generatedAt": "2026-06-24T12:00:00.000Z",
      "nameservers": [
        "ns-1234.awsdns-26.org",
        "ns-456.awsdns-57.com"
      ],
      "registered": true,
      "registrar": "MarkMonitor Inc.",
      "statuses": [
        "client delete prohibited",
        "client transfer prohibited"
      ],
      "updatedAt": "2024-09-10T09:16:32Z"
    },
    "meta": {
      "degraded": false,
      "generatedAt": "",
      "stalenessSec": 0,
      "validUntil": ""
    },
    "status": "success"
  },
  "type": "json"
}