{
  "tool": {
    "slug": "schema-offer-catalog-audit",
    "title": "Schema Offer Catalog Audit",
    "category": "Agentic Web",
    "description": "Check Schema.org OfferCatalog, SoftwareApplication, Product, Dataset, and Action metadata for machine buyers.",
    "buyerIntent": "Use before agents or AI search systems need to understand what is sold, how much it costs, and how to call it.",
    "tokenValue": "Saves token-heavy manual inspection of JSON-LD and catalog consistency.",
    "method": "POST",
    "rawBlueprintSlug": "the-ai-readable-website-stack",
    "priceUSDC": 0.005,
    "latencyTargetMs": 280,
    "status": "live-preview",
    "tags": [
      "schema.org",
      "offer-catalog",
      "json-ld",
      "pricing"
    ],
    "requestSchema": {
      "type": "object",
      "required": [
        "subject"
      ],
      "properties": {
        "subject": {
          "type": "string",
          "description": "Company, page, API, document, product, dataset, or decision being scored."
        },
        "context": {
          "type": "string",
          "description": "Compact notes, extracted text, rows summary, page copy, or structured brief."
        },
        "url": {
          "type": "string"
        },
        "data": {
          "type": "object",
          "description": "Optional structured facts, metrics, rows, or extracted fields."
        },
        "signals": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "goal": {
          "type": "string",
          "description": "Decision the buying agent wants to make."
        },
        "constraints": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "timeframe": {
          "type": "string"
        },
        "market": {
          "type": "string"
        },
        "currency": {
          "type": "string"
        }
      }
    },
    "responseSchema": {
      "type": "object",
      "properties": {
        "tool": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        },
        "score": {
          "type": "integer"
        },
        "grade": {
          "type": "string"
        },
        "confidence": {
          "type": "string"
        },
        "findings": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "priorityActions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "missingInputs": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "machineActions": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "evidenceRequests": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "monetizationAngle": {
          "type": "string"
        }
      }
    },
    "sampleRequest": {
      "subject": "JSON-LD offer catalog for paid agent tools",
      "context": "Catalog has itemListElement entries, prices in USDC, endpoint URLs, request schemas, and response schemas.",
      "goal": "Improve agent marketplace indexing."
    },
    "sampleResponse": {
      "tool": "schema-offer-catalog-audit",
      "subject": "JSON-LD offer catalog for paid agent tools",
      "score": 78,
      "grade": "B",
      "confidence": "medium",
      "findings": [
        {
          "id": "input-coverage",
          "status": "warn",
          "severity": "medium",
          "message": "Schema Offer Catalog Audit has enough context for first-pass triage, but live evidence would improve confidence."
        }
      ],
      "priorityActions": [
        "Add source URLs or structured data for higher-confidence scoring.",
        "Expose the result as JSON so downstream agents can act without parsing prose."
      ],
      "missingInputs": [
        "sourceUrls",
        "freshMetrics"
      ],
      "machineActions": [
        {
          "action": "collect_evidence",
          "target": "sourceUrls",
          "priority": "high"
        }
      ],
      "evidenceRequests": [
        "Provide compact facts, source URLs, and any hard numeric metrics."
      ],
      "monetizationAngle": "A small paid triage result can save one or more model calls when the buyer only needs a ranked decision."
    },
    "endpoint": "/api/v1/agent-tools/schema-offer-catalog-audit/",
    "absoluteEndpoint": "https://elpa.space/api/v1/agent-tools/schema-offer-catalog-audit/",
    "pageUrl": "https://elpa.space/agent-tools/#schema-offer-catalog-audit",
    "rawBlueprintUrl": "https://elpa.space/raw/the-ai-readable-website-stack",
    "priceLabel": "0.005 USDC"
  },
  "payment": {
    "protocol": "x402",
    "implementation": "x402 v2 exact EVM facilitator with legacy Base USDC transaction-hash fallback",
    "network": "Base",
    "networkCaip2": "eip155:8453",
    "currency": "USDC",
    "tokenContract": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
    "recipientAddress": "0xd9d6ae1d5a2128fea511460fac8e4dea58baf153",
    "paymentHeaders": [
      "PAYMENT-SIGNATURE",
      "X-PAYMENT",
      "x402-tx-hash (legacy)"
    ],
    "challengeHeader": "PAYMENT-REQUIRED",
    "responseHeader": "PAYMENT-RESPONSE",
    "facilitatorEnv": [
      "X402_FACILITATOR_URL",
      "X402_FACILITATOR_AUTHORIZATION"
    ],
    "maxTimeoutSeconds": 120,
    "priceUSDC": 0.005,
    "x402": {
      "x402Version": 2,
      "resource": {
        "url": "https://elpa.space/api/v1/agent-tools/schema-offer-catalog-audit/",
        "description": "Check Schema.org OfferCatalog, SoftwareApplication, Product, Dataset, and Action metadata for machine buyers.",
        "mimeType": "application/json",
        "serviceName": "ELPA Agent Tools",
        "tags": [
          "schema.org",
          "offer-catalog",
          "json-ld",
          "pricing"
        ],
        "iconUrl": "https://elpa.space/logo.svg"
      },
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "5000",
          "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
          "payTo": "0xd9d6ae1d5a2128fea511460fac8e4dea58baf153",
          "maxTimeoutSeconds": 120,
          "extra": {
            "name": "USDC",
            "version": "2",
            "decimals": 6
          }
        }
      ],
      "paymentRequired": {
        "x402Version": 2,
        "error": "PAYMENT-SIGNATURE header is required",
        "resource": {
          "url": "https://elpa.space/api/v1/agent-tools/schema-offer-catalog-audit/",
          "description": "Check Schema.org OfferCatalog, SoftwareApplication, Product, Dataset, and Action metadata for machine buyers.",
          "mimeType": "application/json",
          "serviceName": "ELPA Agent Tools",
          "tags": [
            "schema.org",
            "offer-catalog",
            "json-ld",
            "pricing"
          ],
          "iconUrl": "https://elpa.space/logo.svg"
        },
        "accepts": [
          {
            "scheme": "exact",
            "network": "eip155:8453",
            "amount": "5000",
            "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
            "payTo": "0xd9d6ae1d5a2128fea511460fac8e4dea58baf153",
            "maxTimeoutSeconds": 120,
            "extra": {
              "name": "USDC",
              "version": "2",
              "decimals": 6
            }
          }
        ],
        "extensions": {
          "bazaar": {
            "info": {
              "discoverable": true,
              "category": "Agentic Web",
              "tags": [
                "schema.org",
                "offer-catalog",
                "json-ld",
                "pricing"
              ],
              "input": {
                "subject": "JSON-LD offer catalog for paid agent tools",
                "context": "Catalog has itemListElement entries, prices in USDC, endpoint URLs, request schemas, and response schemas.",
                "goal": "Improve agent marketplace indexing."
              },
              "output": {
                "tool": "schema-offer-catalog-audit",
                "subject": "JSON-LD offer catalog for paid agent tools",
                "score": 78,
                "grade": "B",
                "confidence": "medium",
                "findings": [
                  {
                    "id": "input-coverage",
                    "status": "warn",
                    "severity": "medium",
                    "message": "Schema Offer Catalog Audit has enough context for first-pass triage, but live evidence would improve confidence."
                  }
                ],
                "priorityActions": [
                  "Add source URLs or structured data for higher-confidence scoring.",
                  "Expose the result as JSON so downstream agents can act without parsing prose."
                ],
                "missingInputs": [
                  "sourceUrls",
                  "freshMetrics"
                ],
                "machineActions": [
                  {
                    "action": "collect_evidence",
                    "target": "sourceUrls",
                    "priority": "high"
                  }
                ],
                "evidenceRequests": [
                  "Provide compact facts, source URLs, and any hard numeric metrics."
                ],
                "monetizationAngle": "A small paid triage result can save one or more model calls when the buyer only needs a ranked decision."
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "discoverable": {
                  "type": "boolean"
                },
                "category": {
                  "type": "string"
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "input": {
                  "type": "object",
                  "required": [
                    "subject"
                  ],
                  "properties": {
                    "subject": {
                      "type": "string",
                      "description": "Company, page, API, document, product, dataset, or decision being scored."
                    },
                    "context": {
                      "type": "string",
                      "description": "Compact notes, extracted text, rows summary, page copy, or structured brief."
                    },
                    "url": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "description": "Optional structured facts, metrics, rows, or extracted fields."
                    },
                    "signals": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "goal": {
                      "type": "string",
                      "description": "Decision the buying agent wants to make."
                    },
                    "constraints": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "timeframe": {
                      "type": "string"
                    },
                    "market": {
                      "type": "string"
                    },
                    "currency": {
                      "type": "string"
                    }
                  }
                },
                "output": {
                  "type": "object",
                  "properties": {
                    "tool": {
                      "type": "string"
                    },
                    "subject": {
                      "type": "string"
                    },
                    "score": {
                      "type": "integer"
                    },
                    "grade": {
                      "type": "string"
                    },
                    "confidence": {
                      "type": "string"
                    },
                    "findings": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "priorityActions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "missingInputs": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "machineActions": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "evidenceRequests": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "monetizationAngle": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "paymentRequiredBase64": "eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQQVlNRU5ULVNJR05BVFVSRSBoZWFkZXIgaXMgcmVxdWlyZWQiLCJyZXNvdXJjZSI6eyJ1cmwiOiJodHRwczovL2VscGEuc3BhY2UvYXBpL3YxL2FnZW50LXRvb2xzL3NjaGVtYS1vZmZlci1jYXRhbG9nLWF1ZGl0LyIsImRlc2NyaXB0aW9uIjoiQ2hlY2sgU2NoZW1hLm9yZyBPZmZlckNhdGFsb2csIFNvZnR3YXJlQXBwbGljYXRpb24sIFByb2R1Y3QsIERhdGFzZXQsIGFuZCBBY3Rpb24gbWV0YWRhdGEgZm9yIG1hY2hpbmUgYnV5ZXJzLiIsIm1pbWVUeXBlIjoiYXBwbGljYXRpb24vanNvbiIsInNlcnZpY2VOYW1lIjoiRUxQQSBBZ2VudCBUb29scyIsInRhZ3MiOlsic2NoZW1hLm9yZyIsIm9mZmVyLWNhdGFsb2ciLCJqc29uLWxkIiwicHJpY2luZyJdLCJpY29uVXJsIjoiaHR0cHM6Ly9lbHBhLnNwYWNlL2xvZ28uc3ZnIn0sImFjY2VwdHMiOlt7InNjaGVtZSI6ImV4YWN0IiwibmV0d29yayI6ImVpcDE1NTo4NDUzIiwiYW1vdW50IjoiNTAwMCIsImFzc2V0IjoiMHg4MzM1ODlmY2Q2ZWRiNmUwOGY0YzdjMzJkNGY3MWI1NGJkYTAyOTEzIiwicGF5VG8iOiIweGQ5ZDZhZTFkNWEyMTI4ZmVhNTExNDYwZmFjOGU0ZGVhNThiYWYxNTMiLCJtYXhUaW1lb3V0U2Vjb25kcyI6MTIwLCJleHRyYSI6eyJuYW1lIjoiVVNEQyIsInZlcnNpb24iOiIyIiwiZGVjaW1hbHMiOjZ9fV0sImV4dGVuc2lvbnMiOnsiYmF6YWFyIjp7ImluZm8iOnsiZGlzY292ZXJhYmxlIjp0cnVlLCJjYXRlZ29yeSI6IkFnZW50aWMgV2ViIiwidGFncyI6WyJzY2hlbWEub3JnIiwib2ZmZXItY2F0YWxvZyIsImpzb24tbGQiLCJwcmljaW5nIl0sImlucHV0Ijp7InN1YmplY3QiOiJKU09OLUxEIG9mZmVyIGNhdGFsb2cgZm9yIHBhaWQgYWdlbnQgdG9vbHMiLCJjb250ZXh0IjoiQ2F0YWxvZyBoYXMgaXRlbUxpc3RFbGVtZW50IGVudHJpZXMsIHByaWNlcyBpbiBVU0RDLCBlbmRwb2ludCBVUkxzLCByZXF1ZXN0IHNjaGVtYXMsIGFuZCByZXNwb25zZSBzY2hlbWFzLiIsImdvYWwiOiJJbXByb3ZlIGFnZW50IG1hcmtldHBsYWNlIGluZGV4aW5nLiJ9LCJvdXRwdXQiOnsidG9vbCI6InNjaGVtYS1vZmZlci1jYXRhbG9nLWF1ZGl0Iiwic3ViamVjdCI6IkpTT04tTEQgb2ZmZXIgY2F0YWxvZyBmb3IgcGFpZCBhZ2VudCB0b29scyIsInNjb3JlIjo3OCwiZ3JhZGUiOiJCIiwiY29uZmlkZW5jZSI6Im1lZGl1bSIsImZpbmRpbmdzIjpbeyJpZCI6ImlucHV0LWNvdmVyYWdlIiwic3RhdHVzIjoid2FybiIsInNldmVyaXR5IjoibWVkaXVtIiwibWVzc2FnZSI6IlNjaGVtYSBPZmZlciBDYXRhbG9nIEF1ZGl0IGhhcyBlbm91Z2ggY29udGV4dCBmb3IgZmlyc3QtcGFzcyB0cmlhZ2UsIGJ1dCBsaXZlIGV2aWRlbmNlIHdvdWxkIGltcHJvdmUgY29uZmlkZW5jZS4ifV0sInByaW9yaXR5QWN0aW9ucyI6WyJBZGQgc291cmNlIFVSTHMgb3Igc3RydWN0dXJlZCBkYXRhIGZvciBoaWdoZXItY29uZmlkZW5jZSBzY29yaW5nLiIsIkV4cG9zZSB0aGUgcmVzdWx0IGFzIEpTT04gc28gZG93bnN0cmVhbSBhZ2VudHMgY2FuIGFjdCB3aXRob3V0IHBhcnNpbmcgcHJvc2UuIl0sIm1pc3NpbmdJbnB1dHMiOlsic291cmNlVXJscyIsImZyZXNoTWV0cmljcyJdLCJtYWNoaW5lQWN0aW9ucyI6W3siYWN0aW9uIjoiY29sbGVjdF9ldmlkZW5jZSIsInRhcmdldCI6InNvdXJjZVVybHMiLCJwcmlvcml0eSI6ImhpZ2gifV0sImV2aWRlbmNlUmVxdWVzdHMiOlsiUHJvdmlkZSBjb21wYWN0IGZhY3RzLCBzb3VyY2UgVVJMcywgYW5kIGFueSBoYXJkIG51bWVyaWMgbWV0cmljcy4iXSwibW9uZXRpemF0aW9uQW5nbGUiOiJBIHNtYWxsIHBhaWQgdHJpYWdlIHJlc3VsdCBjYW4gc2F2ZSBvbmUgb3IgbW9yZSBtb2RlbCBjYWxscyB3aGVuIHRoZSBidXllciBvbmx5IG5lZWRzIGEgcmFua2VkIGRlY2lzaW9uLiJ9fSwic2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7ImRpc2NvdmVyYWJsZSI6eyJ0eXBlIjoiYm9vbGVhbiJ9LCJjYXRlZ29yeSI6eyJ0eXBlIjoic3RyaW5nIn0sInRhZ3MiOnsidHlwZSI6ImFycmF5IiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9fSwiaW5wdXQiOnsidHlwZSI6Im9iamVjdCIsInJlcXVpcmVkIjpbInN1YmplY3QiXSwicHJvcGVydGllcyI6eyJzdWJqZWN0Ijp7InR5cGUiOiJzdHJpbmciLCJkZXNjcmlwdGlvbiI6IkNvbXBhbnksIHBhZ2UsIEFQSSwgZG9jdW1lbnQsIHByb2R1Y3QsIGRhdGFzZXQsIG9yIGRlY2lzaW9uIGJlaW5nIHNjb3JlZC4ifSwiY29udGV4dCI6eyJ0eXBlIjoic3RyaW5nIiwiZGVzY3JpcHRpb24iOiJDb21wYWN0IG5vdGVzLCBleHRyYWN0ZWQgdGV4dCwgcm93cyBzdW1tYXJ5LCBwYWdlIGNvcHksIG9yIHN0cnVjdHVyZWQgYnJpZWYuIn0sInVybCI6eyJ0eXBlIjoic3RyaW5nIn0sImRhdGEiOnsidHlwZSI6Im9iamVjdCIsImRlc2NyaXB0aW9uIjoiT3B0aW9uYWwgc3RydWN0dXJlZCBmYWN0cywgbWV0cmljcywgcm93cywgb3IgZXh0cmFjdGVkIGZpZWxkcy4ifSwic2lnbmFscyI6eyJ0eXBlIjoiYXJyYXkiLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn19LCJnb2FsIjp7InR5cGUiOiJzdHJpbmciLCJkZXNjcmlwdGlvbiI6IkRlY2lzaW9uIHRoZSBidXlpbmcgYWdlbnQgd2FudHMgdG8gbWFrZS4ifSwiY29uc3RyYWludHMiOnsidHlwZSI6ImFycmF5IiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9fSwidGltZWZyYW1lIjp7InR5cGUiOiJzdHJpbmcifSwibWFya2V0Ijp7InR5cGUiOiJzdHJpbmcifSwiY3VycmVuY3kiOnsidHlwZSI6InN0cmluZyJ9fX0sIm91dHB1dCI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJ0b29sIjp7InR5cGUiOiJzdHJpbmcifSwic3ViamVjdCI6eyJ0eXBlIjoic3RyaW5nIn0sInNjb3JlIjp7InR5cGUiOiJpbnRlZ2VyIn0sImdyYWRlIjp7InR5cGUiOiJzdHJpbmcifSwiY29uZmlkZW5jZSI6eyJ0eXBlIjoic3RyaW5nIn0sImZpbmRpbmdzIjp7InR5cGUiOiJhcnJheSIsIml0ZW1zIjp7InR5cGUiOiJvYmplY3QifX0sInByaW9yaXR5QWN0aW9ucyI6eyJ0eXBlIjoiYXJyYXkiLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn19LCJtaXNzaW5nSW5wdXRzIjp7InR5cGUiOiJhcnJheSIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifX0sIm1hY2hpbmVBY3Rpb25zIjp7InR5cGUiOiJhcnJheSIsIml0ZW1zIjp7InR5cGUiOiJvYmplY3QifX0sImV2aWRlbmNlUmVxdWVzdHMiOnsidHlwZSI6ImFycmF5IiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9fSwibW9uZXRpemF0aW9uQW5nbGUiOnsidHlwZSI6InN0cmluZyJ9fX19fX19fQ==",
      "facilitator": {
        "url": "https://api.cdp.coinbase.com/platform/v2/x402",
        "verify": "/verify",
        "settle": "/settle"
      },
      "legacy": {
        "enabled": true,
        "header": "x402-tx-hash",
        "note": "Legacy Base USDC transaction-hash receipts remain accepted for manual testing, but PAYMENT-SIGNATURE is the primary x402 path."
      }
    }
  }
}