{
  "catalogVersion": "2.1",
  "protocolVersion": 2,
  "service": "M2M Sentinel",
  "description": "Static Base bytecode capability and proxy observations plus sourced market telemetry.",
  "homepage": "https://m2msentinel.com",
  "network": "base",
  "caip2": "eip155:8453",
  "chainId": 8453,
  "currency": "USDC",
  "assetContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "payoutAddress": "0x6d6C398390cfb88f1CD42715B84906a0Bd6652aa",
  "facilitator": "cdp",
  "resources": [
    {
      "path": "/v1/audit/{address}",
      "method": "GET",
      "price": "$0.02",
      "network": "eip155:8453",
      "assetContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payoutAddress": "0x6d6C398390cfb88f1CD42715B84906a0Bd6652aa",
      "description": "Before you sign: can this Base contract be paused, frozen, or have tokens minted by its owner, self-destruct, or delegate execution somewhere you have not seen? Returns the opcodes and selectors actually present in the deployed bytecode, resolves proxies and EIP-7702 delegated accounts to what really runs, and states the trust level behind the answer. Evidence for your policy, not a safety verdict."
    },
    {
      "path": "/v1/security/score/{address}",
      "method": "GET",
      "price": "$0.02",
      "network": "eip155:8453",
      "assetContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payoutAddress": "0x6d6C398390cfb88f1CD42715B84906a0Bd6652aa",
      "description": "How completely could this Base contract be checked, and on what grade of evidence. Separates checked-and-clean from could-not-be-checked, which automated callers otherwise conflate. Explicitly not a safety score."
    },
    {
      "path": "/v1/gas/fees",
      "method": "GET",
      "price": "$0.005",
      "network": "eip155:8453",
      "assetContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payoutAddress": "0x6d6C398390cfb88f1CD42715B84906a0Bd6652aa",
      "description": "What a Base transaction costs right now, with the RPC provider and trust level behind the number, so a caller can tell a credentialed reading from a degraded one before pricing a transaction."
    },
    {
      "path": "/v1/dex/metrics",
      "method": "GET",
      "price": "$0.01",
      "network": "eip155:8453",
      "assetContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payoutAddress": "0x6d6C398390cfb88f1CD42715B84906a0Bd6652aa",
      "description": "How deep is liquidity for tracked Base tokens and how much is actually trading, with the source named, for sizing an order or declining one."
    },
    {
      "path": "/v1/token/price/{symbol}",
      "method": "GET",
      "price": "$0.005",
      "network": "eip155:8453",
      "assetContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payoutAddress": "0x6d6C398390cfb88f1CD42715B84906a0Bd6652aa",
      "description": "What a tracked Base token is worth right now, taken as the median of the deepest pools rather than one pair, returning the pools considered and the spread across them."
    },
    {
      "path": "/v1/whales/signals",
      "method": "GET",
      "price": "$0.02",
      "network": "eip155:8453",
      "assetContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payoutAddress": "0x6d6C398390cfb88f1CD42715B84906a0Bd6652aa",
      "description": "Who is moving size on Base right now: large ERC-20 transfers reported as observed facts with amounts and source, not as trade signals or predictions."
    }
  ]
}
