{
  "version": 1,
  "x402Version": 1,
  "serviceName": "[TESTNET \u00b7 Base Sepolia] THE METER \u2014 Rooster Agents",
  "name": "THE METER \u2014 Rooster Agents",
  "description": "Machine-payable AI-visibility intelligence. Ask whether AI answer engines recommend a business, what it scores, and exactly what to fix. Pay per call in USDC over x402 \u2014 no account, no API key, no invoice.",
  "provider": {
    "name": "Rooster Agents",
    "url": "https://roosteragents.ai",
    "docs": "https://roosteragents.ai/arsenal/rooster-meter/"
  },
  "endpoint": "https://rooster-meter.roosteragents.workers.dev",
  "resources": [
    "GET /v1/agent-readiness",
    "GET /v1/scan",
    "GET /v1/scan/full"
  ],
  "endpoints": [
    {
      "resource": "https://rooster-meter.roosteragents.workers.dev/v1/agent-readiness",
      "method": "GET",
      "price": "$0.02",
      "network": "base-sepolia",
      "asset": "USDC",
      "payTo": "0xd2DfBD80198776CeD038EDb18bB90D6aF01DFF6a",
      "description": "Score any domain 0-100 on the four agentic-web gates (allowed in / discoverable / readable / callable), with the ranked fixes. Computed live at the edge.",
      "url": "https://rooster-meter.roosteragents.workers.dev/v1/agent-readiness",
      "mimeType": "application/json",
      "serviceName": "[TESTNET \u00b7 Base Sepolia] THE METER \u2014 Rooster Agents",
      "tags": [
        "ai-visibility",
        "seo",
        "aeo",
        "marketing",
        "local-business",
        "audit",
        "answer-engine"
      ],
      "stability": "v1 \u2014 frozen contract; breaking changes ship as a new path, never in place",
      "note": "PREVIEW: settlement runs on Base Sepolia (chainId 84532) testnet. Payment challenges are real but the USDC is not. A mainnet client will be refused with a clear network-mismatch error rather than silently failing. The mainnet listing will use a new payTo address on base (chainId 8453); this preview will be delisted at that point.",
      "iconUrl": "https://roosteragents.ai/favicon.ico",
      "outputSchema": {
        "input": {
          "type": "http",
          "method": "GET",
          "discoverable": true,
          "queryParams": {
            "domain": "example.com"
          },
          "schema": {
            "type": "object",
            "properties": {
              "domain": {
                "type": "string",
                "description": "Hostname of the business to analyse, e.g. example.com"
              },
              "category": {
                "type": "string",
                "description": "Optional. Pin the category we judge it as, e.g. 'med spa'."
              },
              "city": {
                "type": "string",
                "description": "Optional. Pin the city we judge it in, e.g. 'St. George, UT'."
              }
            },
            "required": [
              "domain"
            ],
            "additionalProperties": false
          }
        },
        "output": {
          "domain": "example.com",
          "score": 72,
          "grade": "C",
          "checks": [
            {
              "gate": "allowed in",
              "status": "pass",
              "detail": "GPTBot and friends are not blocked"
            }
          ],
          "scanned_as": {
            "category": "med spa",
            "city": "St. George, UT"
          }
        }
      },
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "discoverable": true,
              "queryParams": {
                "domain": "example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "domain": "example.com",
                "score": 72,
                "grade": "C",
                "checks": [
                  {
                    "gate": "allowed in",
                    "status": "pass",
                    "detail": "GPTBot and friends are not blocked"
                  }
                ],
                "scanned_as": {
                  "category": "med spa",
                  "city": "St. George, UT"
                }
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "queryParams": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "resource": "https://rooster-meter.roosteragents.workers.dev/v1/scan",
      "method": "GET",
      "price": "$0.25",
      "network": "base-sepolia",
      "asset": "USDC",
      "payTo": "0xd2DfBD80198776CeD038EDb18bB90D6aF01DFF6a",
      "description": "Rooster AI Visibility score: whether AI answer engines recommend a business, plus the 5 weighted dimensions and grade.",
      "url": "https://rooster-meter.roosteragents.workers.dev/v1/scan",
      "mimeType": "application/json",
      "serviceName": "[TESTNET \u00b7 Base Sepolia] THE METER \u2014 Rooster Agents",
      "tags": [
        "ai-visibility",
        "seo",
        "aeo",
        "marketing",
        "local-business",
        "audit",
        "answer-engine"
      ],
      "stability": "v1 \u2014 frozen contract; breaking changes ship as a new path, never in place",
      "note": "PREVIEW: settlement runs on Base Sepolia (chainId 84532) testnet. Payment challenges are real but the USDC is not. A mainnet client will be refused with a clear network-mismatch error rather than silently failing. The mainnet listing will use a new payTo address on base (chainId 8453); this preview will be delisted at that point.",
      "iconUrl": "https://roosteragents.ai/favicon.ico",
      "outputSchema": {
        "input": {
          "type": "http",
          "method": "GET",
          "discoverable": true,
          "queryParams": {
            "domain": "example.com",
            "category": "med spa",
            "city": "St. George, UT"
          },
          "schema": {
            "type": "object",
            "properties": {
              "domain": {
                "type": "string",
                "description": "Hostname of the business to analyse, e.g. example.com"
              },
              "category": {
                "type": "string",
                "description": "Optional. Pin the category we judge it as, e.g. 'med spa'."
              },
              "city": {
                "type": "string",
                "description": "Optional. Pin the city we judge it in, e.g. 'St. George, UT'."
              }
            },
            "required": [
              "domain"
            ],
            "additionalProperties": false
          }
        },
        "output": {
          "domain": "example.com",
          "score": 61,
          "grade": "D",
          "dimensions": {
            "presence": 12,
            "prominence": 9,
            "sentiment": 14,
            "citations": 13,
            "consistency": 13
          },
          "scanned_as": {
            "category": "med spa",
            "city": "St. George, UT"
          }
        }
      },
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "discoverable": true,
              "queryParams": {
                "domain": "example.com",
                "category": "med spa",
                "city": "St. George, UT"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "domain": "example.com",
                "score": 61,
                "grade": "D",
                "dimensions": {
                  "presence": 12,
                  "prominence": 9,
                  "sentiment": 14,
                  "citations": 13,
                  "consistency": 13
                },
                "scanned_as": {
                  "category": "med spa",
                  "city": "St. George, UT"
                }
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "queryParams": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "resource": "https://rooster-meter.roosteragents.workers.dev/v1/scan/full",
      "method": "GET",
      "price": "$1.00",
      "network": "base-sepolia",
      "asset": "USDC",
      "payTo": "0xd2DfBD80198776CeD038EDb18bB90D6aF01DFF6a",
      "description": "Everything in the scan plus the prioritized action plan, the buyer questions tested, who the AI names instead, and the technical audit.",
      "url": "https://rooster-meter.roosteragents.workers.dev/v1/scan/full",
      "mimeType": "application/json",
      "serviceName": "[TESTNET \u00b7 Base Sepolia] THE METER \u2014 Rooster Agents",
      "tags": [
        "ai-visibility",
        "seo",
        "aeo",
        "marketing",
        "local-business",
        "audit",
        "answer-engine"
      ],
      "stability": "v1 \u2014 frozen contract; breaking changes ship as a new path, never in place",
      "note": "PREVIEW: settlement runs on Base Sepolia (chainId 84532) testnet. Payment challenges are real but the USDC is not. A mainnet client will be refused with a clear network-mismatch error rather than silently failing. The mainnet listing will use a new payTo address on base (chainId 8453); this preview will be delisted at that point.",
      "iconUrl": "https://roosteragents.ai/favicon.ico",
      "outputSchema": {
        "input": {
          "type": "http",
          "method": "GET",
          "discoverable": true,
          "queryParams": {
            "domain": "example.com",
            "category": "med spa",
            "city": "St. George, UT"
          },
          "schema": {
            "type": "object",
            "properties": {
              "domain": {
                "type": "string",
                "description": "Hostname of the business to analyse, e.g. example.com"
              },
              "category": {
                "type": "string",
                "description": "Optional. Pin the category we judge it as, e.g. 'med spa'."
              },
              "city": {
                "type": "string",
                "description": "Optional. Pin the city we judge it in, e.g. 'St. George, UT'."
              }
            },
            "required": [
              "domain"
            ],
            "additionalProperties": false
          }
        },
        "output": {
          "domain": "example.com",
          "score": 61,
          "grade": "D",
          "action_plan": [
            {
              "priority": 1,
              "fix": "Publish an answer-shaped services page",
              "why": "no engine can quote a price"
            }
          ],
          "questions_tested": [
            "best med spa in St. George"
          ],
          "named_instead": [
            "competitor-a.com",
            "competitor-b.com"
          ],
          "scanned_as": {
            "category": "med spa",
            "city": "St. George, UT"
          }
        }
      },
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "discoverable": true,
              "queryParams": {
                "domain": "example.com",
                "category": "med spa",
                "city": "St. George, UT"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "domain": "example.com",
                "score": 61,
                "grade": "D",
                "action_plan": [
                  {
                    "priority": 1,
                    "fix": "Publish an answer-shaped services page",
                    "why": "no engine can quote a price"
                  }
                ],
                "questions_tested": [
                  "best med spa in St. George"
                ],
                "named_instead": [
                  "competitor-a.com",
                  "competitor-b.com"
                ],
                "scanned_as": {
                  "category": "med spa",
                  "city": "St. George, UT"
                }
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "queryParams": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    }
  ],
  "free": [
    {
      "resource": "https://rooster-meter.roosteragents.workers.dev/v1/catalog",
      "description": "Full machine-readable product catalog with prices."
    },
    {
      "resource": "https://rooster-meter.roosteragents.workers.dev/v1/result/{job}",
      "description": "Poll a queued job. Free forever, and mints a credit token if we were late."
    },
    {
      "resource": "https://rooster-meter.roosteragents.workers.dev/llms.txt",
      "description": "Plain-language guide for agents."
    },
    {
      "resource": "https://rooster-meter.roosteragents.workers.dev/mcp",
      "method": "POST",
      "description": "Same products as MCP tools (protocol 2025-06-18)."
    }
  ],
  "policy": {
    "validation": "Invalid requests return 400 before any payment is demanded. You are never charged for a request we cannot serve.",
    "refunds": "If a job fails or is late, the result endpoint mints an X-Meter-Credit token worth one free call at the same tier.",
    "honesty": "If the business cannot be confidently identified we refuse and credit you rather than return a guessed score.",
    "transparency": "Every answer states the category and city it was judged as. Pin your own with &category= and &city=."
  },
  "settlement": {
    "network": "base-sepolia",
    "asset": "USDC",
    "note": "Payment challenges are real. Settlement is currently on Base Sepolia while the rail is proven; mainnet on request."
  }
}
