{
  "serverInfo": {
    "name": "insight-oracle-mcp-server",
    "version": "0.1.0"
  },
  "authentication": {
    "required": false,
    "schemes": []
  },
  "capabilities": {
    "tools": {
      "listChanged": false
    }
  },
  "tools": [
    {
      "name": "assess_rwa_evidence",
      "description": "Evaluate supplied RWA/tokenized-stock evidence against an explicit policy. Unsigned diagnostic only: caller-supplied facts are not authenticated, and ALLOW does not authorize a trade. Existing pre-trade and authorization checks remain required.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "input": {
            "type": "object",
            "properties": {
              "instrument": {
                "type": "object",
                "properties": {
                  "schema": {
                    "type": "string",
                    "const": "insight.rwa-instrument.v1"
                  },
                  "underlyingId": {
                    "type": "string",
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
                  },
                  "issuer": {
                    "type": "string",
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
                  },
                  "tokenChainId": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "tokenAddress": {
                    "type": "string",
                    "pattern": "^0x[0-9a-f]{40}$"
                  },
                  "venueMic": {
                    "type": "string",
                    "pattern": "^[A-Z0-9]{4}$"
                  },
                  "kind": {
                    "type": "string",
                    "enum": ["equity", "etf", "fund", "commodity", "credit"]
                  },
                  "currency": {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$"
                  },
                  "priceBasis": {
                    "type": "string",
                    "enum": ["underlying-spot", "token-market", "token-nav"]
                  },
                  "corporateActionVersion": {
                    "type": "string",
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
                  }
                },
                "required": [
                  "schema",
                  "underlyingId",
                  "issuer",
                  "tokenChainId",
                  "tokenAddress",
                  "venueMic",
                  "kind",
                  "currency",
                  "priceBasis",
                  "corporateActionVersion"
                ],
                "additionalProperties": false
              },
              "request": {
                "type": "object",
                "properties": {
                  "instrumentId": {
                    "type": "string",
                    "pattern": "^0x[0-9a-f]{64}$"
                  },
                  "action": {
                    "type": "string",
                    "enum": [
                      "buy",
                      "sell",
                      "borrow",
                      "collateralize",
                      "liquidate",
                      "redeem",
                      "repay"
                    ]
                  },
                  "amount": {
                    "type": "string",
                    "pattern": "^(?:0|[1-9][0-9]{0,76}|10[0-9]{76}|11[0-4][0-9]{75}|115[0-6][0-9]{74}|1157[0-8][0-9]{73}|11579[0-1][0-9]{72}|1157920[0-7][0-9]{70}|11579208[0-8][0-9]{69}|115792089[0-1][0-9]{68}|1157920892[0-2][0-9]{67}|11579208923[0-6][0-9]{66}|115792089237[0-2][0-9]{65}|11579208923730[0-9]{64}|11579208923731[0-5][0-9]{63}|1157920892373160[0-9]{62}|1157920892373161[0-8][0-9]{61}|11579208923731619[0-4][0-9]{60}|115792089237316195[0-3][0-9]{59}|1157920892373161954[0-1][0-9]{58}|11579208923731619542[0-2][0-9]{57}|115792089237316195423[0-4][0-9]{56}|1157920892373161954235[0-6][0-9]{55}|115792089237316195423570[0-8][0-9]{53}|1157920892373161954235709[0-7][0-9]{52}|11579208923731619542357098[0-4][0-9]{51}|11579208923731619542357098500[0-7][0-9]{48}|115792089237316195423570985008[0-5][0-9]{47}|1157920892373161954235709850086[0-7][0-9]{46}|11579208923731619542357098500868[0-6][0-9]{45}|115792089237316195423570985008687[0-8][0-9]{44}|11579208923731619542357098500868790[0-6][0-9]{42}|115792089237316195423570985008687907[0-7][0-9]{41}|1157920892373161954235709850086879078[0-4][0-9]{40}|11579208923731619542357098500868790785[0-2][0-9]{39}|115792089237316195423570985008687907853[0-1][0-9]{38}|1157920892373161954235709850086879078532[0-5][0-9]{37}|11579208923731619542357098500868790785326[0-8][0-9]{36}|115792089237316195423570985008687907853269[0-8][0-9]{35}|1157920892373161954235709850086879078532699[0-7][0-9]{34}|11579208923731619542357098500868790785326998[0-3][0-9]{33}|115792089237316195423570985008687907853269984[0-5][0-9]{32}|1157920892373161954235709850086879078532699846[0-5][0-9]{31}|11579208923731619542357098500868790785326998466[0-4][0-9]{30}|115792089237316195423570985008687907853269984665[0-5][0-9]{29}|1157920892373161954235709850086879078532699846656[0-3][0-9]{28}|115792089237316195423570985008687907853269984665640[0-4][0-9]{26}|1157920892373161954235709850086879078532699846656405[0-5][0-9]{25}|11579208923731619542357098500868790785326998466564056[0-3][0-9]{24}|1157920892373161954235709850086879078532699846656405640[0-2][0-9]{22}|11579208923731619542357098500868790785326998466564056403[0-8][0-9]{21}|115792089237316195423570985008687907853269984665640564039[0-3][0-9]{20}|1157920892373161954235709850086879078532699846656405640394[0-4][0-9]{19}|11579208923731619542357098500868790785326998466564056403945[0-6][0-9]{18}|115792089237316195423570985008687907853269984665640564039457[0-4][0-9]{17}|1157920892373161954235709850086879078532699846656405640394575[0-7][0-9]{16}|11579208923731619542357098500868790785326998466564056403945758[0-3][0-9]{15}|11579208923731619542357098500868790785326998466564056403945758400[0-6][0-9]{12}|115792089237316195423570985008687907853269984665640564039457584007[0-8][0-9]{11}|11579208923731619542357098500868790785326998466564056403945758400790[0-9]{10}|11579208923731619542357098500868790785326998466564056403945758400791[0-2][0-9]{9}|1157920892373161954235709850086879078532699846656405640394575840079130[0-9]{8}|1157920892373161954235709850086879078532699846656405640394575840079131[0-1][0-9]{7}|11579208923731619542357098500868790785326998466564056403945758400791312[0-8][0-9]{6}|115792089237316195423570985008687907853269984665640564039457584007913129[0-5][0-9]{5}|1157920892373161954235709850086879078532699846656405640394575840079131296[0-2][0-9]{4}|11579208923731619542357098500868790785326998466564056403945758400791312963[0-8][0-9]{3}|115792089237316195423570985008687907853269984665640564039457584007913129639[0-8][0-9]{2}|1157920892373161954235709850086879078532699846656405640394575840079131296399[0-2][0-9]{1}|11579208923731619542357098500868790785326998466564056403945758400791312963993[0-4]|115792089237316195423570985008687907853269984665640564039457584007913129639935)$"
                  },
                  "call": {
                    "type": "object",
                    "properties": {
                      "chainId": {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      "from": {
                        "type": "string",
                        "pattern": "^0x[0-9a-f]{40}$"
                      },
                      "to": {
                        "type": "string",
                        "pattern": "^0x[0-9a-f]{40}$"
                      },
                      "calldataHash": {
                        "type": "string",
                        "pattern": "^0x[0-9a-f]{64}$"
                      },
                      "value": {
                        "type": "string",
                        "pattern": "^(?:0|[1-9][0-9]{0,76}|10[0-9]{76}|11[0-4][0-9]{75}|115[0-6][0-9]{74}|1157[0-8][0-9]{73}|11579[0-1][0-9]{72}|1157920[0-7][0-9]{70}|11579208[0-8][0-9]{69}|115792089[0-1][0-9]{68}|1157920892[0-2][0-9]{67}|11579208923[0-6][0-9]{66}|115792089237[0-2][0-9]{65}|11579208923730[0-9]{64}|11579208923731[0-5][0-9]{63}|1157920892373160[0-9]{62}|1157920892373161[0-8][0-9]{61}|11579208923731619[0-4][0-9]{60}|115792089237316195[0-3][0-9]{59}|1157920892373161954[0-1][0-9]{58}|11579208923731619542[0-2][0-9]{57}|115792089237316195423[0-4][0-9]{56}|1157920892373161954235[0-6][0-9]{55}|115792089237316195423570[0-8][0-9]{53}|1157920892373161954235709[0-7][0-9]{52}|11579208923731619542357098[0-4][0-9]{51}|11579208923731619542357098500[0-7][0-9]{48}|115792089237316195423570985008[0-5][0-9]{47}|1157920892373161954235709850086[0-7][0-9]{46}|11579208923731619542357098500868[0-6][0-9]{45}|115792089237316195423570985008687[0-8][0-9]{44}|11579208923731619542357098500868790[0-6][0-9]{42}|115792089237316195423570985008687907[0-7][0-9]{41}|1157920892373161954235709850086879078[0-4][0-9]{40}|11579208923731619542357098500868790785[0-2][0-9]{39}|115792089237316195423570985008687907853[0-1][0-9]{38}|1157920892373161954235709850086879078532[0-5][0-9]{37}|11579208923731619542357098500868790785326[0-8][0-9]{36}|115792089237316195423570985008687907853269[0-8][0-9]{35}|1157920892373161954235709850086879078532699[0-7][0-9]{34}|11579208923731619542357098500868790785326998[0-3][0-9]{33}|115792089237316195423570985008687907853269984[0-5][0-9]{32}|1157920892373161954235709850086879078532699846[0-5][0-9]{31}|11579208923731619542357098500868790785326998466[0-4][0-9]{30}|115792089237316195423570985008687907853269984665[0-5][0-9]{29}|1157920892373161954235709850086879078532699846656[0-3][0-9]{28}|115792089237316195423570985008687907853269984665640[0-4][0-9]{26}|1157920892373161954235709850086879078532699846656405[0-5][0-9]{25}|11579208923731619542357098500868790785326998466564056[0-3][0-9]{24}|1157920892373161954235709850086879078532699846656405640[0-2][0-9]{22}|11579208923731619542357098500868790785326998466564056403[0-8][0-9]{21}|115792089237316195423570985008687907853269984665640564039[0-3][0-9]{20}|1157920892373161954235709850086879078532699846656405640394[0-4][0-9]{19}|11579208923731619542357098500868790785326998466564056403945[0-6][0-9]{18}|115792089237316195423570985008687907853269984665640564039457[0-4][0-9]{17}|1157920892373161954235709850086879078532699846656405640394575[0-7][0-9]{16}|11579208923731619542357098500868790785326998466564056403945758[0-3][0-9]{15}|11579208923731619542357098500868790785326998466564056403945758400[0-6][0-9]{12}|115792089237316195423570985008687907853269984665640564039457584007[0-8][0-9]{11}|11579208923731619542357098500868790785326998466564056403945758400790[0-9]{10}|11579208923731619542357098500868790785326998466564056403945758400791[0-2][0-9]{9}|1157920892373161954235709850086879078532699846656405640394575840079130[0-9]{8}|1157920892373161954235709850086879078532699846656405640394575840079131[0-1][0-9]{7}|11579208923731619542357098500868790785326998466564056403945758400791312[0-8][0-9]{6}|115792089237316195423570985008687907853269984665640564039457584007913129[0-5][0-9]{5}|1157920892373161954235709850086879078532699846656405640394575840079131296[0-2][0-9]{4}|11579208923731619542357098500868790785326998466564056403945758400791312963[0-8][0-9]{3}|115792089237316195423570985008687907853269984665640564039457584007913129639[0-8][0-9]{2}|1157920892373161954235709850086879078532699846656405640394575840079131296399[0-2][0-9]{1}|11579208923731619542357098500868790785326998466564056403945758400791312963993[0-4]|115792089237316195423570985008687907853269984665640564039457584007913129639935)$"
                      },
                      "nonce": {
                        "type": "string",
                        "pattern": "^(?:0|[1-9][0-9]{0,76}|10[0-9]{76}|11[0-4][0-9]{75}|115[0-6][0-9]{74}|1157[0-8][0-9]{73}|11579[0-1][0-9]{72}|1157920[0-7][0-9]{70}|11579208[0-8][0-9]{69}|115792089[0-1][0-9]{68}|1157920892[0-2][0-9]{67}|11579208923[0-6][0-9]{66}|115792089237[0-2][0-9]{65}|11579208923730[0-9]{64}|11579208923731[0-5][0-9]{63}|1157920892373160[0-9]{62}|1157920892373161[0-8][0-9]{61}|11579208923731619[0-4][0-9]{60}|115792089237316195[0-3][0-9]{59}|1157920892373161954[0-1][0-9]{58}|11579208923731619542[0-2][0-9]{57}|115792089237316195423[0-4][0-9]{56}|1157920892373161954235[0-6][0-9]{55}|115792089237316195423570[0-8][0-9]{53}|1157920892373161954235709[0-7][0-9]{52}|11579208923731619542357098[0-4][0-9]{51}|11579208923731619542357098500[0-7][0-9]{48}|115792089237316195423570985008[0-5][0-9]{47}|1157920892373161954235709850086[0-7][0-9]{46}|11579208923731619542357098500868[0-6][0-9]{45}|115792089237316195423570985008687[0-8][0-9]{44}|11579208923731619542357098500868790[0-6][0-9]{42}|115792089237316195423570985008687907[0-7][0-9]{41}|1157920892373161954235709850086879078[0-4][0-9]{40}|11579208923731619542357098500868790785[0-2][0-9]{39}|115792089237316195423570985008687907853[0-1][0-9]{38}|1157920892373161954235709850086879078532[0-5][0-9]{37}|11579208923731619542357098500868790785326[0-8][0-9]{36}|115792089237316195423570985008687907853269[0-8][0-9]{35}|1157920892373161954235709850086879078532699[0-7][0-9]{34}|11579208923731619542357098500868790785326998[0-3][0-9]{33}|115792089237316195423570985008687907853269984[0-5][0-9]{32}|1157920892373161954235709850086879078532699846[0-5][0-9]{31}|11579208923731619542357098500868790785326998466[0-4][0-9]{30}|115792089237316195423570985008687907853269984665[0-5][0-9]{29}|1157920892373161954235709850086879078532699846656[0-3][0-9]{28}|115792089237316195423570985008687907853269984665640[0-4][0-9]{26}|1157920892373161954235709850086879078532699846656405[0-5][0-9]{25}|11579208923731619542357098500868790785326998466564056[0-3][0-9]{24}|1157920892373161954235709850086879078532699846656405640[0-2][0-9]{22}|11579208923731619542357098500868790785326998466564056403[0-8][0-9]{21}|115792089237316195423570985008687907853269984665640564039[0-3][0-9]{20}|1157920892373161954235709850086879078532699846656405640394[0-4][0-9]{19}|11579208923731619542357098500868790785326998466564056403945[0-6][0-9]{18}|115792089237316195423570985008687907853269984665640564039457[0-4][0-9]{17}|1157920892373161954235709850086879078532699846656405640394575[0-7][0-9]{16}|11579208923731619542357098500868790785326998466564056403945758[0-3][0-9]{15}|11579208923731619542357098500868790785326998466564056403945758400[0-6][0-9]{12}|115792089237316195423570985008687907853269984665640564039457584007[0-8][0-9]{11}|11579208923731619542357098500868790785326998466564056403945758400790[0-9]{10}|11579208923731619542357098500868790785326998466564056403945758400791[0-2][0-9]{9}|1157920892373161954235709850086879078532699846656405640394575840079130[0-9]{8}|1157920892373161954235709850086879078532699846656405640394575840079131[0-1][0-9]{7}|11579208923731619542357098500868790785326998466564056403945758400791312[0-8][0-9]{6}|115792089237316195423570985008687907853269984665640564039457584007913129[0-5][0-9]{5}|1157920892373161954235709850086879078532699846656405640394575840079131296[0-2][0-9]{4}|11579208923731619542357098500868790785326998466564056403945758400791312963[0-8][0-9]{3}|115792089237316195423570985008687907853269984665640564039457584007913129639[0-8][0-9]{2}|1157920892373161954235709850086879078532699846656405640394575840079131296399[0-2][0-9]{1}|11579208923731619542357098500868790785326998466564056403945758400791312963993[0-4]|115792089237316195423570985008687907853269984665640564039457584007913129639935)$"
                      }
                    },
                    "required": ["chainId", "from", "to", "calldataHash", "value", "nonce"],
                    "additionalProperties": false
                  }
                },
                "required": ["instrumentId", "action", "amount", "call"],
                "additionalProperties": false
              },
              "prices": {
                "maxItems": 32,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "feedId": {
                      "type": "string",
                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
                    },
                    "instrumentId": {
                      "type": "string",
                      "pattern": "^0x[0-9a-f]{64}$"
                    },
                    "evidenceChainId": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    },
                    "currency": {
                      "type": "string",
                      "pattern": "^[A-Z]{3}$"
                    },
                    "priceBasis": {
                      "type": "string",
                      "enum": ["underlying-spot", "token-market", "token-nav"]
                    },
                    "corporateActionVersion": {
                      "type": "string",
                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
                    },
                    "session": {
                      "type": "string",
                      "enum": ["REGULAR", "PRE", "POST", "OVERNIGHT", "CLOSED", "UNKNOWN"]
                    },
                    "priceE8": {
                      "type": "string",
                      "pattern": "^(?:0|[1-9][0-9]{0,76}|10[0-9]{76}|11[0-4][0-9]{75}|115[0-6][0-9]{74}|1157[0-8][0-9]{73}|11579[0-1][0-9]{72}|1157920[0-7][0-9]{70}|11579208[0-8][0-9]{69}|115792089[0-1][0-9]{68}|1157920892[0-2][0-9]{67}|11579208923[0-6][0-9]{66}|115792089237[0-2][0-9]{65}|11579208923730[0-9]{64}|11579208923731[0-5][0-9]{63}|1157920892373160[0-9]{62}|1157920892373161[0-8][0-9]{61}|11579208923731619[0-4][0-9]{60}|115792089237316195[0-3][0-9]{59}|1157920892373161954[0-1][0-9]{58}|11579208923731619542[0-2][0-9]{57}|115792089237316195423[0-4][0-9]{56}|1157920892373161954235[0-6][0-9]{55}|115792089237316195423570[0-8][0-9]{53}|1157920892373161954235709[0-7][0-9]{52}|11579208923731619542357098[0-4][0-9]{51}|11579208923731619542357098500[0-7][0-9]{48}|115792089237316195423570985008[0-5][0-9]{47}|1157920892373161954235709850086[0-7][0-9]{46}|11579208923731619542357098500868[0-6][0-9]{45}|115792089237316195423570985008687[0-8][0-9]{44}|11579208923731619542357098500868790[0-6][0-9]{42}|115792089237316195423570985008687907[0-7][0-9]{41}|1157920892373161954235709850086879078[0-4][0-9]{40}|11579208923731619542357098500868790785[0-2][0-9]{39}|115792089237316195423570985008687907853[0-1][0-9]{38}|1157920892373161954235709850086879078532[0-5][0-9]{37}|11579208923731619542357098500868790785326[0-8][0-9]{36}|115792089237316195423570985008687907853269[0-8][0-9]{35}|1157920892373161954235709850086879078532699[0-7][0-9]{34}|11579208923731619542357098500868790785326998[0-3][0-9]{33}|115792089237316195423570985008687907853269984[0-5][0-9]{32}|1157920892373161954235709850086879078532699846[0-5][0-9]{31}|11579208923731619542357098500868790785326998466[0-4][0-9]{30}|115792089237316195423570985008687907853269984665[0-5][0-9]{29}|1157920892373161954235709850086879078532699846656[0-3][0-9]{28}|115792089237316195423570985008687907853269984665640[0-4][0-9]{26}|1157920892373161954235709850086879078532699846656405[0-5][0-9]{25}|11579208923731619542357098500868790785326998466564056[0-3][0-9]{24}|1157920892373161954235709850086879078532699846656405640[0-2][0-9]{22}|11579208923731619542357098500868790785326998466564056403[0-8][0-9]{21}|115792089237316195423570985008687907853269984665640564039[0-3][0-9]{20}|1157920892373161954235709850086879078532699846656405640394[0-4][0-9]{19}|11579208923731619542357098500868790785326998466564056403945[0-6][0-9]{18}|115792089237316195423570985008687907853269984665640564039457[0-4][0-9]{17}|1157920892373161954235709850086879078532699846656405640394575[0-7][0-9]{16}|11579208923731619542357098500868790785326998466564056403945758[0-3][0-9]{15}|11579208923731619542357098500868790785326998466564056403945758400[0-6][0-9]{12}|115792089237316195423570985008687907853269984665640564039457584007[0-8][0-9]{11}|11579208923731619542357098500868790785326998466564056403945758400790[0-9]{10}|11579208923731619542357098500868790785326998466564056403945758400791[0-2][0-9]{9}|1157920892373161954235709850086879078532699846656405640394575840079130[0-9]{8}|1157920892373161954235709850086879078532699846656405640394575840079131[0-1][0-9]{7}|11579208923731619542357098500868790785326998466564056403945758400791312[0-8][0-9]{6}|115792089237316195423570985008687907853269984665640564039457584007913129[0-5][0-9]{5}|1157920892373161954235709850086879078532699846656405640394575840079131296[0-2][0-9]{4}|11579208923731619542357098500868790785326998466564056403945758400791312963[0-8][0-9]{3}|115792089237316195423570985008687907853269984665640564039457584007913129639[0-8][0-9]{2}|1157920892373161954235709850086879078532699846656405640394575840079131296399[0-2][0-9]{1}|11579208923731619542357098500868790785326998466564056403945758400791312963993[0-4]|115792089237316195423570985008687907853269984665640564039457584007913129639935)$"
                    },
                    "observedAt": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    },
                    "retrievedAt": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    }
                  },
                  "required": [
                    "feedId",
                    "instrumentId",
                    "evidenceChainId",
                    "currency",
                    "priceBasis",
                    "corporateActionVersion",
                    "session",
                    "priceE8",
                    "observedAt",
                    "retrievedAt"
                  ],
                  "additionalProperties": false
                }
              },
              "market": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "instrumentId": {
                        "type": "string",
                        "pattern": "^0x[0-9a-f]{64}$"
                      },
                      "mic": {
                        "type": "string",
                        "pattern": "^[A-Z0-9]{4}$"
                      },
                      "source": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
                      },
                      "session": {
                        "type": "string",
                        "enum": ["REGULAR", "PRE", "POST", "OVERNIGHT", "CLOSED", "UNKNOWN"]
                      },
                      "halt": {
                        "type": "string",
                        "enum": ["CLEAR", "HALTED", "UNKNOWN"]
                      },
                      "corporateAction": {
                        "type": "string",
                        "enum": ["CLEAR", "PENDING", "UNKNOWN"]
                      },
                      "observedAt": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "validUntil": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      }
                    },
                    "required": [
                      "instrumentId",
                      "mic",
                      "source",
                      "session",
                      "halt",
                      "corporateAction",
                      "observedAt",
                      "validUntil"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "evidence": {
                "maxItems": 32,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "kind": {
                      "type": "string",
                      "enum": ["reserve", "eligibility", "redemption"]
                    },
                    "instrumentId": {
                      "type": "string",
                      "pattern": "^0x[0-9a-f]{64}$"
                    },
                    "subject": {
                      "type": "string",
                      "maxLength": 200
                    },
                    "source": {
                      "type": "string",
                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
                    },
                    "status": {
                      "type": "string",
                      "enum": ["OK", "BLOCKED", "UNKNOWN"]
                    },
                    "observedAt": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    },
                    "validUntil": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    }
                  },
                  "required": [
                    "kind",
                    "instrumentId",
                    "subject",
                    "source",
                    "status",
                    "observedAt",
                    "validUntil"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": ["instrument", "request", "prices", "market", "evidence"],
            "additionalProperties": false
          },
          "policy": {
            "type": "object",
            "properties": {
              "schema": {
                "type": "string",
                "const": "insight.rwa-policy.v1"
              },
              "name": {
                "type": "string",
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
              },
              "instrumentId": {
                "type": "string",
                "pattern": "^0x[0-9a-f]{64}$"
              },
              "environment": {
                "type": "string",
                "enum": ["production", "simulation"]
              },
              "minProviders": {
                "type": "integer",
                "minimum": 2,
                "maximum": 32
              },
              "minIndependentGroups": {
                "type": "integer",
                "minimum": 2,
                "maximum": 32
              },
              "maxPriceAgeSeconds": {
                "type": "integer",
                "minimum": 1,
                "maximum": 86400
              },
              "maxStateAgeSeconds": {
                "type": "integer",
                "minimum": 1,
                "maximum": 86400
              },
              "maxSpreadBps": {
                "type": "integer",
                "minimum": 0,
                "maximum": 10000
              },
              "reportTtlSeconds": {
                "type": "integer",
                "minimum": 1,
                "maximum": 300
              },
              "feeds": {
                "type": "object",
                "propertyNames": {
                  "type": "string",
                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
                },
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "group": {
                      "type": "string",
                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
                    },
                    "derived": {
                      "type": "boolean"
                    },
                    "evidenceChainId": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    }
                  },
                  "required": ["group", "derived", "evidenceChainId"],
                  "additionalProperties": false
                }
              },
              "stateSources": {
                "maxItems": 32,
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
                }
              },
              "evidenceSources": {
                "type": "object",
                "properties": {
                  "reserve": {
                    "maxItems": 32,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
                    }
                  },
                  "eligibility": {
                    "maxItems": 32,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
                    }
                  },
                  "redemption": {
                    "maxItems": 32,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
                    }
                  }
                },
                "required": ["reserve", "eligibility", "redemption"],
                "additionalProperties": false
              },
              "actions": {
                "type": "object",
                "properties": {
                  "buy": {
                    "type": "object",
                    "properties": {
                      "priceRequired": {
                        "type": "boolean"
                      },
                      "allowedSessions": {
                        "maxItems": 6,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": ["REGULAR", "PRE", "POST", "OVERNIGHT", "CLOSED", "UNKNOWN"]
                        }
                      },
                      "requiredEvidence": {
                        "maxItems": 3,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": ["reserve", "eligibility", "redemption"]
                        }
                      }
                    },
                    "required": ["priceRequired", "allowedSessions", "requiredEvidence"],
                    "additionalProperties": false
                  },
                  "sell": {
                    "type": "object",
                    "properties": {
                      "priceRequired": {
                        "type": "boolean"
                      },
                      "allowedSessions": {
                        "maxItems": 6,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": ["REGULAR", "PRE", "POST", "OVERNIGHT", "CLOSED", "UNKNOWN"]
                        }
                      },
                      "requiredEvidence": {
                        "maxItems": 3,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": ["reserve", "eligibility", "redemption"]
                        }
                      }
                    },
                    "required": ["priceRequired", "allowedSessions", "requiredEvidence"],
                    "additionalProperties": false
                  },
                  "borrow": {
                    "type": "object",
                    "properties": {
                      "priceRequired": {
                        "type": "boolean"
                      },
                      "allowedSessions": {
                        "maxItems": 6,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": ["REGULAR", "PRE", "POST", "OVERNIGHT", "CLOSED", "UNKNOWN"]
                        }
                      },
                      "requiredEvidence": {
                        "maxItems": 3,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": ["reserve", "eligibility", "redemption"]
                        }
                      }
                    },
                    "required": ["priceRequired", "allowedSessions", "requiredEvidence"],
                    "additionalProperties": false
                  },
                  "collateralize": {
                    "type": "object",
                    "properties": {
                      "priceRequired": {
                        "type": "boolean"
                      },
                      "allowedSessions": {
                        "maxItems": 6,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": ["REGULAR", "PRE", "POST", "OVERNIGHT", "CLOSED", "UNKNOWN"]
                        }
                      },
                      "requiredEvidence": {
                        "maxItems": 3,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": ["reserve", "eligibility", "redemption"]
                        }
                      }
                    },
                    "required": ["priceRequired", "allowedSessions", "requiredEvidence"],
                    "additionalProperties": false
                  },
                  "liquidate": {
                    "type": "object",
                    "properties": {
                      "priceRequired": {
                        "type": "boolean"
                      },
                      "allowedSessions": {
                        "maxItems": 6,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": ["REGULAR", "PRE", "POST", "OVERNIGHT", "CLOSED", "UNKNOWN"]
                        }
                      },
                      "requiredEvidence": {
                        "maxItems": 3,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": ["reserve", "eligibility", "redemption"]
                        }
                      }
                    },
                    "required": ["priceRequired", "allowedSessions", "requiredEvidence"],
                    "additionalProperties": false
                  },
                  "redeem": {
                    "type": "object",
                    "properties": {
                      "priceRequired": {
                        "type": "boolean"
                      },
                      "allowedSessions": {
                        "maxItems": 6,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": ["REGULAR", "PRE", "POST", "OVERNIGHT", "CLOSED", "UNKNOWN"]
                        }
                      },
                      "requiredEvidence": {
                        "maxItems": 3,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": ["reserve", "eligibility", "redemption"]
                        }
                      }
                    },
                    "required": ["priceRequired", "allowedSessions", "requiredEvidence"],
                    "additionalProperties": false
                  },
                  "repay": {
                    "type": "object",
                    "properties": {
                      "priceRequired": {
                        "type": "boolean"
                      },
                      "allowedSessions": {
                        "maxItems": 6,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": ["REGULAR", "PRE", "POST", "OVERNIGHT", "CLOSED", "UNKNOWN"]
                        }
                      },
                      "requiredEvidence": {
                        "maxItems": 3,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": ["reserve", "eligibility", "redemption"]
                        }
                      }
                    },
                    "required": ["priceRequired", "allowedSessions", "requiredEvidence"],
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "schema",
              "name",
              "instrumentId",
              "environment",
              "minProviders",
              "minIndependentGroups",
              "maxPriceAgeSeconds",
              "maxStateAgeSeconds",
              "maxSpreadBps",
              "reportTtlSeconds",
              "feeds",
              "stateSources",
              "evidenceSources",
              "actions"
            ],
            "additionalProperties": false
          }
        },
        "required": ["input", "policy"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_robinhood_rwa_instrument",
      "description": "Resolve a Robinhood Stock Token to Insight committed master data, using share-class FIGI for the underlying and ISO 10383 MIC for its primary market, then cross-check issuer UID, ISIN and contract deployment. Reference/admission evidence only; it never counts toward price quorum or authorizes a trade.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "pattern": "^[A-Za-z][A-Za-z0-9.-]{0,15}$",
            "description": "Robinhood Stock Token symbol, e.g. AAPL, NVDA, SPY"
          },
          "verifyOnchain": {
            "type": "boolean",
            "default": true,
            "description": "Also collect the existing on-chain issuer-context integrity checks"
          }
        },
        "required": ["symbol"]
      }
    },
    {
      "name": "get_robinhood_rwa_context",
      "description": "Get Robinhood Stock Token issuer context: official asset identity, trading capabilities, halt state, corporate actions, multiplier-normalized reference price, and optional on-chain ERC-8056 verification. First-party evidence only; it is not an independent oracle and never counts toward oracle quorum or authorizes a trade.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "pattern": "^[A-Za-z][A-Za-z0-9.-]{0,15}$",
            "description": "Robinhood Stock Token symbol, e.g. AAPL, NVDA, SPY"
          },
          "verifyOnchain": {
            "type": "boolean",
            "default": true,
            "description": "Cross-check the REST multiplier and pause state on Robinhood Chain"
          }
        },
        "required": ["symbol"]
      }
    },
    {
      "name": "get_oracle_price",
      "description": "Fetch the latest price from a specific oracle provider for an asset.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "enum": [
              "chainlink",
              "api3",
              "redstone",
              "dia",
              "winklink",
              "supra",
              "twap",
              "reflector",
              "flare",
              "band"
            ],
            "description": "Oracle provider name, e.g. chainlink, redstone, api3"
          },
          "symbol": {
            "type": "string",
            "description": "Asset symbol, e.g. BTC, ETH, BTC/USD"
          },
          "chain": {
            "description": "Optional blockchain, e.g. ethereum, arbitrum, base",
            "type": "string",
            "enum": [
              "ethereum",
              "arbitrum",
              "optimism",
              "polygon",
              "solana",
              "avalanche",
              "fantom",
              "cronos",
              "juno",
              "cosmos",
              "osmosis",
              "bnb-chain",
              "base",
              "scroll",
              "zksync",
              "aptos",
              "sui",
              "gnosis",
              "mantle",
              "linea",
              "celestia",
              "injective",
              "sei",
              "tron",
              "ton",
              "near",
              "aurora",
              "celo",
              "starknet",
              "blast",
              "cardano",
              "polkadot",
              "kava",
              "moonbeam",
              "moonriver",
              "metis",
              "starkex",
              "stellar",
              "flare",
              "supra-chain",
              "bandchain"
            ]
          },
          "forceRefresh": {
            "description": "Force refresh from upstream instead of cache",
            "type": "boolean"
          }
        },
        "required": ["provider", "symbol"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_consensus_price",
      "description": "Get the aggregated consensus price for an asset across multiple oracle providers. Useful when you need a robust, manipulation-resistant reference price.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "description": "Asset symbol, e.g. BTC, ETH"
          },
          "chain": {
            "description": "Optional blockchain filter",
            "type": "string",
            "enum": [
              "ethereum",
              "arbitrum",
              "optimism",
              "polygon",
              "solana",
              "avalanche",
              "fantom",
              "cronos",
              "juno",
              "cosmos",
              "osmosis",
              "bnb-chain",
              "base",
              "scroll",
              "zksync",
              "aptos",
              "sui",
              "gnosis",
              "mantle",
              "linea",
              "celestia",
              "injective",
              "sei",
              "tron",
              "ton",
              "near",
              "aurora",
              "celo",
              "starknet",
              "blast",
              "cardano",
              "polkadot",
              "kava",
              "moonbeam",
              "moonriver",
              "metis",
              "starkex",
              "stellar",
              "flare",
              "supra-chain",
              "bandchain"
            ]
          },
          "method": {
            "description": "Consensus aggregation method",
            "type": "string",
            "enum": ["median", "trimmed_mean", "weighted_median", "iqr_filtered"]
          }
        },
        "required": ["symbol"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_risk_summary",
      "description": "Get a composite risk summary for an asset across selected oracle providers. Includes HHI concentration, volatility, correlation, freshness, manipulation resistance, and shared-dependency risk.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "description": "Asset symbol, e.g. BTC, ETH"
          },
          "providers": {
            "minItems": 2,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "chainlink",
                "api3",
                "redstone",
                "dia",
                "winklink",
                "supra",
                "twap",
                "reflector",
                "flare",
                "band"
              ]
            },
            "description": "Oracle providers to analyze, e.g. [\"chainlink\", \"redstone\", \"api3\"]"
          },
          "period": {
            "description": "Analysis period in hours, default 168 (7 days)",
            "type": "integer",
            "minimum": 1,
            "maximum": 8760
          }
        },
        "required": ["symbol", "providers"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_oracle_health",
      "description": "Get the ecosystem-wide oracle health report for a specific date (uptime, staleness, and success rates across all providers). Use this for a dated snapshot of overall health. For a single feed by UUID use get_feed_health; to scan current freshness across many feeds use get_feed_freshness.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "date": {
            "description": "Date in YYYY-MM-DD format, defaults to today",
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "check_liquidation_risk",
      "description": "Check protocol liquidation risk for a specific date. Returns stress-test results based on representative benchmark positions.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "date": {
            "description": "Date in YYYY-MM-DD format, defaults to today",
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "compare_oracle_deviation",
      "description": "Compare historical price deviations across oracle providers for an asset. Helps identify which providers consistently diverge from consensus.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "description": "Asset symbol, e.g. BTC, ETH"
          },
          "from": {
            "description": "Start date in YYYY-MM-DD format",
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "to": {
            "description": "End date in YYYY-MM-DD format",
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "interval": {
            "description": "Aggregation interval",
            "type": "string",
            "enum": ["1h", "6h", "24h"]
          }
        },
        "required": ["symbol"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_stablecoin_peg",
      "description": "Check stablecoin peg status. Provide a symbol for a specific stablecoin, or omit it to get all tracked stablecoins.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "symbol": {
            "description": "Stablecoin symbol. Supported: USDC, USDT, DAI, FRAX, LUSD",
            "type": "string",
            "enum": ["USDC", "USDT", "DAI", "FRAX", "LUSD"]
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get_protocol_risk_params",
      "description": "Get risk parameters for a specific DeFi protocol, including liquidation thresholds, LTV ratios, and collateral factors.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "protocol": {
            "type": "string",
            "minLength": 1,
            "description": "Protocol name or slug, e.g. aave-v3, compound-v3"
          }
        },
        "required": ["protocol"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_symbols",
      "description": "List supported asset symbols. Optionally filter by a search query. Use this when you are unsure whether a symbol is supported.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "query": {
            "description": "Optional search query to filter symbols",
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "recommend_oracle_setup",
      "description": "Recommend oracle provider setup for an asset based on active feeds. Use this to decide which providers to include in price feeds or risk analysis.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "description": "Asset symbol to recommend an oracle setup for, e.g. BTC, ETH"
          }
        },
        "required": ["symbol"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_stablecoin_list",
      "description": "List all tracked stablecoin symbols.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "query": {
            "description": "Optional search query to filter symbols",
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get_oracle_prices_batch",
      "description": "Fetch prices for multiple assets/providers in a single request. Up to 20 queries.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "queries": {
            "minItems": 1,
            "maxItems": 20,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string",
                  "enum": [
                    "chainlink",
                    "api3",
                    "redstone",
                    "dia",
                    "winklink",
                    "supra",
                    "twap",
                    "reflector",
                    "flare",
                    "band"
                  ],
                  "description": "Oracle provider name"
                },
                "symbol": {
                  "type": "string",
                  "description": "Asset symbol"
                },
                "chain": {
                  "description": "Optional blockchain",
                  "type": "string",
                  "enum": [
                    "ethereum",
                    "arbitrum",
                    "optimism",
                    "polygon",
                    "solana",
                    "avalanche",
                    "fantom",
                    "cronos",
                    "juno",
                    "cosmos",
                    "osmosis",
                    "bnb-chain",
                    "base",
                    "scroll",
                    "zksync",
                    "aptos",
                    "sui",
                    "gnosis",
                    "mantle",
                    "linea",
                    "celestia",
                    "injective",
                    "sei",
                    "tron",
                    "ton",
                    "near",
                    "aurora",
                    "celo",
                    "starknet",
                    "blast",
                    "cardano",
                    "polkadot",
                    "kava",
                    "moonbeam",
                    "moonriver",
                    "metis",
                    "starkex",
                    "stellar",
                    "flare",
                    "supra-chain",
                    "bandchain"
                  ]
                }
              },
              "required": ["provider", "symbol"],
              "additionalProperties": false
            },
            "description": "Array of price queries"
          },
          "forceRefresh": {
            "description": "Force refresh from upstream instead of cache",
            "type": "boolean"
          }
        },
        "required": ["queries"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_price_history",
      "description": "Get historical price data for an asset from a specific oracle provider over a period (in hours).",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "enum": [
              "chainlink",
              "api3",
              "redstone",
              "dia",
              "winklink",
              "supra",
              "twap",
              "reflector",
              "flare",
              "band"
            ],
            "description": "Oracle provider name"
          },
          "symbol": {
            "type": "string",
            "description": "Asset symbol"
          },
          "chain": {
            "description": "Optional blockchain",
            "type": "string",
            "enum": [
              "ethereum",
              "arbitrum",
              "optimism",
              "polygon",
              "solana",
              "avalanche",
              "fantom",
              "cronos",
              "juno",
              "cosmos",
              "osmosis",
              "bnb-chain",
              "base",
              "scroll",
              "zksync",
              "aptos",
              "sui",
              "gnosis",
              "mantle",
              "linea",
              "celestia",
              "injective",
              "sei",
              "tron",
              "ton",
              "near",
              "aurora",
              "celo",
              "starknet",
              "blast",
              "cardano",
              "polkadot",
              "kava",
              "moonbeam",
              "moonriver",
              "metis",
              "starkex",
              "stellar",
              "flare",
              "supra-chain",
              "bandchain"
            ]
          },
          "period": {
            "type": "integer",
            "minimum": 1,
            "maximum": 8760,
            "description": "Historical period in hours"
          },
          "forceRefresh": {
            "description": "Force refresh from upstream instead of cache",
            "type": "boolean"
          }
        },
        "required": ["provider", "symbol", "period"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_cross_chain_spreads",
      "description": "Get pairwise price spreads across chains for a given provider and symbol. Useful for cross-chain arbitrage and risk tracking.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "enum": [
              "chainlink",
              "api3",
              "redstone",
              "dia",
              "winklink",
              "supra",
              "twap",
              "reflector",
              "flare",
              "band"
            ],
            "description": "Oracle provider name"
          },
          "symbol": {
            "type": "string",
            "description": "Asset symbol"
          },
          "baseChain": {
            "description": "Base chain for spread calculation",
            "type": "string",
            "enum": [
              "ethereum",
              "arbitrum",
              "optimism",
              "polygon",
              "solana",
              "avalanche",
              "fantom",
              "cronos",
              "juno",
              "cosmos",
              "osmosis",
              "bnb-chain",
              "base",
              "scroll",
              "zksync",
              "aptos",
              "sui",
              "gnosis",
              "mantle",
              "linea",
              "celestia",
              "injective",
              "sei",
              "tron",
              "ton",
              "near",
              "aurora",
              "celo",
              "starknet",
              "blast",
              "cardano",
              "polkadot",
              "kava",
              "moonbeam",
              "moonriver",
              "metis",
              "starkex",
              "stellar",
              "flare",
              "supra-chain",
              "bandchain"
            ]
          }
        },
        "required": ["provider", "symbol"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_wrapped_asset_peg",
      "description": "Check wrapped asset (e.g. WBTC, wstETH) peg status. Provide a symbol for a specific asset, or omit it to get all tracked wrapped assets.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "symbol": {
            "description": "Wrapped asset symbol. Supported: WBTC, wstETH, cbETH, BTCB, STETH, cbBTC, tBTC",
            "type": "string",
            "enum": ["WBTC", "wstETH", "cbETH", "BTCB", "STETH", "cbBTC", "tBTC"]
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get_protocols",
      "description": "Get a list of lending protocols with dynamic data (TVL, asset counts, oracle providers used). Optionally filter by name/slug query.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "query": {
            "description": "Optional search query to filter protocols",
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get_protocol_oracle_exposure",
      "description": "Analyze oracle provider concentration risk for a specific lending protocol. Shows which providers cover which assets and concentration metrics.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "protocol": {
            "type": "string",
            "minLength": 1,
            "description": "Protocol ID or slug, e.g. aave-v3, compound-v3"
          }
        },
        "required": ["protocol"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_feed_freshness",
      "description": "Scan current freshness/staleness across many active feeds, filterable by provider, symbol, or category. Use this to find feeds needing attention right now. For a single feed by UUID use get_feed_health; for a dated ecosystem-wide report use get_oracle_health.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "provider": {
            "description": "Filter by oracle provider",
            "type": "string",
            "enum": [
              "chainlink",
              "api3",
              "redstone",
              "dia",
              "winklink",
              "supra",
              "twap",
              "reflector",
              "flare",
              "band"
            ]
          },
          "symbol": {
            "description": "Filter by asset symbol",
            "type": "string"
          },
          "category": {
            "description": "Filter by feed category",
            "type": "string",
            "enum": ["crypto", "stablecoin", "forex", "commodity", "wrapped", "lst"]
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get_feeds",
      "description": "List oracle feeds from the registry with optional filters (provider, symbol, category, chain, active status). Useful for discovering available feeds and their metadata.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "provider": {
            "description": "Filter by oracle provider",
            "type": "string",
            "enum": [
              "chainlink",
              "api3",
              "redstone",
              "dia",
              "winklink",
              "supra",
              "twap",
              "reflector",
              "flare",
              "band"
            ]
          },
          "symbol": {
            "description": "Filter by asset symbol",
            "type": "string"
          },
          "category": {
            "description": "Filter by feed category",
            "type": "string",
            "enum": ["crypto", "stablecoin", "forex", "commodity", "wrapped", "lst"]
          },
          "chainId": {
            "description": "Filter by chain ID",
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "isActive": {
            "description": "Filter by active status",
            "type": "boolean"
          },
          "limit": {
            "description": "Maximum results",
            "type": "integer",
            "minimum": 1,
            "maximum": 500
          },
          "offset": {
            "description": "Pagination offset",
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get_feed_health",
      "description": "Get detailed point-in-time health status for ONE specific oracle feed by its UUID (consecutive failures, last success/failure, status). For ecosystem-wide health by date use get_oracle_health; to scan freshness across many feeds use get_feed_freshness.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "feedId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "description": "Oracle feed UUID"
          }
        },
        "required": ["feedId"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_feed_uptime",
      "description": "Analyze feed data-delivery reliability over a date range: success rate, hours with data, coverage %, and average snapshots per day per provider+symbol. Use this to assess how completely a feed delivered data over time — distinct from get_feed_health (point-in-time status) and get_latency (speed).",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "provider": {
            "description": "Filter by oracle provider",
            "type": "string",
            "enum": [
              "chainlink",
              "api3",
              "redstone",
              "dia",
              "winklink",
              "supra",
              "twap",
              "reflector",
              "flare",
              "band"
            ]
          },
          "symbol": {
            "description": "Filter by asset symbol",
            "type": "string"
          },
          "from": {
            "description": "Start date in YYYY-MM-DD format",
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "to": {
            "description": "End date in YYYY-MM-DD format",
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get_reputation_rankings",
      "description": "Get oracle provider reputation rankings with trend over a period (1-90 days).",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "days": {
            "description": "Trend period in days",
            "type": "integer",
            "minimum": 1,
            "maximum": 90
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get_provider_reputation",
      "description": "Get detailed reputation metrics for a specific oracle provider, optionally with historical trend.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "enum": [
              "chainlink",
              "api3",
              "redstone",
              "dia",
              "winklink",
              "supra",
              "twap",
              "reflector",
              "flare",
              "band"
            ],
            "description": "Oracle provider name"
          },
          "trend": {
            "description": "Include historical trend data",
            "type": "boolean"
          },
          "days": {
            "description": "Trend period in days",
            "type": "integer",
            "minimum": 1,
            "maximum": 365
          }
        },
        "required": ["provider"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_daily_report",
      "description": "Get the full daily oracle/risk report for a specific date, including liquidation risks, anomalies, and market summary.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "date": {
            "description": "Date in YYYY-MM-DD format, defaults to today",
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get_incidents",
      "description": "Get oracle incidents and deviation events within a date range. Filter by provider and minimum severity.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "provider": {
            "description": "Filter by oracle provider",
            "type": "string",
            "enum": [
              "chainlink",
              "api3",
              "redstone",
              "dia",
              "winklink",
              "supra",
              "twap",
              "reflector",
              "flare",
              "band"
            ]
          },
          "minSeverity": {
            "description": "Minimum severity",
            "type": "string",
            "enum": ["low", "medium", "high", "critical"]
          },
          "from": {
            "description": "Start date in YYYY-MM-DD format",
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "to": {
            "description": "End date in YYYY-MM-DD format",
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "limit": {
            "description": "Maximum results",
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          },
          "offset": {
            "description": "Pagination offset",
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get_latency",
      "description": "Analyze 15-minute oracle collector latency statistics (min, mean, p50, p90, p95, p99) over a date range, optionally filtered by provider or symbol.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "provider": {
            "description": "Filter by oracle provider",
            "type": "string",
            "enum": [
              "chainlink",
              "api3",
              "redstone",
              "dia",
              "winklink",
              "supra",
              "twap",
              "reflector",
              "flare",
              "band"
            ]
          },
          "symbol": {
            "description": "Filter by asset symbol",
            "type": "string"
          },
          "from": {
            "description": "Start date in YYYY-MM-DD format",
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "to": {
            "description": "End date in YYYY-MM-DD format",
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get_anomalies",
      "description": "Get aggregated oracle anomaly events over a lookback period (1-30 days), including top deviation events and risk impacts.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "days": {
            "description": "Lookback period in days",
            "type": "integer",
            "minimum": 1,
            "maximum": 30
          }
        },
        "additionalProperties": false
      }
    },
    {
      "name": "get_correlation",
      "description": "Compute pairwise Pearson correlation of oracle provider deviations for an asset over a date range. Helps identify independent vs correlated providers.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "description": "Asset symbol, e.g. BTC, ETH"
          },
          "from": {
            "description": "Start date in YYYY-MM-DD format",
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "to": {
            "description": "End date in YYYY-MM-DD format",
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          }
        },
        "required": ["symbol"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_coverage",
      "description": "Identify oracle coverage gaps and single-provider-risk symbols (assets served by only one oracle — a concentration risk). Returns breakdowns by provider, chain, and symbol. Use this when assessing where coverage is thin. For ecosystem scale plus top reputable providers, use get_metrics instead.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    },
    {
      "name": "get_metrics",
      "description": "Compact ecosystem overview: provider/feed/symbol/chain/category counts plus top providers ranked by reputation score. Use this for a quick scale snapshot or provider ranking. To find coverage gaps and single-provider risk, use get_coverage instead.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    },
    {
      "name": "check_position_safety",
      "description": "Check the safety of a DeFi lending position against oracle deviation stress tests. Supports multi-asset or single-asset positions.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "protocolId": {
            "type": "string",
            "minLength": 1,
            "description": "Protocol ID or slug"
          },
          "collaterals": {
            "description": "Multi-asset collateral positions",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Asset symbol"
                },
                "amount": {
                  "type": "number",
                  "exclusiveMinimum": 0,
                  "description": "Asset amount"
                }
              },
              "required": ["symbol", "amount"],
              "additionalProperties": false
            }
          },
          "borrows": {
            "description": "Multi-asset borrow positions",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Asset symbol"
                },
                "amount": {
                  "type": "number",
                  "exclusiveMinimum": 0,
                  "description": "Asset amount"
                }
              },
              "required": ["symbol", "amount"],
              "additionalProperties": false
            }
          },
          "collateralSymbol": {
            "description": "Single-asset collateral symbol",
            "type": "string"
          },
          "collateralAmount": {
            "description": "Single-asset collateral amount",
            "type": "number",
            "exclusiveMinimum": 0
          },
          "borrowSymbol": {
            "description": "Single-asset borrow symbol",
            "type": "string"
          },
          "borrowAmount": {
            "description": "Single-asset borrow amount",
            "type": "number",
            "exclusiveMinimum": 0
          }
        },
        "required": ["protocolId"],
        "additionalProperties": false
      }
    },
    {
      "name": "pre_trade_safety_check",
      "description": "Pre-trade oracle safety checkpoint for AI agents. Call this BEFORE executing any on-chain swap/borrow/lend/liquidation/repay to assess oracle risk. Aggregates cross-oracle consensus prices, per-provider deviation, data freshness, stablecoin peg status, and reputation into a single verdict: PASS / CAUTION / DANGER / BLOCK. AI agents MUST NOT execute trades when the verdict is DANGER or BLOCK. Also returns a recommended maximum position size. A PASS is not principal authorization or a guarantee of price correctness or economic safety.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "asset": {
            "type": "string",
            "description": "Asset symbol being traded, e.g. BTC, ETH, USDC"
          },
          "chainId": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "description": "Chain ID where the trade executes, e.g. 1=Ethereum, 42161=Arbitrum, 8453=Base. Use 0 for chain-agnostic."
          },
          "action": {
            "type": "string",
            "enum": ["swap", "borrow", "lend", "liquidate", "repay"]
          },
          "tradeAmountUsd": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Trade size in USD"
          },
          "targetProviders": {
            "description": "Optional: restrict the check to specific oracle providers",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "chainlink",
                "api3",
                "redstone",
                "dia",
                "winklink",
                "supra",
                "twap",
                "reflector",
                "flare",
                "band"
              ]
            }
          }
        },
        "required": ["asset", "chainId", "action", "tradeAmountUsd"],
        "additionalProperties": false
      }
    },
    {
      "name": "oracle_watch",
      "description": "Ongoing cross-oracle risk signal for an asset: current consensus deviation, agreement, quorum, outliers and staleness condensed into a NORMAL / CAUTION / DANGER verdict with a proceed / proceed_with_caution / halt recommendation. Agents should gate long-running strategies (yield, keeper, portfolio) on this signal, not just one-off trades. Pair it with pre_trade_safety_check for the decision moment.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "description": "Asset symbol, e.g. BTC, ETH"
          },
          "chain": {
            "description": "Optional blockchain filter",
            "type": "string",
            "enum": [
              "ethereum",
              "arbitrum",
              "optimism",
              "polygon",
              "solana",
              "avalanche",
              "fantom",
              "cronos",
              "juno",
              "cosmos",
              "osmosis",
              "bnb-chain",
              "base",
              "scroll",
              "zksync",
              "aptos",
              "sui",
              "gnosis",
              "mantle",
              "linea",
              "celestia",
              "injective",
              "sei",
              "tron",
              "ton",
              "near",
              "aurora",
              "celo",
              "starknet",
              "blast",
              "cardano",
              "polkadot",
              "kava",
              "moonbeam",
              "moonriver",
              "metis",
              "starkex",
              "stellar",
              "flare",
              "supra-chain",
              "bandchain"
            ]
          }
        },
        "required": ["symbol"],
        "additionalProperties": false
      }
    },
    {
      "name": "oracle_watch_history",
      "description": "Retrospective Oracle Watch trend for an asset: verdict stability, degraded-time ratio, worst deviation and mean credibility over the last N days, plus the recent series. Use it to judge whether a feed has been dependable, not just whether it is healthy this instant. History is guaranteed only for the committed universe (ETH/BTC/USDC/USDT x ethereum/arbitrum/base); other pairs return a live point signal from oracle_watch but no curve.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "description": "Asset symbol, e.g. BTC, ETH"
          },
          "chain": {
            "description": "Optional blockchain filter",
            "type": "string",
            "enum": [
              "ethereum",
              "arbitrum",
              "optimism",
              "polygon",
              "solana",
              "avalanche",
              "fantom",
              "cronos",
              "juno",
              "cosmos",
              "osmosis",
              "bnb-chain",
              "base",
              "scroll",
              "zksync",
              "aptos",
              "sui",
              "gnosis",
              "mantle",
              "linea",
              "celestia",
              "injective",
              "sei",
              "tron",
              "ton",
              "near",
              "aurora",
              "celo",
              "starknet",
              "blast",
              "cardano",
              "polkadot",
              "kava",
              "moonbeam",
              "moonriver",
              "metis",
              "starkex",
              "stellar",
              "flare",
              "supra-chain",
              "bandchain"
            ]
          },
          "days": {
            "description": "Look-back window in days (1-90, default 7)",
            "type": "integer",
            "minimum": 1,
            "maximum": 90
          },
          "interval": {
            "description": "Aggregation grain: 30min, hourly, or daily. Default hourly; 8-30d raw requests roll up hourly and windows over 30d roll up daily",
            "type": "string",
            "enum": ["30min", "hourly", "daily"]
          }
        },
        "required": ["symbol"],
        "additionalProperties": false
      }
    },
    {
      "name": "execution_receipt",
      "description": "Issue signed execution-price evidence comparing an observed fill with the oracle-assessed quote and signed slippage band. Provide the pre-trade fields (preTradeUid, requestHash, asset ids, chain, oracle gate counts) plus the settlement txHash. Insight collects the on-chain fill, signs a receipt paired to the pre-trade via preTradeUid + requestHash, and returns a FAITHFUL / DEVIATED / NOT_EXECUTED / UNDETERMINED verdict. This reports supported price/fill fidelity, not principal authorization or overall transaction safety. Pair it with pre_trade_safety_check and oracle_watch.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "preTradeUid": {
            "type": "string",
            "description": "UID of the paired pre-trade attestation"
          },
          "requestHash": {
            "type": "string",
            "description": "Canonical request commitment from the pre-trade attestation"
          },
          "sourceAssetId": {
            "type": "string",
            "description": "CAIP-19 id of the asset sold"
          },
          "destinationAssetId": {
            "type": "string",
            "description": "CAIP-19 id of the asset bought"
          },
          "subjectChainId": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "description": "Chain id the pre-trade was scoped to"
          },
          "settlementChainId": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "description": "Chain id the transaction settled on"
          },
          "participantCount": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "description": "Oracle providers the agent gated on"
          },
          "sourceGroupCount": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "description": "Distinct non-derived operator groups the agent gated on"
          },
          "preTradeSignedAt": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "description": "Unix seconds the pre-trade was signed"
          },
          "quotedPrice": {
            "type": "number",
            "description": "Target price, same convention as executedPrice (e.g. dest per source)"
          },
          "maxSlippageBps": {
            "description": "Pre-committed platform bound; currently fixed at 50 bps",
            "type": "number",
            "const": 50
          },
          "action": {
            "description": "Action label, e.g. SWAP",
            "type": "string"
          },
          "quotedAmountUsd": {
            "description": "Informational notional the agent intended",
            "type": "number"
          },
          "executedAmountUsd": {
            "description": "Informational notional actually filled",
            "type": "number"
          },
          "actualFeeUsd": {
            "description": "Informational fee paid",
            "type": "number"
          },
          "mevRiskScore": {
            "description": "Advisory 0..1 MEV-exposure estimate",
            "type": "number"
          },
          "txHash": {
            "type": "string",
            "description": "Settlement transaction hash"
          },
          "taker": {
            "description": "Address whose balances define the trade; defaults to tx sender",
            "type": "string"
          }
        },
        "required": [
          "preTradeUid",
          "requestHash",
          "sourceAssetId",
          "destinationAssetId",
          "subjectChainId",
          "settlementChainId",
          "participantCount",
          "sourceGroupCount",
          "preTradeSignedAt",
          "quotedPrice",
          "txHash"
        ],
        "additionalProperties": false
      }
    },
    {
      "name": "agent_begin_trade",
      "description": "Obtain oracle assessment evidence for a swap/DeFi intent BEFORE trading. Insight runs the oracle safety check and, if the verdict is PASS/CAUTION, returns a machine-readable \"execution certification handle\": preTradeUid, requestHash, CAIP-19 asset ids, the certified price (destination per source) and maxSlippageBps, plus participant/source-group counts and the pre-trade signing time. Execute the trade with YOUR wallet, then call execution_receipt with this handle + txHash to obtain the signed, verifiable Execution Receipt. If the verdict is DANGER or BLOCK this tool refuses (do not trade). This is oracle assessment evidence, not principal authorization — pair it with execution_receipt.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "asset": {
            "type": "string",
            "description": "Source asset symbol being sold, e.g. ETH, USDC"
          },
          "destinationAsset": {
            "type": "string",
            "description": "Destination asset symbol being bought, e.g. USDC, ETH"
          },
          "chainId": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "description": "Chain ID where the trade executes, e.g. 1=Ethereum, 42161=Arbitrum, 8453=Base"
          },
          "action": {
            "type": "string",
            "enum": ["swap", "borrow", "lend", "liquidate", "repay"]
          },
          "tradeAmountUsd": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Trade size in USD"
          },
          "maxSlippageBps": {
            "type": "number",
            "const": 50,
            "description": "Current pre-committed execution tolerance; custom values are rejected"
          },
          "targetProviders": {
            "description": "Optional: restrict the check to specific oracle providers",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "chainlink",
                "api3",
                "redstone",
                "dia",
                "winklink",
                "supra",
                "twap",
                "reflector",
                "flare",
                "band"
              ]
            }
          },
          "protocolId": {
            "description": "Optional lending protocol id (lending actions only)",
            "type": "string"
          },
          "sourceGroupCount": {
            "description": "Distinct non-derived operator groups; defaults to participantCount",
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "asset",
          "destinationAsset",
          "chainId",
          "action",
          "tradeAmountUsd",
          "maxSlippageBps"
        ],
        "additionalProperties": false
      }
    },
    {
      "name": "verify_execution_pair",
      "description": "Verify that a pre-trade oracle-safety attestation and an Execution Receipt describe the same assessed trade and that the certify → execute → prove loop closed. Returns pairedValid, the closed-loop status (CLOSED_FAITHFUL / CLOSED_DEVIATED / CLOSED_NOT_EXECUTED / CLOSED_UNDETERMINED, PRICE_-prefixed on v3 receipts whose signed verdict is priceExecutionStatus, or PAIR_INVALID), and the binding assertions (preTradeUid, requestHash, destination gate + preTradeUidsHash on v3, chain, asset). On a v3 receipt that commits to a destination gate, pass destinationPreTradeAttestation or the pair cannot close. This checks assessment/price-evidence binding; it does not establish principal authorization, price correctness, or economic safety. Pair it with agent_begin_trade and execution_receipt.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "preTradeAttestation": {
            "type": "object",
            "properties": {
              "uid": {
                "type": "string"
              },
              "schemaVersion": {
                "type": "number"
              },
              "attester": {
                "type": "string"
              },
              "data": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              "signature": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "eip712": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              }
            },
            "required": ["uid", "schemaVersion", "attester", "data", "signature"],
            "additionalProperties": {},
            "description": "The pre-trade oracle-safety attestation the agent gated on."
          },
          "executionReceipt": {
            "type": "object",
            "properties": {
              "uid": {
                "type": "string"
              },
              "schemaVersion": {
                "type": "number"
              },
              "attester": {
                "type": "string"
              },
              "signature": {
                "type": "string"
              },
              "data": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              }
            },
            "required": ["uid", "schemaVersion", "attester", "signature", "data"],
            "additionalProperties": {},
            "description": "The Execution Receipt to check against the pre-trade attestation."
          }
        },
        "required": ["preTradeAttestation", "executionReceipt"],
        "additionalProperties": false
      }
    }
  ],
  "resources": [],
  "prompts": []
}
