{
 "x402Version": 2,
 "resources": [
  {
   "resource": "https://api.hergertsynthora.com/v1/agentcard",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/agentcard",
     "description": "Agent Card Validator (A2A): given an Agent Card URL or JSON, deterministically validates it against the A2A spec — required fields, skill schemas, endpoint reachability, security schemes, provider transparency — and returns a compatibility_score, schema_errors and warnings. The trust layer for the agent economy. Deterministic, Ed25519-signed. 0.01 USDC via x402 on Base. SYNTHORA.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "card": {
         "name": "Demo Agent",
         "description": "A2A agent card audit demo",
         "url": "https://example.org",
         "version": "1.0.0",
         "skills": [
          {
           "id": "chat",
           "name": "chat",
           "description": "conversational"
          }
         ]
        }
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "agent_card",
        "result": {
         "compatibility_score": 82,
         "verdict": "buena",
         "a2a_conformant": true,
         "schema_errors": [],
         "warnings": [
          "falta campo recomendado: documentationUrl"
         ],
         "skills_count": 1,
         "security_declared": true,
         "endpoint_status": 200,
         "pricing_declared": false,
         "signed": "ed25519"
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "url": {
            "type": "string",
            "description": "URL of the A2A Agent Card (.well-known/agent-card.json)"
           },
           "card": {
            "type": "object",
            "description": "Or paste the Agent Card JSON directly"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/air-quality",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/air-quality",
     "description": "SYNTHORA air-quality: live air quality for any city or lat,lon — PM2.5/PM10/ozone/NO2, EU and US AQI, and a WHO-threshold operational verdict (good/moderate/harmful). Source: open-meteo Air Quality (CAMS/ESA Copernicus), free, no key. $0.005 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "Delhi"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "air_quality",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA air-quality: live air quality for any city or lat,lon — PM2.5/PM10/ozone/NO2, EU and US AQI, and a WHO-threshold operational verdict (good/moderate/harmful). Source: open-meteo Air Quality (CAMS/ESA Copernicus), free, no key. $0.005 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/amlscreen",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "100000",
     "amount": "100000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/amlscreen",
     "description": "Screen a crypto wallet address against global sanctions and illicit-activity intelligence. Cross-checks the on-chain Chainalysis sanctions oracle, TRM screening, OFAC SDN and GoPlus address flags (mixer, phishing, laundering), returning a sanctioned yes/no, matched lists and an AML risk score. Use it for AML compliance, sanctions screening and KYT before onboarding or paying an address. Ed25519-signed. 0.005 USDC on Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "address": "0x28C6c06298d514Db089934071355E5743bf21d60"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "aml_screening",
        "result": {
         "input": "0x...",
         "signal": "clean",
         "risk_score": 0,
         "lists_checked": [
          "CHAINALYSIS_ORACLE",
          "TRM_SANCTIONS",
          "OFAC_SDN_inline",
          "GOPLUS_ADDRESS"
         ],
         "hits": []
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "address": {
            "type": "string",
            "description": "EVM address to screen (0x...)"
           },
           "name": {
            "type": "string",
            "description": "Optional entity name for OFAC name search"
           }
          },
          "required": []
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/asset-risk",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "30000",
     "amount": "30000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/asset-risk",
     "description": "SYNTHORA asset-risk: geoint risk verdict by zone (gibraltar, bab-el-mandeb, bosphorus, algeciras...) or lat/lon+bbox — confidence measured by AGREEMENT between independent sources, discrepancies declared (the moat). $0.03 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "gibraltar"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "asset_risk",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA asset-risk: geoint risk verdict by zone (gibraltar, bab-el-mandeb, bosphorus, algeciras...) or lat/lon+bbox — confidence measured by AGREEMENT between independent sources, discrepancies declared (the moat). $0.03 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/binance-ticker24",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/binance-ticker24",
     "description": "SYNTHORA binance-ticker24: 24h ticker that places the current price INSIDE its own 24h range — not just the last trade, but where it sits between the period high and low, with the distance to each end and the direction of travel. Deterministic, Ed25519-signed. Input: trading pair symbol (e.g. BTCUSDT).",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "symbol": "BTCUSDT"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "binance_ticker24",
        "result": {
         "symbol": "BTCUSDT",
         "last_price": 64690.0,
         "bid": 64690.0,
         "ask": 64690.01,
         "spread_pct": 2e-05,
         "open_24h": 64011.99,
         "high_24h": 64760.99,
         "low_24h": 63880.0,
         "price_change_pct_24h": 1.059,
         "volume_24h_quote": 838119043.6470296,
         "trades_24h": 2506551,
         "posicion_en_rango_24h_pct": 91.94,
         "senal": "cotiza en el 91.94% del rango de 24 h",
         "as_of_utc": "2026-08-05T16:31:23Z",
         "fuente": "<omitido en el ejemplo publico>",
         "latencia_s": 0.27
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA binance-ticker24: 24h ticker that places the current price INSIDE its own 24h range — not just the last trade, but where it sits between the period high and low, with the distance to each end and the direction of travel. Deterministic, Ed25519-signed. Input: trading pair symbol (e.g. BTCUSDT)."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/bitcoin-fees",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/bitcoin-fees",
     "description": "SYNTHORA bitcoin-fees: Bitcoin fee tiers in sat/vB (fastest/half-hour/hour/economy/minimum) plus current block height. Source: mempool.space public API, keyless. Bitcoin only.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "protocol": "aave"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "bitcoin_fees",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/bridgerisk",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "100000",
     "amount": "100000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/bridgerisk",
     "description": "Assess the security risk of a cross-chain bridge before routing funds through it. Combines live DefiLlama TVL and audit status with the full bridge-hack incident history and known-exploit analysis into a 0-100 risk score, a safe/caution/high_risk/critical signal and explicit risk factors. Use it for bridge risk and cross-chain due diligence. Ed25519-signed. 0.002 USDC on Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "bridge": "stargate",
        "from_chain": "ethereum",
        "to_chain": "base",
        "amount_usd": 5000
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "bridge_risk",
        "result": {
         "bridge": "stargate",
         "risk_score": 0,
         "signal": "safe",
         "bridge_tvl_usd": 0,
         "audit_status": "audited",
         "incident_history": [],
         "risk_factors": []
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "bridge": {
            "type": "string",
            "description": "Bridge name e.g. stargate, across, hop, wormhole"
           },
           "from_chain": {
            "type": "string"
           },
           "to_chain": {
            "type": "string"
           },
           "amount_usd": {
            "type": "number"
           }
          },
          "required": [
           "bridge"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/btc-fees",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/btc-fees",
     "description": "SYNTHORA btc-fees: Bitcoin fee tiers + mempool congestion, cross-reported from two independent node sources (mempool.space + blockstream.info) with methodology divergence declared. For agents timing BTC transactions. Free sources, no key. $0.005 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "btc_fees",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA btc-fees: Bitcoin fee tiers + mempool congestion, cross-reported from two independent node sources (mempool.space + blockstream.info) with methodology divergence declared. For agents timing BTC transactions. Free sources, no key. $0.005 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/businessrisk",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/businessrisk",
     "description": "Counterparty business-risk verdict: one call fuses OFAC/EU sanctions screening, on-chain wallet reputation, and token/pool contract risk into a single weighted risk_score (0-100), a kill/pivot/proceed verdict, and reason_codes naming which sub-signal drove it. Weights: sanctions 0.50, wallet 0.30, token 0.20, renormalised if a leg is unavailable; a sanctions hit is a hard KILL floor. Degrades gracefully — a failed sub-check is dropped, never crashes the verdict. Deterministic",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "address": "0x28C6c06298d514Db089934071355E5743bf21d60",
        "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "business_risk",
        "result": {
         "verdict": "pivot",
         "risk_score": 62.5,
         "risk_tier": "elevated",
         "counterparty_address": "0x28C6...1d60",
         "token_address": "0x8335...2913",
         "reason_codes": [
          "WALLET_SUSPICIOUS: reputation=45/100 (0 transacciones)",
          "TOKEN_CAUTION: contract risk_level=medium, verdict=monitor"
         ],
         "weights_applied": {
          "aml_screening": 0.5,
          "wallet_rep": 0.3,
          "defi_verdict": 0.2
         },
         "checks": {
          "aml_screening": "ok",
          "wallet_rep": "ok",
          "defi_verdict": "ok"
         },
         "signals_used": 3,
         "sub_results": {
          "aml_screening": {},
          "wallet_rep": {},
          "defi_verdict": {}
         },
         "summary": "PIVOT: elevated risk (62.5/100)...",
         "disclaimer": "Deterministic composite risk verdict... Ed25519-signed."
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "address": {
            "type": "string",
            "description": "Counterparty EVM wallet (0x-40hex) — screened for sanctions + reputation"
           },
           "token": {
            "type": "string",
            "description": "Token or pool contract (0x-40hex) — screened for contract risk"
           },
           "protocol": {
            "type": "string",
            "description": "Optional protocol name for the token/pool"
           },
           "apy_pct": {
            "type": "number",
            "description": "Optional APY passthrough to the DeFi risk leg"
           },
           "tvl_usd": {
            "type": "number",
            "description": "Optional TVL passthrough to the DeFi risk leg"
           },
           "duration_days": {
            "type": "integer",
            "description": "Optional holding period passthrough"
           }
          },
          "anyOf": [
           {
            "required": [
             "address"
            ]
           },
           {
            "required": [
             "token"
            ]
           }
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/chokepoint-risk",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/chokepoint-risk",
     "description": "SYNTHORA chokepoint-risk: SUPERCORRELATED risk verdict per maritime chokepoint (Hormuz, Suez, Panama, Bab el-Mandeb, Malacca, Gibraltar, Taiwan) — crosses REAL TRAFFIC (IMF PortWatch, canonical Polymarket resolution source) x NARRATIVE (GDELT global news spike+tone) x NAVIGABILITY (WaveWatch III sea state) into one score with confidence level. The alpha: narrative/traffic divergence (noise without disruption = market overreaction; silent disruption = early signal). Sources de",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "chokepoint": "hormuz"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "chokepoint_risk",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA chokepoint-risk: SUPERCORRELATED risk verdict per maritime chokepoint (Hormuz, Suez, Panama, Bab el-Mandeb, Malacca, Gibraltar, Taiwan) — crosses REAL TRAFFIC (IMF PortWatch, canonical Polymarket resolution source) x NARRATIVE (GDELT global news spike+tone) x NAVIGABILITY (WaveWatch III sea state) into one score with confidence level. The alpha: narrative/traffic divergence (noise without disruption = market overreaction; silent disruption = early signal). Sources declared; degraded sources lower confidence. $0.05 USDC x402 Base."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/chokepoint-transits",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "10000",
     "amount": "10000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/chokepoint-transits",
     "description": "SYNTHORA chokepoint-transits: daily vessel transits through the 28 global maritime chokepoints (Hormuz, Suez, Panama, Bab el-Mandeb, Malacca...). Latest settled day, 7d moving average, deviation vs 30d baseline, per-vessel-type breakdown (a tanker-only drop at Hormuz is the tradeable signal) and anomaly flag. Source: IMF PortWatch (satellite AIS) — the canonical resolution source of Polymarket chokepoint markets. Free, no key.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "chokepoint": "hormuz"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "chokepoint_transits",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA chokepoint-transits: daily vessel transits through the 28 global maritime chokepoints (Hormuz, Suez, Panama, Bab el-Mandeb, Malacca...). Latest settled day, 7d moving average, deviation vs 30d baseline, per-vessel-type breakdown (a tanker-only drop at Hormuz is the tradeable signal) and anomaly flag. Source: IMF PortWatch (satellite AIS) — the canonical resolution source of Polymarket chokepoint markets. Free, no key."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/code-sandbox",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "10000",
     "amount": "10000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/code-sandbox",
     "description": "Python code execution as a service for agents: send code, get stdout/stderr/exit code. Isolated, hard limits. $0.01 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "code": "print(sum(range(100)))"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "code_sandbox",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "const": "json"
         },
         "body": {
          "type": "object",
          "properties": {
           "code": {
            "type": "string"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/codeaudit",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "320000",
     "amount": "320000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/codeaudit",
     "description": "Multi-LLM Smart Contract Audit: 3 independent LLM perspectives (security, logic, gas) + static pattern scan on Solidity/Vyper source. Severity: clean/low/medium/high/critical. Ed25519-signed, publishable on-chain. POST {\"source\":\"pragma solidity...\",\"language\":\"solidity\"} or {\"address\":\"0x..\",\"chain\":\"base\"} for Sourcify-verified contracts.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "source": "pragma solidity ^0.8.0; contract Vault { address public owner; mapping(address=>uint) public bal; constructor(){owner=msg.sender;} function deposit() external payable { bal[msg.sender]+=msg.value; } function withdraw(uint a) external { require(bal[msg.sender]>=a); (bool ok,)=msg.sender.call{value:a}(\"\"); require(ok); bal[msg.sender]-=a; } }",
        "language": "solidity"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "code_audit",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "const": "json"
         },
         "body": {
          "type": "object",
          "properties": {
           "source": {
            "type": "string"
           },
           "language": {
            "type": "string"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/coingecko-crypto-price-history",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/coingecko-crypto-price-history",
     "description": "Historical daily price, market-cap and volume time-series for a coin in any fiat currency from CoinGecko's keyless market_chart endpoint (JSON). Serves autonomous crypto-vs-fiat trend agents, backtesting bots, and agent-to-agent analytics needing multi-day price series without a key. Pay-per-call via x402 on Base. No charge on upstream failure.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "id": "bitcoin",
        "vs_currency": "usd",
        "days": 7,
        "interval": "daily"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "coingecko_crypto_price_history",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "Historical daily price, market-cap and volume time-series for a coin in any fiat currency from CoinGecko's keyless market_chart endpoint (JSON). Serves autonomous crypto-vs-fiat trend agents, backtesting bots, and agent-to-agent analytics needing multi-day price series without a key. Pay-per-call via x402 on Base. No charge on upstream failure."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/commodity-macro",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/commodity-macro",
     "description": "Gold, silver and major macro FX reference in one call for portfolio-hedging agents. ECB + metals reference. Free source. $0.05 USDC via x402 on Base. SYNTHORA. Pay-per-call via x402 on Base. No charge on upstream failure.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "base": "USD",
        "symbols": "EUR,GBP,JPY,CHF"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "commodity_macro",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "Gold, silver and major macro FX reference in one call for portfolio-hedging agents. ECB + metals reference. Free source. $0.05 USDC via x402 on Base. SYNTHORA. Pay-per-call via x402 on Base. No charge on upstream failure."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/contractwatch",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "320000",
     "amount": "320000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/contractwatch",
     "description": "SYNTHORA contractwatch: verdict de seguridad de contrato on-chain que SI lee el bytecode (eth_getCode) y slots de proxy (EIP-1967/zeppelinos/UUPS/beacon), owner() y privilegios ocultos: honeypot, rug-pull, hidden mint. Correlacionado entre fuentes independientes y firmado Ed25519. 0.32 USDC via x402 on Base. POST {\"address\": \"0x...\", \"chain\": \"base\"}",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "chain": "base"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "contract_guard",
        "result": {
         "verdict": "medium",
         "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
         "chain": "base",
         "verified": false,
         "proxy": true,
         "proxy_standard": "zeppelinos",
         "owner": "0x3ABd6f64A422225E61E435baE41db12096106df7",
         "flags": [
          "código NO verificado en Sourcify",
          "PROXY actualizable (zeppelinos) — el admin/owner puede cambiar la lógica (impl 0x2Ce6311d…)",
          "..."
         ],
         "rationale": "SIN verificar. Proxy actualizable (zeppelinos: riesgo de cambio de lógica). Tiene owner/control centralizado.",
         "disclaimer": "No es consejo financiero. Análisis automatizado de seguridad on-chain con procedencia firmada."
        },
        "provenance": "<3 fuentes independientes>"
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA contractwatch: verdict de seguridad de contrato on-chain que SI lee el bytecode (eth_getCode) y slots de proxy (EIP-1967/zeppelinos/UUPS/beacon), owner() y privilegios ocultos: honeypot, rug-pull, hidden mint. Correlacionado entre fuentes independientes y firmado Ed25519. 0.32 USDC via x402 on Base. POST {\"address\": \"0x...\", \"chain\": \"base\"}"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/cryptonews",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "100000",
     "amount": "100000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/cryptonews",
     "description": "SYNTHORA cryptonews: real-time crypto news headlines with sentiment, ranked by importance. Aggregates keyless RSS feeds (CryptoPanic, CoinDesk, CoinTelegraph, Decrypt, Bitcoin Magazine) into deduplicated, freshness-and-source-weighted top headlines, each scored with a lexical bull/bear sentiment (very_bullish.very_bearish) plus an overall market sentiment. Filter by asset (BTC, ETH, SOL, XRP, and more) to get only headlines about that coin. Built for trading and quant agents ",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "limit": 10,
        "asset": "BTC"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "cryptonews",
        "result": {
         "asset": "BTC",
         "count": 2,
         "overall_sentiment": "bullish",
         "sentiment_score": 0.42,
         "headlines": [
          {
           "title": "Bitcoin surges past resistance as ETF inflows hit record",
           "url": "https://www.coindesk.com/example",
           "source": "CoinDesk",
           "ts": "2026-07-08T09:12:00+00:00",
           "sentiment": "very_bullish",
           "score": 2.31
          },
          {
           "title": "Analysts warn of BTC pullback risk near key level",
           "url": "https://cointelegraph.com/example",
           "source": "CoinTelegraph",
           "ts": "2026-07-08T08:40:00+00:00",
           "sentiment": "bearish",
           "score": 1.08
          }
         ],
         "sources": [
          "CryptoPanic",
          "CoinDesk",
          "CoinTelegraph",
          "Decrypt",
          "BitcoinMagazine"
         ],
         "generated_at": "2026-07-08T09:15:00+00:00"
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Max headlines to return (default 10)"
           },
           "asset": {
            "type": "string",
            "description": "Optional ticker to filter headlines, e.g. BTC, ETH, SOL"
           }
          },
          "required": []
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/daily-intel-brief",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "100000",
     "amount": "100000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/daily-intel-brief",
     "description": "SYNTHORA daily-intel-brief: the daily intelligence briefing in ONE call — funding spreads cross-venue, stablecoin depeg radar, US funding stress (SOFR-EFFR), chokepoint status (PortWatch), narrative tension (GDELT), plus executive alerts. Each block declares its verified sources. What a trading agent reads every morning. $0.10 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "daily_intel_brief",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA daily-intel-brief: the daily intelligence briefing in ONE call — funding spreads cross-venue, stablecoin depeg radar, US funding stress (SOFR-EFFR), chokepoint status (PortWatch), narrative tension (GDELT), plus executive alerts. Each block declares its verified sources. What a trading agent reads every morning. $0.10 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/defi-llama-tvl-ranking",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/defi-llama-tvl-ranking",
     "description": "SYNTHORA defi-llama-tvl-ranking: Top DeFi protocols by TVL with rank, chain, category and 1d/7d change, capped list (default 50, max 200 via {\"limit\":N}). Source: api.llama.fi/protocols (DefiLlama), keyless, timestamped.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "limit": 50
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "defi_llama_tvl_ranking",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "limit": {
            "type": "integer",
            "description": "top N, default 50, max 200"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/defi-yields",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/defi-yields",
     "description": "SYNTHORA defi-yields: stablecoin DeFi yields ranked with a risk outlier detector — APY vs class median (>=3x median = the excess yield IS the risk price). Only pools with TVL >= $10M. Source: DefiLlama, free, no key. $0.005 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "defi_yields",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA defi-yields: stablecoin DeFi yields ranked with a risk outlier detector — APY vs class median (>=3x median = the excess yield IS the risk price). Only pools with TVL >= $10M. Source: DefiLlama, free, no key. $0.005 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/defidata",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/defidata",
     "description": "SYNTHORA defidata: deFi market-data feed: perp open interest, funding rate, mark price and a directional signal across top assets (BTC/ETH/SOL/…), plus optional per-asset verdict. Deterministic, Ed25519-signed. SYNTHORA. First 3 calls FREE per wallet — send header 'X-WALLET: 0x<your Base address>' (no payment).",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "slug": "defi-data",
        "limit": 5
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "defi_data",
        "result": {
         "slug": "defi-data",
         "count": 3,
         "feed": [
          {
           "asset": "BTC",
           "open_interest_usd": 2209942387.46,
           "funding_rate": 1.2e-05,
           "mark_price": 97500.0,
           "signal": "neutral"
          }
         ],
         "as_of": 1783322000,
         "signed": "ed25519"
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "slug": {
            "type": "string",
            "description": "Use defi-data for the top-assets feed"
           },
           "asset": {
            "type": "string",
            "description": "Ticker for single-asset detail, e.g. BTC"
           },
           "limit": {
            "type": "integer",
            "description": "Feed size (default all top assets)"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/deliver",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/deliver",
     "description": "Audit a domain's email deliverability and sender reputation. Checks SPF, DKIM selectors, DMARC policy strength (reject/quarantine/none), BIMI, MX and PTR records, returning a spam score and prioritized fixes. Use it to assess inbox placement, email authentication and domain reputation before sending. Deterministic DNS-only, Ed25519-signed. 0.001 USDC on Base. First 3 calls FREE per wallet — send header X-WALLET: 0x<your Base address> (no payment); then \\ per call.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "domain": "example.com"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "deliverability",
        "result": {
         "domain": "example.com",
         "spf": {},
         "dkim": {},
         "dmarc": {},
         "mx": [],
         "score": 100,
         "verdict": "good",
         "recommendations": []
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "domain": {
            "type": "string",
            "description": "Domain or email address to audit"
           }
          },
          "required": [
           "domain"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/derivbundle",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "320000",
     "amount": "320000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/derivbundle",
     "description": "002 call (cheaper + fewer round-trips than buying each separately) 5 live datasets, partial degradation (never fails whole), Ed25519-signed First 3 calls FREE per wallet via X-WALLET header SYNTHORA.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "asset": "BTC"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "derivbundle",
        "result": {
         "asset": "BTC",
         "datasets": {},
         "partial": false,
         "datasets_ok": 4,
         "datasets_total": 4
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "asset": {
            "type": "string",
            "description": "asset symbol e.g. BTC/ETH"
           }
          },
          "required": []
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/dex-pair-price",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/dex-pair-price",
     "description": "Real-time on-chain DEX price, liquidity and 24h volume for any pool/token on any chain via GeckoTerminal. For DeFi routing agents. Free source. $0.01 USDC via x402 on Base. SYNTHORA. First 3 calls FREE per wallet — send header X-WALLET: 0x<addr>. No charge on upstream failure.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "network": "base",
        "token_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "dex-pair-price",
        "result": {
         "price_usd": "1.0040515644",
         "volume_24h": null,
         "liquidity": null,
         "network": "base",
         "token_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
        },
        "provenance": {
         "source": "SYNTHORA DEX Pair Price",
         "url": "https://api.geckoterminal.com/api/v2/networks/base/tokens"
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "network": {
            "type": "string",
            "description": "network"
           },
           "token_address": {
            "type": "string",
            "description": "token_address"
           }
          },
          "required": [
           "network",
           "token_address"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/dispute-risk",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/dispute-risk",
     "description": "Resolution/dispute risk score (0-100) for Polymarket markets: UMA status (proposed/disputed), UMA bond and reward, rules-text ambiguity (length, deadline date, declared resolution source), top-3 holder concentration as a vote-manipulation proxy, and days to resolution. Pass a market_slug or condition_id for one market, or nothing to scan the top markets resolving in the next 14 days. Built for prediction agents that price resolution risk before trading. No charge on service failure. Ed25519-signed. $0.05 USDC per call via x402 on Base. Free trial: 3 calls per wallet with header X-WALLET.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "market_slug": "will-trump-win-the-2024-election"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "dispute_risk",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "const": "json"
         },
         "body": {
          "type": "object",
          "properties": {
           "market_slug": {
            "type": "string"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/domain-risk",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "30000",
     "amount": "30000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/domain-risk",
     "description": "SYNTHORA domain-risk: domain risk verdict (LIMPIO/SOSPECHOSO/PELIGROSO) with score, confidence and evidence signals — age, infra, reputation crosses. Pre-interaction safety for agents. $0.03 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "example.com"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "domain_risk",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA domain-risk: domain risk verdict (LIMPIO/SOSPECHOSO/PELIGROSO) with score, confidence and evidence signals — age, infra, reputation crosses. Pre-interaction safety for agents. $0.03 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/ecb-forex-fixing-vs-market",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/ecb-forex-fixing-vs-market",
     "description": "SYNTHORA ecb-forex-fixing-vs-market: ECB daily EUR/USD fixing vs live market rate: deviation in basis points, direction and >25bps alert. Sources: official ECB eurofxref-daily.xml + open.er-api.com, both keyless.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "protocol": "aave"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "ecb_forex_fixing_vs_market",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/ecb-macro",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/ecb-macro",
     "description": "SYNTHORA ecb-macro: official eurozone macro from the ECB data warehouse — HICP inflation, MRR policy rate, 10Y govt yield, each with previous value, change and direction. For macro/rates agents and prediction markets. Official free source, no key. $0.005 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "ecb_macro",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA ecb-macro: official eurozone macro from the ECB data warehouse — HICP inflation, MRR policy rate, 10Y govt yield, each with previous value, change and direction. For macro/rates agents and prediction markets. Official free source, no key. $0.005 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/emerging-protocols",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "30000",
     "amount": "30000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/emerging-protocols",
     "description": "SYNTHORA emerging-protocols: early detection of young DeFi protocols with accelerating TVL (on-chain momentum) before they get big — for MEV searchers and alpha bots. Ranked by momentum+acceleration+youth, mega-protocol noise filtered. Source: DeFiLlama. $0.03 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "emerging_protocols",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA emerging-protocols: early detection of young DeFi protocols with accelerating TVL (on-chain momentum) before they get big — for MEV searchers and alpha bots. Ranked by momentum+acceleration+youth, mega-protocol noise filtered. Source: DeFiLlama. $0.03 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/endpoint-trust",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/endpoint-trust",
     "description": "SYNTHORA endpoint-trust: trust verdict for any x402 endpoint before paying it — 402 correctness, valid accepts/payTo, bazaar extensions, agent-card published, latency. Observed behavior, not declarations. The pre-payment check for buying agents. $0.005 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "url": "https://api.hergertsynthora.com/v1/weather-now"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "endpoint_trust",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA endpoint-trust: trust verdict for any x402 endpoint before paying it — 402 correctness, valid accepts/payTo, bazaar extensions, agent-card published, latency. Observed behavior, not declarations. The pre-payment check for buying agents. $0.005 USDC x402 Base."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/exchange-rates-verified",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/exchange-rates-verified",
     "description": "SYNTHORA exchange-rates-verified: FX rates for 160+ currencies CROSS-VERIFIED between two independent sources (ECB official fixing via frankfurter.app vs market aggregate open.er-api.com) with per-currency deviation in bps and divergence alert >50 bps. The product is the discrepancy: a bad rate breaks a financial agent. Free sources, no key. $0.005 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "exchange_rates_verified",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA exchange-rates-verified: FX rates for 160+ currencies CROSS-VERIFIED between two independent sources (ECB official fixing via frankfurter.app vs market aggregate open.er-api.com) with per-currency deviation in bps and divergence alert >50 bps. The product is the discrepancy: a bad rate breaks a financial agent. Free sources, no key. $0.005 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/fear-greed",
   "accepts": [
    {
     "scheme": "exact",
     "network": "base",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/fear-greed",
     "description": "SYNTHORA fear-greed: indice de miedo/codicia con la VARIACION frente a ayer y el cruce de banda, no solo el valor. Fuente: alternative.me, fechada y con hash.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "latest"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "fear_greed",
        "result": {
         "value": 27,
         "classification": "Fear",
         "delta_vs_ayer": 2,
         "clasificacion_ayer": "Extreme Fear",
         "cambio_de_banda": true,
         "senal": "el indice cambia de 'Extreme Fear' a 'Fear': giro de regimen de sentimiento",
         "serie_8d": [
          27,
          25,
          "..."
         ],
         "minimo_8d": 25,
         "maximo_8d": 29,
         "as_of_utc": "2026-08-05T16:31:27Z",
         "fuente": "<omitido en el ejemplo publico>",
         "latencia_s": 0.33
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA fear-greed: indice de miedo/codicia con la VARIACION frente a ayer y el cruce de banda, no solo el valor. Fuente: alternative.me, fechada y con hash."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/fed-watch",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "10000",
     "amount": "10000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/fed-watch",
     "description": "SYNTHORA fed-watch: US reference-rate funding pulse — SOFR/EFFR/TGCR/BGCR/OBFR with volumes, percentile dispersion and the SOFR-EFFR spread (the funding-stress signal before it hits the news). Cross-check of 5 independent official NY Fed series. The input for Fed/CPI prediction markets. Free official source, no key. $0.01 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "fed_watch",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA fed-watch: US reference-rate funding pulse — SOFR/EFFR/TGCR/BGCR/OBFR with volumes, percentile dispersion and the SOFR-EFFR spread (the funding-stress signal before it hits the news). Cross-check of 5 independent official NY Fed series. The input for Fed/CPI prediction markets. Free official source, no key. $0.01 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/forex-convert",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/forex-convert",
     "description": "Convert any amount between 30+ currencies at real ECB rates. For payment and treasury agents pricing cross-currency. Free source. $0.05 USDC via x402 on Base. SYNTHORA. Pay-per-call via x402 on Base. No charge on upstream failure.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "from": "USD",
        "to": "EUR",
        "amount": 100
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "forex_convert",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "Convert any amount between 30+ currencies at real ECB rates. For payment and treasury agents pricing cross-currency. Free source. $0.05 USDC via x402 on Base. SYNTHORA. Pay-per-call via x402 on Base. No charge on upstream failure."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/forex-latest",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/forex-latest",
     "description": "SYNTHORA forex-latest: fX reference rate contrasted between the ECB official fixing (set once daily) and the live market rate, reporting the separation between them: how far the market has moved since the fixing, which is the only actionable part of an exchange rate.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "base": "EUR",
        "quote": "USD"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "forex_latest",
        "result": {
         "base": "EUR",
         "referencia_oficial_bce": {
          "fecha": "2026-08-05",
          "n_monedas": 29
         },
         "mercado": {
          "actualizado": "Wed, 05 Aug 2026 00:02:31 +0000",
          "n_monedas": 166
         },
         "rates_bce": {
          "AUD": 1.6385,
          "BRL": 5.9102,
          "CAD": 1.623,
          "CHF": 0.9345,
          "CNY": 7.7989,
          "CZK": 24.195,
          "DKK": 7.4753,
          "GBP": 0.8572,
          "HKD": 9.0619,
          "HUF": 362.08,
          "IDR": 20648.04,
          "ILS": 3.4672,
          "INR": 109.9045,
          "ISK": 141.8,
          "JPY": 182.08,
          "KRW": 1644.97,
          "MXN": 19.8867,
          "MYR": 4.7291,
          "NOK": 10.9835,
          "NZD": 1.968,
          "PHP": 70.192,
          "PLN": 4.306,
          "RON": 5.2469,
          "SEK": 10.9635,
          "SGD": 1.4806,
          "THB": 38.29,
          "TRY": 54.9691,
          "USD": 1.1554,
          "ZAR": 18.8869
         },
         "rates_mercado": {
          "EUR": 1,
          "AED": 4.232011,
          "AFN": 75.549134,
          "ALL": 93.329397,
          "AMD": 421.915192,
          "ANG": 2.062709,
          "AOA": 1088.376462,
          "ARS": 1724.437368,
          "AUD": 1.63793,
          "AWG": 2.062709,
          "AZN": 1.956781,
          "BAM": 1.95583,
          "BBD": 2.304703,
          "BDT": 142.576049,
          "BGN": 1.95583,
          "BHD": 0.433284,
          "BIF": 3442.510085,
          "BMD": 1.152351,
          "BND": 1.477595,
          "BOB": 14.011682,
          "BRL": 5.868903,
          "BSD": 1.152351,
          "BTN": 109.877947,
          "BWP": 16.204709,
          "BYN": 3.389592,
          "BZD": 2.304703,
          "CAD": 1.6206,
          "CDF": 2638.365672,
          "CHF": 0.93298,
          "CLF": 0.026942,
          "CLP": 1064.904486,
          "CNH": 7.778561,
          "CNY": 7.787379,
          "COP": 3723.186039,
          "CRC": 522.373003,
          "CUP": 27.656435,
          "CVE": 110.265,
          "CZK": 24.194494,
          "DJF": 204.797052,
          "DKK": 7.463753,
          "DOP": 66.955759,
          "DZD": 153.084495,
          "EGP": 57.82955,
          "ERN": 17.285272,
          "ETB": 186.172417,
          "FJD": 2.544716,
          "FKP": 0.857055,
          "FOK": 7.463751,
          "GBP": 0.857057,
          "GEL": 3.017354,
          "GGP": 0.857055,
          "GHS": 13.494188,
          "GIP": 0.857055,
          "GMD": 85.756404,
          "GNF": 10114.02705,
          "GTQ": 8.781522,
          "GYD": 240.99591,
          "HKD": 9.037731,
          "HNL": 30.862768,
          "HRK": 7.5345,
          "HTG": 150.507024,
          "HUF": 361.765494,
          "IDR": 20751.962929,
          "ILS": 3.47893,
          "IMP": 0.857055,
          "INR": 109.874635,
          "IQD": 1510.858974,
          "IRR": 1582507.823187,
          "ISK": 142.002117,
          "JEP": 0.857055,
          "JMD": 182.73931,
          "JOD": 0.817017,
          "JPY": 181.648823,
          "KES": 149.057515,
          "KGS": 100.856371,
          "KHR": 4651.855263,
          "KID": 1.637878,
          "KMF": 491.96775,
          "KRW": 1645.18697,
          "KWD": 0.355541,
          "KYD": 0.960292,
          "KZT": 543.30604,
          "LAK": 25801.791116,
          "LBP": 103135.454996,
          "LKR": 386.518526,
          "LRD": 207.805326,
          "LSL": 18.900272,
          "LYD": 7.337616,
          "MAD": 10.735388,
          "MDL": 20.078485,
          "MGA": 4932.7555,
          "MKD": 61.497,
          "MMK": 2418.335865,
          "MNT": 4126.80795,
          "MOP": 9.310159,
          "MRU": 46.287117,
          "MUR": 54.090047,
          "MVR": 17.791949,
          "MWK": 2009.05446,
          "MXN": 19.902212,
          "MYR": 4.715595,
          "MZN": 73.471199,
          "NAD": 18.900272,
          "NGN": 1567.942073,
          "NIO": 42.370296,
          "NOK": 10.998781,
          "NPR": 175.804716,
          "NZD": 1.959722,
          "OMR": 0.443076,
          "PAB": 1.152351,
          "PEN": 3.900601,
          "PGK": 5.081915,
          "PHP": 70.313166,
          "PKR": 320.460523,
          "PLN": 4.301167,
          "PYG": 6895.114172,
          "QAR": 4.194559,
          "RON": 5.24938,
          "RSD": 117.361262,
          "RUB": 93.47557,
          "RWF": 1693.884829,
          "SAR": 4.321318,
          "SBD": 9.157412,
          "SCR": 16.347125,
          "SDG": 514.615721,
          "SEK": 10.980164,
          "SGD": 1.477643,
          "SHP": 0.857055,
          "SLE": 27.852708,
          "SLL": 27848.111044,
          "SOS": 658.363128,
          "SRD": 43.673996,
          "SSP": 5821.174477,
          "STN": 24.5,
          "SYP": 140.078626,
          "SZL": 18.900272,
          "THB": 38.364732,
          "TJS": 10.620056,
          "TMT": 4.029916,
          "TND": 3.382699,
          "TOP": 2.742957,
          "TRY": 54.831365,
          "TTD": 8.032479,
          "TVD": 1.637878,
          "TWD": 37.329146,
          "TZS": 3022.872978,
          "UAH": 51.549832,
          "UGX": 4252.227177,
          "USD": 1.152535,
          "UYU": 46.360011,
          "UZS": 13714.153628,
          "VES": 870.044512,
          "VND": 30074.802625,
          "VUV": 137.09803,
          "WST": 3.107984,
          "XAF": 655.957,
          "XCD": 3.111349,
          "XCG": 2.062709,
          "XDR": 0.843604,
          "XOF": 655.957,
          "XPF": 119.332,
          "YER": 274.255895,
          "ZAR": 18.900503,
          "ZMW": 21.850443,
          "ZWG": 30.6678,
          "ZWL": 30.6678
         },
         "monedas_contrastadas": 29,
         "mayor_separacion": {
          "moneda": "BRL",
          "pct": -0.6987,
          "bce": 5.9102,
          "mercado": 5.868903
         },
         "separaciones_top5": [
          {
           "moneda": "BRL",
           "pct": -0.6987
          },
          {
           "moneda": "IDR",
           "pct": 0.5033
          },
          "..."
         ],
         "senal": "la mayor separacion entre la referencia oficial del BCE y el mercado esta en BRL: -0.6987% (BCE 5.910200 vs mercado 5.868903). Mide cuanto se ha movido el mercado desde la fijacion diaria del BCE.",
         "confianza": "alta",
         "degradacion": {
          "fuentes_vivas": 2,
          "de": 2,
          "fallos": []
         },
         "as_of_utc": "2026-08-05T16:31:27Z",
         "fuentes": "<2 fuentes independientes>",
         "latencia_s": 0.12
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA forex-latest: fX reference rate contrasted between the ECB official fixing (set once daily) and the live market rate, reporting the separation between them: how far the market has moved since the fixing, which is the only actionable part of an exchange rate."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/funding-rates",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/funding-rates",
     "description": "Real-time perpetual funding rates + mark price for any Binance futures symbol. Essential for delta-neutral and basis-trading agents. Free source, deterministic, instant JSON. $0.01 USDC via x402 on Base. SYNTHORA. First 3 calls FREE per wallet — send header X-WALLET: 0x<addr>. No charge on upstream failure.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "symbol": "BTCUSDT"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "funding-rates",
        "result": {
         "symbol": "BTCUSDT",
         "mark_price": "64266.30000000",
         "last_funding_rate": "0.00009163",
         "next_funding_time": 1783699200000
        },
        "provenance": {
         "source": "SYNTHORA Perp Funding Rates",
         "url": "https://fapi.binance.com/fapi/v1/premiumIndex"
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "symbol": {
            "type": "string",
            "description": "symbol"
           }
          },
          "required": [
           "symbol"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/funding-spread",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "30000",
     "amount": "30000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/funding-spread",
     "description": "SYNTHORA funding-spread: perp funding rates CROSSED across Binance, Bybit and OKX for top pairs — the max spread between venues and the theoretical carry direction (long where you receive, short where you pay). Funding arb signal, not a wrapper. 3 free public sources crossed. $0.03 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "funding_spread",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA funding-spread: perp funding rates CROSSED across Binance, Bybit and OKX for top pairs — the max spread between venues and the theoretical carry direction (long where you receive, short where you pay). Funding arb signal, not a wrapper. 3 free public sources crossed. $0.03 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/gas-oracle-multi",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/gas-oracle-multi",
     "description": "SYNTHORA gas-oracle-multi: gas price across 5 chains (ethereum, base, arbitrum, optimism, polygon), each VERIFIED by two independent public RPCs with divergence report — a single RPC can lie or lag; dual-verified is what you time transactions with. Free public RPCs, no key. $0.005 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "chain": "base"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "gas_oracle_multi",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA gas-oracle-multi: gas price across 5 chains (ethereum, base, arbitrum, optimism, polygon), each VERIFIED by two independent public RPCs with divergence report — a single RPC can lie or lag; dual-verified is what you time transactions with. Free public RPCs, no key. $0.005 USDC x402 Base."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/gdelt-tension",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/gdelt-tension",
     "description": "SYNTHORA gdelt-tension: geopolitical tension index for any topic/country — news-mention spike vs 7d baseline, average tone shift, escalation flag and the headlines causing it. The early signal for Polymarket geopolitical markets (high variance, high spread). Source: GDELT DOC 2.0 (100+ languages, free, no key), 6h-prefetched cache for reliability.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "query": "taiwan"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "gdelt_tension",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA gdelt-tension: geopolitical tension index for any topic/country — news-mention spike vs 7d baseline, average tone shift, escalation flag and the headlines causing it. The early signal for Polymarket geopolitical markets (high variance, high spread). Source: GDELT DOC 2.0 (100+ languages, free, no key), 6h-prefetched cache for reliability."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/github-repo-activity",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "10000",
     "amount": "10000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/github-repo-activity",
     "description": "SYNTHORA github-repo-activity: Activity metrics for any public GitHub repo (input owner/repo): stars, forks, open issues, last push, language, archived flag. 10-min in-process cache, stale-on-rate-limit or ok:false. Source: api.github.com, keyless.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "torvalds/linux"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "github_repo_activity",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "owner/repo"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/headers-audit",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/headers-audit",
     "description": "SYNTHORA headers-audit: HTTP security headers + TLS audit for any URL — missing headers, score 0-100, cookie flags. $0.005 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "example.com"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "headers_audit",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA headers-audit: HTTP security headers + TLS audit for any URL — missing headers, score 0-100, cookie flags. $0.005 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/historical-weather",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/historical-weather",
     "description": "SYNTHORA historical-weather: verified historical weather for any place and date (1940 → ~5 days ago) from the ERA5 reanalysis — tmax/tmin, precipitation, max wind. For climate-market backtesting and claim verification. Source: open-meteo archive, free, no key. $0.005 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "place": "Casablanca",
        "date": "2026-08-01"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "historical_weather",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA historical-weather: verified historical weather for any place and date (1940 → ~5 days ago) from the ERA5 reanalysis — tmax/tmin, precipitation, max wind. For climate-market backtesting and claim verification. Source: open-meteo archive, free, no key. $0.005 USDC x402 Base."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/hurricane-odds",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "6000",
     "amount": "6000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/hurricane-odds",
     "description": "SYNTHORA hurricane-odds: active tropical cyclones CROSS-VERIFIED — official NHC bulletin (category, wind, pressure, movement) crossed with an independent model (ECMWF via open-meteo) at the storm position; discrepancies >15 kt flagged. The input for Polymarket weather/climate markets. Sources: NHC + ECMWF, free, no key. $0.006 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "hurricane_odds",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA hurricane-odds: active tropical cyclones CROSS-VERIFIED — official NHC bulletin (category, wind, pressure, movement) crossed with an independent model (ECMWF via open-meteo) at the storm position; discrepancies >15 kt flagged. The input for Polymarket weather/climate markets. Sources: NHC + ECMWF, free, no key. $0.006 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/identity-risk",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "320000",
     "amount": "320000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/identity-risk",
     "description": "SYNTHORA identity-risk: brand-impersonation verdict (AUTHENTIC / DOUBTFUL / ACTIVE_IMPERSONATION) over decentralised social identities, correlated across independent sources.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "vitalik.eth"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "identity_risk",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA identity-risk: brand-impersonation verdict (AUTHENTIC / DOUBTFUL / ACTIVE_IMPERSONATION) over decentralised social identities, correlated across independent sources."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/inference",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "20000",
     "amount": "20000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/inference",
     "description": "SYNTHORA Inference Router: pay-per-prompt LLM inference, no API keys to manage. Sovereign constitution-tuned SYNTHORA-Qwen model, local, Ed25519-signed output. POST {\"prompt\":\"...\",\"system\":\"...\",\"max_tokens\":200}.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "prompt": "Summarize the x402 protocol in one sentence",
        "max_tokens": 256
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "inference",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "const": "json"
         },
         "body": {
          "type": "object",
          "properties": {
           "prompt": {
            "type": "string"
           },
           "max_tokens": {
            "type": "number"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/insider-radar",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "30000",
     "amount": "30000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/insider-radar",
     "description": "Insider-style trade detection on Polymarket: scans the latest large fills (min_usd, default 10000 USD) over lookback_hours (default 24) and flags wallets that are fresh (few lifetime trades), sized big vs the market 24h volume, or entered at extreme odds right before the market moved. Each alert carries wallet, market, size, tx hash, a 0-100 severity score and explicit reasons; approximations are declared in the methodology field. For prediction agents tracking informed money",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "min_usd": 10000,
        "lookback_hours": 24,
        "limit": 25
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "insider_radar",
        "result": {
         "alerts": [
          {
           "wallet": "0x...",
           "market": "...",
           "market_slug": "...",
           "side": "BUY",
           "outcome": "Yes",
           "size": 20000.0,
           "price": 0.12,
           "usd_value": 2400.0,
           "wallet_trade_count": 2,
           "market_volume_24h_usd": 80000.0,
           "market_24h_change": 0.18,
           "severity": 75,
           "reasons": [
            "fresh wallet: only 2 trade(s) on record"
           ],
           "timestamp_utc": "...",
           "tx": "0x..."
          }
         ],
         "count": 12,
         "fills_scanned": 180,
         "min_usd": 10000,
         "lookback_hours": 24,
         "methodology": "..."
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "min_usd": {
            "type": "number",
            "description": "Minimum trade size USD (default 10000)"
           },
           "lookback_hours": {
            "type": "number",
            "description": "Hours to look back (1-168, default 24)"
           },
           "limit": {
            "type": "integer",
            "description": "Max alerts (1-100, default 25)"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/lifi-bridge-route-quote",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "100000",
     "amount": "100000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/lifi-bridge-route-quote",
     "description": "Returns the best cross-chain bridge/swap route for a given source chain, destination chain, tokens and amount from LI.FI, including chosen bridge tool, estimated output, fees and gas. Powers autonomous cross-chain agents and agent-to-agent treasury movers that pick the cheapest, fastest bridge path for a transfer. Pay-per-call via x402 on Base. No charge on upstream failure.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "fromChain": "8453",
        "toChain": "1",
        "fromToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "toToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
        "fromAmount": "1000000",
        "fromAddress": "0x15d30032981a77164ee9546542Ae4becDAc81cc8"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "lifi_bridge_route_quote",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "Returns the best cross-chain bridge/swap route for a given source chain, destination chain, tokens and amount from LI.FI, including chosen bridge tool, estimated output, fees and gas. Powers autonomous cross-chain agents and agent-to-agent treasury movers that pick the cheapest, fastest bridge path for a transfer. Pay-per-call via x402 on Base. No charge on upstream failure."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/llm-fast",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/llm-fast",
     "description": "SYNTHORA LLM Gateway FAST: OpenAI-compatible /v1/chat/completions pay-per-call, no API keys. Fast free-tier models (llama-3.1-8b class) with automatic upstream failover, Ed25519-signed. 0.005 USDC via x402 on Base. POST {\"messages\":[{\"role\":\"user\",\"content\":\"...\"}]} (or {\"prompt\":\"...\"}).",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "model": "llm-fast",
        "messages": [
         {
          "role": "user",
          "content": "Say hello in one word"
         }
        ]
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "llm_fast",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "model": {
            "type": "string",
            "description": "Etiqueta aceptada; el tier fija el modelo real"
           },
           "messages": {
            "type": "array",
            "items": {
             "type": "object"
            },
            "description": "OpenAI chat messages"
           },
           "prompt": {
            "type": "string",
            "description": "Atajo sin messages"
           },
           "system": {
            "type": "string",
            "description": "System prompt opcional (con prompt)"
           },
           "max_tokens": {
            "type": "integer",
            "description": "Max output tokens (default 256, cap 1024)"
           },
           "temperature": {
            "type": "number"
           }
          },
          "anyOf": [
           {
            "required": [
             "messages"
            ]
           },
           {
            "required": [
             "prompt"
            ]
           }
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/llm-smart",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/llm-smart",
     "description": "SYNTHORA LLM Gateway SMART: OpenAI-compatible /v1/chat/completions pay-per-call, no API keys. Large free-tier models (llama-3.3-70b class) with automatic upstream failover, Ed25519-signed. 0.005 USDC via x402 on Base. POST {\"messages\":[{\"role\":\"user\",\"content\":\"...\"}]} (or {\"prompt\":\"...\"}).",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "model": "llm-smart",
        "messages": [
         {
          "role": "user",
          "content": "Say hello in one word"
         }
        ]
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "llm_smart",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "model": {
            "type": "string",
            "description": "Etiqueta aceptada; el tier fija el modelo real"
           },
           "messages": {
            "type": "array",
            "items": {
             "type": "object"
            },
            "description": "OpenAI chat messages"
           },
           "prompt": {
            "type": "string",
            "description": "Atajo sin messages"
           },
           "system": {
            "type": "string",
            "description": "System prompt opcional (con prompt)"
           },
           "max_tokens": {
            "type": "integer",
            "description": "Max output tokens (default 256, cap 1024)"
           },
           "temperature": {
            "type": "number"
           }
          },
          "anyOf": [
           {
            "required": [
             "messages"
            ]
           },
           {
            "required": [
             "prompt"
            ]
           }
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/macro-surprise",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/macro-surprise",
     "description": "SYNTHORA macro surprise index: z-score of the latest change vs the trailing 12-change distribution for official ECB series (HICP inflation, MRR policy rate, 10Y yield). Flags strong/moderate surprises the moment official data prints. Partial degradation, Ed25519-signed. First 3 calls FREE per wallet via X-WALLET header. 0.05 USDC via x402 on Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {},
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "macro_surprise",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "const": "json"
         },
         "body": {
          "type": "object",
          "properties": {}
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/macrobundle",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "100000",
     "amount": "100000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/macrobundle",
     "description": "SYNTHORA macro intel bundle: 7 live macro/market datasets in ONE call (commodity macro, market sentiment, stablecoin supply, ECB forex fixing vs market, DeFi TVL ranking, top crypto, bitcoin fees). Cheaper than buying each separately. Partial degradation (never fails whole), Ed25519-signed. First 3 calls FREE per wallet via X-WALLET header. 0.10 USDC via x402 on Base. SYNTHORA.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {},
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "macro_bundle",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "const": "json"
         },
         "body": {
          "type": "object",
          "properties": {}
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/mailcheck",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/mailcheck",
     "description": "Verify whether an email address is real and safe to send to. Checks RFC syntax, live MX records, catch-all and disposable/temporary domains, role accounts (info@, admin@), free providers and common typos, returning a deliverability status and confidence score. Use it to validate and enrich contacts, clean email lists and prevent bounces. Deterministic, Ed25519-signed. 0.001 USDC on Base. First 3 calls FREE per wallet — send header 'X-WALLET: 0x<your Base address>' (no payment",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "email": "user@example.com"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "mailcheck",
        "result": {
         "email": "user@example.com",
         "status": "deliverable",
         "deliverable_hint": true,
         "confidence": 90,
         "mx_found": true
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "email": {
            "type": "string",
            "description": "Email address to verify"
           }
          },
          "required": [
           "email"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/marine-wave-forecast",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/marine-wave-forecast",
     "description": "SYNTHORA marine-wave-forecast: sea state for any coast/port or chokepoint (Hormuz, Suez, Panama, Malacca, Gibraltar, Bab el-Mandeb, Dover presets) — wave height, period, swell, Douglas-scale verdict and navigability flag. Complements chokepoint-transits for shipping disruption markets. Source: open-meteo Marine (ECMWF/NOAA WaveWatch III, no key). $0.005 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "marine_wave_forecast",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA marine-wave-forecast: sea state for any coast/port or chokepoint (Hormuz, Suez, Panama, Malacca, Gibraltar, Bab el-Mandeb, Dover presets) — wave height, period, swell, Douglas-scale verdict and navigability flag. Complements chokepoint-transits for shipping disruption markets. Source: open-meteo Marine (ECMWF/NOAA WaveWatch III, no key). $0.005 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/market-dominance",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/market-dominance",
     "description": "SYNTHORA market-dominance: BTC and ETH market dominance contrasted between TWO independent providers (CoinGecko and Coinlore), reporting the discrepancy in percentage points and a confidence grade — you get not just the number but whether the number can be trusted. Deterministic, Ed25519-signed. $0.05 USDC on Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "latest"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "market_dominance",
        "result": {
         "activo": "BTC",
         "dominancia_pct": {
          "observador_1": 56.5425644813439,
          "observador_2": 58.59
         },
         "discrepancia_pp": 2.0474,
         "senal": "DISCREPANCIA de 2.0474 pp entre los dos observadores sobre la dominancia de BTC: difieren en que universo de monedas cuentan; usa el dato con reserva",
         "confianza": "media",
         "mercado": {
          "mcap_total_usd__observador_1": 2295392767065.4966,
          "mcap_total_usd__observador_2": 2204884145726.574,
          "vol_24h_usd__observador_1": 56761379043.38263,
          "cambio_mcap_24h_pct": 0.7526734248279898
         },
         "dominancia_completa__observador_1": {
          "btc": 56.5425644813439,
          "eth": 10.09653383187638,
          "usdt": 7.973493292224553,
          "bnb": 3.4844691054792953,
          "usdc": 3.131389199794474,
          "xrp": 2.916078335417036,
          "sol": 1.8882736582960438,
          "trx": 1.3550254187552544,
          "figr_heloc": 0.944722954428762,
          "steth": 0.789703952729928
         },
         "degradacion": {
          "fuentes_vivas": 2,
          "de": 2,
          "fallos": []
         },
         "as_of_utc": "2026-08-05T18:32:32Z",
         "observadores": {
          "n": 2,
          "clase": "proveedores independientes de datos de mercado",
          "independencia": "distinto universo de monedas contadas"
         },
         "latencia_s": 0.34
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA market-dominance: BTC and ETH market dominance contrasted between TWO independent providers (CoinGecko and Coinlore), reporting the discrepancy in percentage points and a confidence grade — you get not just the number but whether the number can be trusted. Deterministic, Ed25519-signed. $0.05 USDC on Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/market-resolution",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "10000",
     "amount": "10000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/market-resolution",
     "description": "Canonical resolution status for one Polymarket market (market_slug or condition_id required): market state (active/resolving/closed), UMA resolution statuses (proposed/disputed), end date and hours to resolution, declared resolution source plus sources found in the rules text, current outcome prices, UMA bond/reward and estimated payout per outcome (1.00 USDC per winning share, implied EV). The call a prediction bot makes before and after trading a market. No charge on service failure. Ed25519-signed. $0.01 USDC per call via x402 on Base. Free trial: 3 calls per wallet with header X-WALLET.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "market_slug": "will-trump-win-the-2024-election"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "market_resolution",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "const": "json"
         },
         "body": {
          "type": "object",
          "properties": {
           "market_slug": {
            "type": "string"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/market-sentiment",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "30000",
     "amount": "30000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/market-sentiment",
     "description": "Get real-time market sentiment signals via x402 M2M API. Signed x402 call. 0.03 USDC on Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "0x0000000000000000000000000000000000000000"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "market_sentiment",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "Get real-time market sentiment signals via x402 M2M API. Signed x402 call. 0.03 USDC on Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/mcpscan",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/mcpscan",
     "description": "MCP Server Security Scan: probes an MCP server (JSON-RPC initialize + tools/list) and applies a deterministic rule engine over its tools — embedded secrets, dangerous shell/exec/filesystem capabilities, prompt-injection surface, hidden unicode, permissive input schemas, and auth/TLS/CORS headers — returning a security_score + findings[]. The trust layer for the agent economy. Zero-LLM, Ed25519-signed. 0.05 USDC via x402 on Base. SYNTHORA.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "manifest": {
         "name": "demo-mcp",
         "version": "1.0.0",
         "tools": [
          {
           "name": "search",
           "description": "web search"
          },
          {
           "name": "fetch",
           "description": "http fetch"
          }
         ]
        }
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "mcp_scan",
        "result": {
         "target": "https://mcp.example.dev/mcp",
         "security_score": 14,
         "verdict": "critico",
         "tools_scanned": 2,
         "counts": {
          "critical": 1,
          "high": 2,
          "medium": 2,
          "low": 0
         },
         "findings": [
          {
           "id": "MCP-S01",
           "severity": "critical",
           "tool": "read_file",
           "rule": "secret_in_manifest",
           "detail": "openai_key embedded in tool"
          }
         ],
         "signed": "ed25519"
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "url": {
            "type": "string",
            "description": "MCP server URL (Streamable-HTTP endpoint)"
           },
           "manifest": {
            "type": "object",
            "description": "Or paste the MCP manifest (serverInfo + tools) directly"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/mtasts",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/mtasts",
     "description": "SYNTHORA mtasts: sMTP transport-security audit: MTA-STS (RFC 8461) + TLS-RPT (RFC 8460). Resolves the policy DNS records, fetches and parses the well-known policy file, cross-validates the policy mx: patterns against the domain's real MX, and returns an enforce/report verdict. Complements SPF/DKIM/DMARC auditing with the TLS transport layer. Deterministic, Ed25519-signed. SYNTHORA.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "op": "check",
        "domain": "example.com"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "mtasts",
        "result": {
         "domain": "example.com",
         "mta_sts": {
          "dns_present": true,
          "policy_reachable": true,
          "mode": "enforce",
          "max_age": 604800,
          "mx": [
           "*.mail.example.com"
          ],
          "mx_matches_dns": true
         },
         "tls_rpt": {
          "present": true
         },
         "score": 100,
         "verdict": "enforced+reporting",
         "issues": []
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "op": {
            "type": "string",
            "enum": [
             "check",
             "mtasts",
             "tlsrpt"
            ],
            "description": "Audit scope (default check = full)"
           },
           "domain": {
            "type": "string",
            "description": "Domain or email address to audit"
           }
          },
          "required": [
           "domain"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/noaa-tides",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/noaa-tides",
     "description": "SYNTHORA noaa-tides: tide and water level for US ports/stations, VERIFIED by crossing NOAA harmonic prediction with the LIVE observation at the same station — the anomaly (observed minus predicted) is the storm-surge/port-disruption signal. Source: NOAA CO-OPS official, free, no key. $0.005 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "station": "galveston"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "noaa_tides",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA noaa-tides: tide and water level for US ports/stations, VERIFIED by crossing NOAA harmonic prediction with the LIVE observation at the same station — the anomaly (observed minus predicted) is the storm-surge/port-disruption signal. Source: NOAA CO-OPS official, free, no key. $0.005 USDC x402 Base."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/ohlcv-candles",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/ohlcv-candles",
     "description": "Real-time and historical OHLCV candles (open/high/low/close/volume) for any crypto pair, any interval. For backtesting and signal agents. Free source. $0.01 USDC via x402 on Base. SYNTHORA. First 3 calls FREE per wallet — send header X-WALLET: 0x<addr>. No charge on upstream failure.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "symbol": "ETHUSDT",
        "interval": "1h",
        "limit": 24
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "ohlcv-candles",
        "result": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "symbol": {
            "type": "string",
            "description": "symbol"
           },
           "interval": {
            "type": "string",
            "description": "interval"
           },
           "limit": {
            "type": "integer",
            "description": "limit"
           }
          },
          "required": [
           "symbol",
           "interval",
           "limit"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/onchain",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/onchain",
     "description": "SYNTHORA Onchain Primitives: multichain (Base/Ethereum/Polygon/Arbitrum/Optimism) transaction receipts, tx lookup, wallet nonce, contract/proxy (EIP-1967) detection, ENS resolution, ERC20 + native balances, contract introspection. Deterministic, Ed25519-signed. 0.001 USDC via x402 on Base. First 3 calls FREE per wallet — send header 'X-WALLET: 0x<your Base address>' (no payment); after that 0.001 USDC per call.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "op": "ens",
        "name": "vitalik.eth"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "onchain",
        "result": {
         "name": "vitalik.eth",
         "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
         "found": true,
         "op": "ens",
         "signed": "ed25519"
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "op": {
            "type": "string",
            "enum": [
             "ens",
             "receipt",
             "tx",
             "nonce",
             "code",
             "proxy",
             "balance",
             "erc20-balance",
             "contract",
             "network"
            ],
            "description": "Operation to perform"
           },
           "chain": {
            "type": "string",
            "enum": [
             "base",
             "ethereum",
             "polygon",
             "arbitrum",
             "optimism"
            ],
            "description": "Chain (default ethereum)"
           },
           "hash": {
            "type": "string",
            "description": "Tx hash 0x… (receipt/tx)"
           },
           "address": {
            "type": "string",
            "description": "Address 0x… (nonce/code/proxy/balance/contract)"
           },
           "token": {
            "type": "string",
            "description": "ERC20 token address (erc20-balance)"
           },
           "name": {
            "type": "string",
            "description": "ENS name e.g. vitalik.eth (ens)"
           }
          },
          "required": [
           "op"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/openinterest",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "100000",
     "amount": "100000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/openinterest",
     "description": "SYNTHORA Open Interest Oracle: live perpetual futures open interest, funding rates, mark price, premium and crowded long/short signal for 230+ assets via Hyperliquid. Ed25519-signed. First 3 calls FREE per wallet — send header 'X-WALLET: 0x<your Base address>' (no payment).",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "asset": "BTC"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "open_interest",
        "result": {
         "asset": "BTC",
         "open_interest_usd": 2260000000.0,
         "funding_rate": 1.25e-05,
         "mark_price": 97500.0,
         "signal": "neutral",
         "signed": "ed25519"
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "asset": {
            "type": "string",
            "description": "Perp symbol e.g. BTC, ETH, SOL. Omit for top-10 by OI"
           }
          },
          "required": []
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/payto-preflight",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/payto-preflight",
     "description": "x402 PayTo Pre-Flight: verify a payTo address against the live registry before paying. Detects payTo hijacking, stale endpoints and unknown resources. Deterministic, <200ms, no external network. 0.005 USDC via x402 on Base. SYNTHORA.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "endpoint_url": "https://onchain.hergertsynthora.com/service",
        "expected_payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
        "chain": "eip155:8453"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "payto_preflight",
        "result": {
         "verdict": "safe",
         "endpoint": "https://onchain.hergertsynthora.com/service",
         "live_payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
         "expected_payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
         "matched": true,
         "active": true,
         "freshness_s": 120,
         "network": "eip155:8453",
         "chain_ok": true,
         "price_usd": 0.001,
         "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
         "match_kind": "exact",
         "source": "scout_resource",
         "checked_at": "2026-08-07T21:00:00Z",
         "reason": "payTo vivo coincide con el esperado, endpoint active y fresco"
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "endpoint_url": {
            "type": "string",
            "description": "endpoint resource URL to verify"
           },
           "expected_payTo": {
            "type": "string",
            "description": "expected payTo address (0x...)"
           },
           "chain": {
            "type": "string",
            "description": "expected chain, e.g. eip155:8453"
           }
          },
          "required": [
           "endpoint_url"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/perps",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "20000",
     "amount": "20000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/perps",
     "description": "SYNTHORA Perps Snapshot: live Hyperliquid perpetual futures snapshot per asset — mark price, oracle price, hourly funding rate (with 8h and APR derivations), open interest (USD), premium and 24h volume for 230+ perps, keyless. Complements the Open Interest oracle with the raw single-shot data a trading agent needs. Ed25519-signed.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "asset": "BTC"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "perps",
        "result": {
         "asset": "BTC",
         "mark": 97500.0,
         "oracle": 97490.0,
         "funding_rate": 1.25e-05,
         "open_interest": 2260000000.0,
         "premium": 0.0001,
         "day_volume": 1850000000.0,
         "funding_apr_pct": 10.95,
         "signed": "ed25519"
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "asset": {
            "type": "string",
            "description": "Perp symbol e.g. BTC, ETH, SOL. Omit for top-10 by open interest"
           },
           "limit": {
            "type": "integer",
            "description": "Rows when no asset given (1-50, default 10)"
           },
           "history": {
            "type": "boolean",
            "description": "Include recent 8h funding history for the asset (default true)"
           }
          },
          "required": []
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/polymarket-markets",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/polymarket-markets",
     "description": "Search prediction markets ACROSS PLATFORMS (Polymarket + Kalshi) in one call: live prices, implied probability, volume, liquidity, end date and market conviction. Server-side search that actually finds the market (bitcoin, fed, election, geopolitics). For trading and forecasting agents tracking event odds. $0.05 USDC x402 Base. Input: {\"input\": \"bitcoin\"} (optional filter). Ed25519-signed.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "bitcoin"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "polymarket_markets",
        "result": {
         "filtro": "bitcoin",
         "sin_coincidencias": true,
         "nota": "ningun mercado activo coincide con ese filtro; no se devuelven otros para no dar por bueno lo que no se pidio",
         "n_mercados": 0,
         "mercados_minados__observador_1": 0,
         "markets": [],
         "as_of_utc": "2026-08-05T16:31:36Z",
         "fuente": "<omitido en el ejemplo publico>",
         "latencia_s": 0.19
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "Search prediction markets ACROSS PLATFORMS (Polymarket + Kalshi) in one call: live prices, implied probability, volume, liquidity, end date and market conviction. Server-side search that actually finds the market (bitcoin, fed, election, geopolitics). For trading and forecasting agents tracking event odds. $0.05 USDC x402 Base. Input: {\"input\": \"bitcoin\"} (optional filter). Ed25519-signed."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/polymarket-odds-movers",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "100000",
     "amount": "100000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/polymarket-odds-movers",
     "description": "Polymarket odds movers: active markets ranked by biggest price swing in the last 1h / 24h / 1wk (window param), with yes price, change and direction, best bid/ask, spread, 24h volume, liquidity and end date. The momentum signal prediction bots scan before entering a market. No charge on service failure. Ed25519-signed. $0.10 USDC per call via x402 on Base. Free trial: 3 calls per wallet with header X-WALLET.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "window": "24h",
        "limit": 15,
        "min_volume": 10000
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "polymarket_odds_movers",
        "result": {
         "movers": [
          {
           "question": "...",
           "slug": "...",
           "change": 0.21,
           "direction": "up",
           "yes_price": 0.63,
           "spread": 0.01,
           "volume_24h_usd": 150000.0,
           "liquidity_usd": 80000.0,
           "end_date": "..."
          }
         ],
         "count": 15,
         "window": "24h",
         "markets_scanned": 400,
         "up_count": 9,
         "down_count": 6,
         "biggest_move_abs": 0.45
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "window": {
            "type": "string",
            "description": "1h | 24h | 1wk (default 24h)"
           },
           "limit": {
            "type": "integer",
            "description": "Max markets (1-50, default 15)"
           },
           "min_volume": {
            "type": "number",
            "description": "Min 24h volume USD (default 10000)"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/polymarket-resolution-watch",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "100000",
     "amount": "100000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/polymarket-resolution-watch",
     "description": "Polymarket resolution watch: markets ending within N days (default 7) with UMA resolution status (proposed/disputed), UMA bond and reward, hours to resolution, last price, 24h volume, liquidity and a uma_risk flag for contested or undecided resolutions. Lets prediction agents avoid or exploit resolution risk. No charge on service failure. Ed25519-signed. $0.10 USDC per call via x402 on Base. Free trial: 3 calls per wallet with header X-WALLET.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "days": 7,
        "limit": 20,
        "min_volume": 0
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "polymarket_resolution_watch",
        "result": {
         "markets": [
          {
           "question": "...",
           "slug": "...",
           "end_date": "...",
           "hours_to_resolution": 5.2,
           "uma_statuses": [
            "proposed"
           ],
           "uma_risk": true,
           "uma_bond": "250",
           "uma_reward": "1.5",
           "yes_price": 0.98,
           "volume_24h_usd": 50000.0
          }
         ],
         "count": 20,
         "days_ahead": 7,
         "uma_risk_count": 4
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "days": {
            "type": "number",
            "description": "Days ahead to scan (0-60, default 7)"
           },
           "limit": {
            "type": "integer",
            "description": "Max markets (1-100, default 20)"
           },
           "min_volume": {
            "type": "number",
            "description": "Min 24h volume USD (default 0)"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/polymarket-trades",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "10000",
     "amount": "10000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/polymarket-trades",
     "description": "Historical Polymarket trade query with filters plus per-wallet aggregation. $0.01 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "limit": 5
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "polymarket_trades",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "const": "json"
         },
         "body": {
          "type": "object",
          "properties": {
           "limit": {
            "type": "number"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/polymarket-whales",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "150000",
     "amount": "150000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/polymarket-whales",
     "description": "Live whale-tracking on Polymarket: the latest large trades (default >= 5000 USD, tunable via min_usd) with wallet, side, outcome, size, price, USD value, market title/slug and tx hash, straight from Polymarket public trades data API. Built for prediction-market agents that track smart money before trading. No charge on service failure. Ed25519-signed. $0.15 USDC per call via x402 on Base. Free trial: 3 calls per wallet with header X-WALLET.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "min_usd": 10000,
        "limit": 20,
        "side": "all"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "polymarket_whales",
        "result": {
         "whale_trades": [
          {
           "wallet": "0x...",
           "side": "BUY",
           "outcome": "Yes",
           "size": 10000.0,
           "price": 0.62,
           "usd_value": 6200.0,
           "market": "...",
           "market_slug": "...",
           "timestamp_utc": "...",
           "tx": "0x..."
          }
         ],
         "count": 20,
         "min_usd": 10000,
         "total_usd": 250000.0,
         "unique_wallets": 14,
         "top_markets_by_whale_usd": []
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "min_usd": {
            "type": "number",
            "description": "Minimum trade size in USD (default 5000)"
           },
           "limit": {
            "type": "integer",
            "description": "Max trades to return (1-100, default 25)"
           },
           "side": {
            "type": "string",
            "description": "buy | sell | all (default all)"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/port-watch",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "10000",
     "amount": "10000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/port-watch",
     "description": "SYNTHORA port-watch: daily port activity for any of 2,065 ports (Shanghai, Singapore, Rotterdam, LA, Long Beach presets + any name) — port calls, estimated import/export capacity (dwt), 7d moving average vs 30d baseline deviation and anomaly flag. Port volume leads official macro data by weeks: the input for trade/tariff/recession markets. Source: IMF PortWatch (satellite AIS, free, no key). $0.01 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "port": "rotterdam"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "port_watch",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA port-watch: daily port activity for any of 2,065 ports (Shanghai, Singapore, Rotterdam, LA, Long Beach presets + any name) — port calls, estimated import/export capacity (dwt), 7d moving average vs 30d baseline deviation and anomaly flag. Port volume leads official macro data by weeks: the input for trade/tariff/recession markets. Source: IMF PortWatch (satellite AIS, free, no key). $0.01 USDC x402 Base."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/prediction-markets",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/prediction-markets",
     "description": "Search prediction markets ACROSS PLATFORMS (Polymarket + Kalshi) in one call: live prices, implied probability, volume, liquidity, end date and market conviction. Server-side search that actually finds the market (bitcoin, fed, election, geopolitics). For trading and forecasting agents tracking event odds. $0.05 USDC x402 Base. Input: {\"input\": \"bitcoin\"} (optional filter). Ed25519-signed.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "limit": 10,
        "source": "all",
        "min_liquidity": 1000
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "prediction_markets",
        "result": {
         "markets": [
          {
           "exchange": "polymarket",
           "id": "559651",
           "question": "Xi Jinping out before 2027?",
           "probability_yes": 0.05,
           "spread": 0.01,
           "liquidity_usd": 278050.28,
           "volume_usd": 1234567.89,
           "end_date": "2026-12-31T00:00:00Z"
          }
         ],
         "count": 1,
         "source": "all",
         "total_liquidity_usd": 278050.28,
         "freshness_utc": "2026-08-07T12:00:00Z"
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "limit": {
            "type": "integer",
            "description": "max markets to return (1-50, default 10)"
           },
           "source": {
            "type": "string",
            "enum": [
             "all",
             "polymarket",
             "kalshi"
            ],
            "description": "exchange filter"
           },
           "min_liquidity": {
            "type": "number",
            "description": "minimum liquidity in USD (default 1000)"
           }
          },
          "required": []
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/prediction",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "100000",
     "amount": "100000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/prediction",
     "description": "Prediction Market Probability Oracle — real Polymarket odds (p_yes/p_no, volume, liquidity), not LLM guesses. POST a question; Ed25519-signed. For agents needing calibrated event probabilities.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "0x0000000000000000000000000000000000000000"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "prediction_oracle",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "Prediction Market Probability Oracle — real Polymarket odds (p_yes/p_no, volume, liquidity), not LLM guesses. POST a question; Ed25519-signed. For agents needing calibrated event probabilities."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/protocol-revenue-lite",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "10000",
     "amount": "10000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/protocol-revenue-lite",
     "description": "SYNTHORA protocol-revenue-lite: Protocol Revenue Lite: live protocol REVENUE (24h/7d/30d + 1d/7d change) for any DefiLlama protocol slug, from api.llama.fi. POST {\"protocol\":\"aave\"}.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "protocol": "aave"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "protocol_revenue_lite",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "protocol": {
            "type": "string",
            "description": "DefiLlama protocol slug, e.g. aave"
           }
          },
          "required": [
           "protocol"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/protocol-revenue",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/protocol-revenue",
     "description": "Real-time fee revenue and 24h/7d/30d earnings for any DeFi protocol via DefiLlama Fees API.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "protocol": "uniswap"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "protocol_revenue",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "Real-time fee revenue and 24h/7d/30d earnings for any DeFi protocol via DefiLlama Fees API."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/protocol-tvl",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "20000",
     "amount": "20000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/protocol-tvl",
     "description": "SYNTHORA protocol-tvl: tVL de un protocolo con su CUOTA sobre el TVL total y su puesto en el ranking: contexto que el dato suelto no da.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "protocol": "lido"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "protocol_tvl",
        "result": {
         "protocol": "lido",
         "tvl_usd": 17522595363.252792,
         "cuota_sobre_tvl_total_pct": 3.6007,
         "puesto_por_tvl": 4,
         "tvl_total_defi_usd": 486638092376.16034,
         "senal": "concentra el 3.6007% del TVL DeFi total y ocupa el puesto 4",
         "as_of_utc": "2026-08-05T16:31:36Z",
         "fuente": "<omitido en el ejemplo publico>",
         "latencia_s": 0.52
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA protocol-tvl: tVL de un protocolo con su CUOTA sobre el TVL total y su puesto en el ranking: contexto que el dato suelto no da."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/registry-watch",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "30000",
     "amount": "30000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/registry-watch",
     "description": "SYNTHORA registry-watch: pay-per-event feed of signed Ed25519 deltas from the x402/M2M endpoint registry — new and changed endpoints, payTos and listings. Pull with {\"since\": \"<cursor|ISO>\", \"slug\": \"<slug>\", \"limit\": <=200}; each delta is individually signed and the full response is signed again (double provenance). $0.03 USDC on Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "0x0000000000000000000000000000000000000000"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "registry_watch",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA registry-watch: pay-per-event feed of signed Ed25519 deltas from the x402/M2M endpoint registry — new and changed endpoints, payTos and listings. Pull with {\"since\": \"<cursor|ISO>\", \"slug\": \"<slug>\", \"limit\": <=200}; each delta is individually signed and the full response is signed again (double provenance). $0.03 USDC on Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/regwatch",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/regwatch",
     "description": "SYNTHORA regwatch: x402 Registry Watch: signed Ed25519 deltas of the x402/A2A endpoint registry (payTo/listings/endpoints). Pay-per-event feed pull. POST {\"since\":\"<cursor|ISO>\",\"slug\":\"<slug>\",\"limit\":<=200}.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "since": "2026-01-01",
        "slug": "x402",
        "limit": 10
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "registry_watch",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "const": "json"
         },
         "body": {
          "type": "object",
          "properties": {
           "since": {
            "type": "string"
           },
           "slug": {
            "type": "string"
           },
           "limit": {
            "type": "number"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/resolution-source-feed",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/resolution-source-feed",
     "description": "SYNTHORA resolution-source-feed: give a Polymarket market slug, get its official resolution source READ LIVE — current value, threshold, distance and on-track/off-track verdict. Covers IMF PortWatch chokepoint markets (Hormuz weekly series, normalization binaries): the answer a trader checks before every weekly resolution. Composes gamma-api rules parsing + live official source. $0.05 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "slug": "strait-of-hormuz-traffic-returns-to-normal-by-december-31"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "resolution_source_feed",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA resolution-source-feed: give a Polymarket market slug, get its official resolution source READ LIVE — current value, threshold, distance and on-track/off-track verdict. Covers IMF PortWatch chokepoint markets (Hormuz weekly series, normalization binaries): the answer a trader checks before every weekly resolution. Composes gamma-api rules parsing + live official source. $0.05 USDC x402 Base."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/resolution-verdict",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/resolution-verdict",
     "description": "Decision verdict for prediction markets: probability, direction and multi-source evidence with declared sources. $0.05 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "slug": "strait-of-hormuz-traffic-returns-to-normal-by-december-31"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "resolution_verdict",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "const": "json"
         },
         "body": {
          "type": "object",
          "properties": {
           "slug": {
            "type": "string"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/rpc-ens",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/rpc-ens",
     "description": "ENS forward/reverse resolution: name->address and address->name. Deterministic, Ed25519-signed. First 3 calls FREE per wallet — send header X-WALLET: 0x<addr>. No charge on upstream failure. $0.002 USDC via x402 on Base. SYNTHORA.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "name": "vitalik.eth"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "rpc-ens",
        "result": {
         "op": "ens"
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "name": {
            "type": "string",
            "description": "name"
           }
          },
          "required": [
           "name"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/rwa-gap-watch",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "30000",
     "amount": "30000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/rwa-gap-watch",
     "description": "SYNTHORA rwa-gap-watch: the gap between tokenized stocks (Ondo AAPLon, TSLAon, NVDAon, SPYon, HOODon...) trading 24/7 on-chain and their last official NYSE close — on-chain price discovery happens BEFORE TradFi opens (weekend/overnight edge for investors). Cross-verified: best-liquidity pool (DexScreener, multi-chain) x official close (Yahoo), zombie/fake pools detected and reported, per-asset confidence by liquidity. $0.03 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "symbol": "NVDA"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "rwa_gap_watch",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA rwa-gap-watch: the gap between tokenized stocks (Ondo AAPLon, TSLAon, NVDAon, SPYon, HOODon...) trading 24/7 on-chain and their last official NYSE close — on-chain price discovery happens BEFORE TradFi opens (weekend/overnight edge for investors). Cross-verified: best-liquidity pool (DexScreener, multi-chain) x official close (Yahoo), zombie/fake pools detected and reported, per-asset confidence by liquidity. $0.03 USDC x402 Base."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/safe-to-trade",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "30000",
     "amount": "30000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/safe-to-trade",
     "description": "SYNTHORA safe-to-trade: pre-trade go/no-go verdict for an EVM token or counterparty. Returns safe_to_trade (bool), risk_score, reason codes and honeypot flags from keyless checks: contract verification, EIP-1967 proxy detection, totalSupply read and OFAC SDN sanctions screening of token and counterparty. Fail-closed: unverifiable checks are reported, never guessed. $0.03 USDC on Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {},
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "safe_to_trade",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "const": "json"
         },
         "body": {
          "type": "object",
          "properties": {}
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/sanctions-screen",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/sanctions-screen",
     "description": "SYNTHORA sanctions-screen: sanctions screening with MATCH / CLEAR verdict over 4 official downloads (OFAC SDN primary and alias lists, UN, OpenSanctions). Multilingual, tested on Cyrillic transliterations.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "name": "Vladimir Putin"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "sanctions_screen",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA sanctions-screen: sanctions screening with MATCH / CLEAR verdict over 4 official downloads (OFAC SDN primary and alias lists, UN, OpenSanctions). Multilingual, tested on Cyrillic transliterations."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/sentiment",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/sentiment",
     "description": "Real-time crowd sentiment oracle for any topic or asset: GDELT global-news tone timeline -> sentiment (very_bullish..very_bearish), tone score, trend and trading signal, with top headlines. POST {\"query\":\"bitcoin\",\"timespan\":\"6h\"}. Deterministic, Ed25519-signed. SYNTHORA.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "query": "bitcoin",
        "timespan": "6h"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "sentiment",
        "result": {
         "query": "bitcoin",
         "sentiment": "neutral",
         "tone_score": 0.0,
         "tone_trend": "stable",
         "signal": "neutral",
         "headlines": []
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "query": {
            "type": "string",
            "description": "Topic or asset, e.g. bitcoin"
           },
           "timespan": {
            "type": "string",
            "enum": [
             "1h",
             "6h",
             "12h",
             "24h",
             "48h",
             "72h"
            ],
            "default": "6h"
           }
          },
          "required": [
           "query"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/shipping-alpha",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/shipping-alpha",
     "description": "SYNTHORA shipping-alpha: physical-vs-price divergence for shipping/logistics stocks (ZIM, Maersk AMKBY, Hapag-Lloyd, FedEx, UPS, Matson) — crosses LIVE physical reality (IMF PortWatch chokepoint transits + WaveWatch III navigability) with the official stock price move. Physical deterioration not yet priced = the investor window. 3 independent free sources crossed, confidence declared. $0.05 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "ticker": "ZIM"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "shipping_alpha",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA shipping-alpha: physical-vs-price divergence for shipping/logistics stocks (ZIM, Maersk AMKBY, Hapag-Lloyd, FedEx, UPS, Matson) — crosses LIVE physical reality (IMF PortWatch chokepoint transits + WaveWatch III navigability) with the official stock price move. Physical deterioration not yet priced = the investor window. 3 independent free sources crossed, confidence declared. $0.05 USDC x402 Base."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/slippage",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "100000",
     "amount": "100000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/slippage",
     "description": "Slippage and price-impact oracle for any crypto pair: estimates expected slippage, price impact and effective execution price for a given trade size from live order-book depth and liquidity. Answers 'expected slippage for this swap', 'price impact of my order', 'orderbook liquidity / slippage', 'how much will I move the market' for execution and routing agents. Deterministic, Ed25519-signed. $0.001 USDC via x402 on Base. First 3 calls FREE per wallet — send header X-WALLET: 0",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "chain": "base",
        "token_in": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "token_out": "0x4200000000000000000000000000000000000006",
        "amount_in": 1000000,
        "fee_tier": 500
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "slippage_oracle",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "chain": {
            "type": "string"
           },
           "token_in": {
            "type": "string"
           },
           "token_out": {
            "type": "string"
           },
           "amount_in": {
            "type": "integer"
           },
           "fee_tier": {
            "type": "integer"
           }
          },
          "required": [
           "chain"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/space-weather-risk",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "10000",
     "amount": "10000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/space-weather-risk",
     "description": "SYNTHORA space-weather-risk: composite operational space-weather risk verdict fusing 4 NOAA SWPC feeds (Kp/G scale, GOES X-ray flare class, solar wind, proton flux) — for defense, aviation, satellites, power grid, precision GPS. $0.01 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "space_weather_risk",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA space-weather-risk: composite operational space-weather risk verdict fusing 4 NOAA SWPC feeds (Kp/G scale, GOES X-ray flare class, solar wind, proton flux) — for defense, aviation, satellites, power grid, precision GPS. $0.01 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/space-weather",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "10000",
     "amount": "10000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/space-weather",
     "description": "SYNTHORA space-weather: live space weather from NOAA SWPC — GOES X-ray flux (solar flare activity), solar wind plasma (speed and density) and planetary Kp geomagnetic index. Optional focus: send xray, wind or kp in the input to get just that series, otherwise the latest reading of all three. Source: services.swpc.noaa.gov, keyless, timestamped. $0.01 USDC on Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "0x0000000000000000000000000000000000000000"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "space_weather",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA space-weather: live space weather from NOAA SWPC — GOES X-ray flux (solar flare activity), solar wind plasma (speed and density) and planetary Kp geomagnetic index. Optional focus: send xray, wind or kp in the input to get just that series, otherwise the latest reading of all three. Source: services.swpc.noaa.gov, keyless, timestamped. $0.01 USDC on Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/stablecoin-depeg",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "6000",
     "amount": "6000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/stablecoin-depeg",
     "description": "SYNTHORA stablecoin-depeg: depeg radar for 8 major stablecoins (USDT, USDC, DAI, USDS, USDe, PYUSD, USDD, FDUSD), each measured by TWO independent sources (CoinGecko + DefiLlama) with inter-source discrepancy reported — a real depeg shows in both; a single-source blip is an oracle artifact. Severity levels in bps. Free sources, no key. $0.006 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "stablecoin_depeg",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA stablecoin-depeg: depeg radar for 8 major stablecoins (USDT, USDC, DAI, USDS, USDe, PYUSD, USDD, FDUSD), each measured by TWO independent sources (CoinGecko + DefiLlama) with inter-source discrepancy reported — a real depeg shows in both; a single-source blip is an oracle artifact. Severity levels in bps. Free sources, no key. $0.006 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/stablecoin-supply",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "6000",
     "amount": "6000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/stablecoin-supply",
     "description": "SYNTHORA stablecoin-supply: circulating USD supply, price and peg deviation in basis points for the top stablecoins (USDT, USDC, DAI...), with a depeg alert flag above 50 bps. Optional symbol filter. Free source: stablecoins.llama.fi (DefiLlama), no API key, timestamped.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "USDC"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "stablecoin_supply",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA stablecoin-supply: circulating USD supply, price and peg deviation in basis points for the top stablecoins (USDT, USDC, DAI...), with a depeg alert flag above 50 bps. Optional symbol filter. Free source: stablecoins.llama.fi (DefiLlama), no API key, timestamped."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/threat-exposure",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "30000",
     "amount": "30000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/threat-exposure",
     "description": "SYNTHORA threat-exposure: external attack-surface score for any domain/host — exposure breakdown with deterministic evidence (historic IPs, open surfaces). $0.03 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "example.com"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "threat_exposure",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA threat-exposure: external attack-surface score for any domain/host — exposure breakdown with deterministic evidence (historic IPs, open surfaces). $0.03 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/tokenrisk",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "320000",
     "amount": "320000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/tokenrisk",
     "description": "Detect honeypots, rug-pulls and malicious tokens before buying or approving. Combines GoPlus token-security (honeypot simulation, buy/sell tax, mintable, pausable, hidden owner, LP concentration, holder count) with bytecode analysis and owner-renounce checks into a safe/caution/risky/rug_pull verdict. Use it for token security, rug-pull detection and smart-contract risk. Ed25519-signed. 0.02 USDC on Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "chain": "base"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "token_risk",
        "result": {
         "verdict": "safe",
         "risk_level": "low",
         "token_symbol": "USDC",
         "owner_renounced": true,
         "goplus": {
          "is_honeypot": "0",
          "buy_tax": "0",
          "sell_tax": "0"
         },
         "flags": []
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "address": {
            "type": "string",
            "description": "Token contract address (0x...)"
           },
           "chain": {
            "type": "string",
            "enum": [
             "base",
             "ethereum"
            ],
            "description": "Chain (default base)"
           }
          },
          "required": [
           "address"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/top-crypto",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/top-crypto",
     "description": "SYNTHORA top-crypto: Top N cryptocurrencies by market cap (default 10, max 50): rank, price, 24h change, volume and market cap in USD. Source: CoinGecko free API, keyless, timestamped.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "limit": 10
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "top_crypto",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "limit": {
            "type": "integer",
            "description": "top N, default 10, max 50"
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/tor-fetch",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/tor-fetch",
     "description": "SYNTHORA tor-fetch: fetch any URL (including .onion) via Tor AND directly, compared side by side — status, size, and divergence flag (geo-block / soft censorship detection). Access onion intel sources with no clearnet route. $0.005 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "url": "https://example.com"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "tor_fetch",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA tor-fetch: fetch any URL (including .onion) via Tor AND directly, compared side by side — status, size, and divergence flag (geo-block / soft censorship detection). Access onion intel sources with no clearnet route. $0.005 USDC x402 Base."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/translate",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/translate",
     "description": "SYNTHORA translate: translate any text between 100+ languages with automatic source-language detection. Preserves tone, formatting and placeholders. Deterministic JSON output, Ed25519-signed. SYNTHORA.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "text": "Hello world",
        "target": "es"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "translate",
        "result": {
         "detected": "en",
         "translation": "Hola mundo",
         "target": "es",
         "chars": 11,
         "signed": "ed25519"
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string",
            "description": "Text to translate (max 4000 chars)"
           },
           "target": {
            "type": "string",
            "description": "Target language ISO code or name, e.g. es, fr, Japanese"
           },
           "source": {
            "type": "string",
            "description": "Optional source language; auto-detected if omitted"
           }
          },
          "required": [
           "text",
           "target"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/trending-cross",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/trending-cross",
     "description": "SYNTHORA trending-cross: crypto trending VERIFIED by two-source consensus — an asset trending on CoinGecko AND gaining on Binance at once is a confirmed signal; trending on one only is noise or a localized pump. Top gainers/losers with volume included. Free sources, no key. $0.005 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "trending_cross",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA trending-cross: crypto trending VERIFIED by two-source consensus — an asset trending on CoinGecko AND gaining on Binance at once is a confirmed signal; trending on one only is noise or a localized pump. Top gainers/losers with volume included. Free sources, no key. $0.005 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/tvl-concentration",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "30000",
     "amount": "30000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/tvl-concentration",
     "description": "SYNTHORA tvl-concentration: DeFi TVL drain/concentration signal — protocols anomalously losing TVL while token price has not yet repriced (temporal edge window). For liquidation and risk bots. Source: DeFiLlama. $0.03 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "tvl_concentration",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA tvl-concentration: DeFi TVL drain/concentration signal — protocols anomalously losing TVL while token price has not yet repriced (temporal edge window). For liquidation and risk bots. Source: DeFiLlama. $0.03 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/tx-simulator",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "30000",
     "amount": "30000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/tx-simulator",
     "description": "SYNTHORA tx-simulator: simulate an EVM transaction before signing — SAFE/WARN/DANGER verdict, decoded intent, warnings and checks performed. Pre-trade safety for agent wallets. $0.03 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "example.com"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "tx_simulator",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA tx-simulator: simulate an EVM transaction before signing — SAFE/WARN/DANGER verdict, decoded intent, warnings and checks performed. Pre-trade safety for agent wallets. $0.03 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/txintent",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "100000",
     "amount": "100000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/txintent",
     "description": "Tx Intent Classifier: decodes the REAL intent of an on-chain transaction (Base/Ethereum) and returns an Ed25519-signed risk verdict (safe/review/suspicious/dangerous). Catches unlimited approvals, opaque selectors, value-to-contract, reverted tx. POST {\"tx_hash\":\"0x..\",\"chain\":\"base\"} or {\"to\":\"0x..\",\"data\":\"0x..\"}.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "tx_hash": "0xafc895b0138314dcde8a410d309d9080c8cfbc816ba6f371b287e34f2695207f",
        "chain": "base"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "tx_intent",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "tx_hash": {
            "type": "string"
           },
           "to": {
            "type": "string"
           },
           "data": {
            "type": "string"
           },
           "chain": {
            "type": "string"
           }
          },
          "required": [
           "tx_hash"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/usgs-earthquakes",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/usgs-earthquakes",
     "description": "SYNTHORA usgs-earthquakes: latest earthquakes (M>=4.5 default, tunable) with PAGER alert level, tsunami flag and ACTIVE SEISMIC CLUSTER detection (>=3 events same zone in 24h) — the actionable signal for insurance-risk and disaster prediction markets. Source: USGS FDSN (official US, real-time, no key). $0.005 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "usgs_earthquakes",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA usgs-earthquakes: latest earthquakes (M>=4.5 default, tunable) with PAGER alert level, tsunami flag and ACTIVE SEISMIC CLUSTER detection (>=3 events same zone in 24h) — the actionable signal for insurance-risk and disaster prediction markets. Source: USGS FDSN (official US, real-time, no key). $0.005 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/usgs-realtime-streamflow",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/usgs-realtime-streamflow",
     "description": "Returns real-time instantaneous streamflow (discharge) and gage height for any USGS water-monitoring site as JSON from USGS Water Services, keyless. Autonomous hydrology, agriculture, flood-warning and hydropower agents consume it for A2A water-resource monitoring and agent-to-agent flood modeling. Ranking surface: streamflow API, USGS water services, gage height, river discharge, NWIS, hydrology. Pay-per-call via x402 on Base. No charge on upstream failure.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "site": "01646500"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "usgs_realtime_streamflow",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "Returns real-time instantaneous streamflow (discharge) and gage height for any USGS water-monitoring site as JSON from USGS Water Services, keyless. Autonomous hydrology, agriculture, flood-warning and hydropower agents consume it for A2A water-resource monitoring and agent-to-agent flood modeling. Ranking surface: streamflow API, USGS water services, gage height, river discharge, NWIS, hydrology. Pay-per-call via x402 on Base. No charge on upstream failure."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/vessel-sanctions",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "30000",
     "amount": "30000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/vessel-sanctions",
     "description": "SYNTHORA vessel-sanctions: screen any vessel (IMO or name) against the OFAC SDN sanctioned-vessels list (1,524 ships tracked) — the compliance check before touching tanker/shipping trades or chokepoint bets. List mode: full sanctioned-fleet snapshot. Source: OFAC SDN (US Treasury, free, no key). $0.03 USDC via x402 on Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "op": "screen",
        "name": "VLCC example"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "vessel_ais_tankers",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA vessel-sanctions: screen any vessel (IMO or name) against the OFAC SDN sanctioned-vessels list (1,524 ships tracked) — the compliance check before touching tanker/shipping trades or chokepoint bets. List mode: full sanctioned-fleet snapshot. Source: OFAC SDN (US Treasury, free, no key). $0.03 USDC via x402 on Base."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/volume-anomaly",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "30000",
     "amount": "30000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/volume-anomaly",
     "description": "SYNTHORA volume-anomaly: crypto volume-anomaly alerts for arbitrage bots — assets whose 24h turnover (volume/mcap) is anomalously high vs their cohort (z-score), early pump/unusual-activity signal. Composite of CoinGecko markets + DeFiLlama DEX volume. Keyless. $0.03 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "volume_anomaly",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA volume-anomaly: crypto volume-anomaly alerts for arbitrage bots — assets whose 24h turnover (volume/mcap) is anomalously high vs their cohort (z-score), early pump/unusual-activity signal. Composite of CoinGecko markets + DeFiLlama DEX volume. Keyless. $0.03 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/wallet-enrich",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "150000",
     "amount": "150000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/wallet-enrich",
     "description": "Wallet enrichment for any EVM wallet (0x address or ENS name) in one call: 0-100 risk score with low/medium/high level, sanctions exposure screening (OFAC SDN wallet lists: Tornado Cash, Lazarus, Garantex), on-chain activity on Ethereum + Base (native balance, transaction count, contract-vs-EOA detection) and labels (ENS reverse record, GoPlus address-security flags: phishing, mixer, cybercrime, money laundering, blacklist). Built for agents that need wallet enrichment + risk",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "address": "vitalik.eth"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "wallet_enrich",
        "result": {
         "address": "0x...",
         "ens": "vitalik.eth",
         "risk": {
          "score": 0,
          "level": "low",
          "reasons": []
         },
         "sanctions": {
          "status": "CLEAR",
          "lists_checked": [
           "OFAC_SDN_wallets"
          ],
          "match": null
         },
         "activity": {
          "ethereum": {
           "balance_eth": 0.0,
           "tx_count": 0,
           "is_contract": false
          }
         },
         "labels": [
          "ens:vitalik.eth"
         ]
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "address": {
            "type": "string",
            "description": "EVM wallet address (0x...) or ENS name (e.g. vitalik.eth)"
           }
          },
          "required": [
           "address"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/walletrep",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "320000",
     "amount": "320000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/walletrep",
     "description": "Score the risk and reputation of any EVM wallet address before you transact with it. Combines on-chain sanctions screening (Chainalysis oracle, TRM, OFAC) and GoPlus address-security flags (phishing, blacklist, mixer, malicious activity) with contract-vs-EOA detection, transaction history and balance into a 0-100 score and clean/suspicious/blacklisted tier. Use it for wallet screening, counterparty due diligence and KYT. Ed25519-signed. 0.01 USDC on Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "address": "0x28C6c06298d514Db089934071355E5743bf21d60",
        "chain": "ethereum"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "wallet_rep",
        "result": {
         "address": "0x...",
         "reputation_score": 100,
         "risk_tier": "clean",
         "sanctioned": false,
         "sanctions_sources": [],
         "goplus_flags": [],
         "tx_count": 0,
         "is_contract": false,
         "flags": []
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "address": {
            "type": "string",
            "description": "EVM wallet address (0x...)"
           },
           "chain": {
            "type": "string",
            "enum": [
             "base",
             "ethereum"
            ],
            "description": "Chain (default base)"
           }
          },
          "required": [
           "address"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/weather-now",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "6000",
     "amount": "6000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/weather-now",
     "description": "SYNTHORA weather-now: current weather for any city or lat,lon — temperature, feels-like, humidity, wind, WMO condition code in plain text, plus the 6h temperature trend (rising/falling/flat), which is the actionable part. Free source: open-meteo.com (ECMWF/NOAA/DWD), no API key, timestamped.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": "Tokyo"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "weather_now",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA weather-now: current weather for any city or lat,lon — temperature, feels-like, humidity, wind, WMO condition code in plain text, plus the 6h temperature trend (rising/falling/flat), which is the actionable part. Free source: open-meteo.com (ECMWF/NOAA/DWD), no API key, timestamped."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/web-extract",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/web-extract",
     "description": "SYNTHORA web-extract: any URL to clean agent-ready text (no HTML noise) + title, meta description, link/image counts — context-ready content for agents, stdlib extraction, no third parties. $0.005 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "url": "https://www.bbc.com/news"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "web_extract",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA web-extract: any URL to clean agent-ready text (no HTML noise) + title, meta description, link/image counts — context-ready content for agents, stdlib extraction, no third parties. $0.005 USDC x402 Base."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/websearch",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/websearch",
     "description": "Keyless web search for AI agents, pay-per-call, no API key and no signup: natural-language query in, ranked organic results out (title, url, snippet) with source list. Neutral web access for research, RAG grounding and fact-check agents that cannot hold search API keys. $0.05 USDC x402 Base. Input: {\"input\": \"your query\"}. Ed25519-signed.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "query": "latest x402 protocol spec",
        "max_results": 5,
        "extract": true
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "websearch",
        "result": {
         "query": "latest x402 protocol spec",
         "results": [
          {
           "title": "x402 spec",
           "url": "https://example.com/spec",
           "snippet": "..."
          }
         ],
         "count": 5,
         "source": "duckduckgo_html",
         "answer_extract": {
          "url": "https://example.com/spec",
          "title": "x402 spec",
          "markdown": "# ...",
          "chars": 1234,
          "tokens_estimate": 300,
          "extractor": "md_extract"
         },
         "answer_source": "md_extract",
         "elapsed_ms": 1200
        }
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "query": {
            "type": "string",
            "description": "Natural-language search query"
           },
           "max_results": {
            "type": "integer",
            "description": "How many results to return (1-20, default 8)"
           },
           "extract": {
            "type": "boolean",
            "description": "If true, also fetch the top result and return its main content as clean markdown (answer_extract). Default: auto (extracts when a first URL is available)."
           }
          },
          "required": [
           "query"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/who-gho-timeseries",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "5000",
     "amount": "5000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/who-gho-timeseries",
     "description": "SYNTHORA who-gho-timeseries: WHO Global Health Observatory indicator time series by country (life expectancy etc.) — public-health data for research and policy agents. $0.005 USDC x402 Base.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "input": ""
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "who_gho_indicator_timeseries",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "SYNTHORA who-gho-timeseries: WHO Global Health Observatory indicator time series by country (life expectancy etc.) — public-health data for research and policy agents. $0.005 USDC x402 Base."
           }
          },
          "required": [
           "input"
          ]
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  },
  {
   "resource": "https://api.hergertsynthora.com/v1/yahoo-equity-delayed-quote",
   "accepts": [
    {
     "scheme": "exact",
     "network": "eip155:8453",
     "maxAmountRequired": "50000",
     "amount": "50000",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0x10800a5a5B9d72251566EC651E862A8b4B427dE0",
     "resource": "https://api.hergertsynthora.com/v1/yahoo-equity-delayed-quote",
     "description": "Delayed real-time quote and intraday OHLCV for any stock or ETF ticker (price, day high/low, 52-week range, volume) from Yahoo Finance's keyless chart endpoint (JSON). Powers autonomous equity-screening agents and agent-to-agent trading bots needing per-symbol quotes without an API key. Pay-per-call via x402 on Base. No charge on upstream failure.",
     "mimeType": "application/json",
     "maxTimeoutSeconds": 300,
     "extra": {
      "name": "USD Coin",
      "version": "2"
     }
    }
   ],
   "extensions": {
    "bazaar": {
     "info": {
      "input": {
       "type": "http",
       "bodyType": "json",
       "body": {
        "symbol": "AAPL",
        "interval": "1d",
        "range": "5d"
       },
       "method": "POST"
      },
      "output": {
       "type": "json",
       "example": {
        "ok": true,
        "niche": "yahoo_equity_delayed_quote",
        "result": {},
        "receipt": {}
       }
      }
     },
     "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": [
           "POST",
           "PUT",
           "PATCH"
          ]
         },
         "bodyType": {
          "type": "string",
          "enum": [
           "json",
           "form-data",
           "text"
          ]
         },
         "body": {
          "type": "object",
          "properties": {
           "input": {
            "type": "string",
            "description": "Delayed real-time quote and intraday OHLCV for any stock or ETF ticker (price, day high/low, 52-week range, volume) from Yahoo Finance's keyless chart endpoint (JSON). Powers autonomous equity-screening agents and agent-to-agent trading bots needing per-symbol quotes without an API key. Pay-per-call via x402 on Base. No charge on upstream failure."
           }
          }
         }
        },
        "required": [
         "type",
         "method",
         "bodyType",
         "body"
        ],
        "additionalProperties": false
       },
       "output": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "example": {
          "type": "object",
          "ok": {
           "type": "boolean"
          },
          "niche": {
           "type": "string"
          }
         }
        },
        "required": [
         "type"
        ]
       }
      },
      "required": [
       "input"
      ]
     }
    },
    "signature": {
     "alg": "ed25519",
     "publicKeyUrl": "https://api.hergertsynthora.com/pubkey",
     "jwksUrl": "https://api.hergertsynthora.com/.well-known/jwks.json",
     "envelope": "{result, attestation:{alg,pubkey,sig,canon}}",
     "canon": "json:sort_keys+separators(,:)+ensure_ascii+utf8",
     "sigEncoding": "hex(64B raw)",
     "verify": "recompute canon from envelope.result, then VerifyKey(bytes.fromhex(pubkey)).verify(canon, bytes.fromhex(sig)) -- no name to trust, verify the signature yourself"
    },
    "delivery": {
     "policy": "no-charge-on-service-failure",
     "behaviour": "if the service FAILS (invalid input, timeout, stale cache, withdrawn product, malformed output) you receive 402 and are NOT charged",
     "scope": "this covers service FAILURE, not verdict quality",
     "order": "compute -> failure gate -> verify -> settle -> deliver",
     "verify": "after a request of yours FAILS, check your own wallet on Base: no USDC settlement to our payTo will exist for it. If we had charged you, the transfer would be public and permanent",
     "note": "unlike the signature -- which you verify BEFORE paying -- this one is checked afterwards, on-chain, from your own wallet"
    }
   }
  }
 ]
}