Decision-input integrity for onchain AI agents: verify oracle prices before signing a trade.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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 a required operation-input check for both asset legs and a fresh Uniswap V3 on-chain route quote cross-checked by two Ethereum RPCs. If either input assessment is not SUFFICIENT, either route quote is stale or outside policy, or either oracle gate blocks, no execution handle is issued. The assessments are independently EIP-712 signed and linked to the receipt through both pre-trade UIDs. 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.
Source asset symbol being sold, e.g. ETH, USDC
Chain ID where the trade executes, e.g. 1=Ethereum, 42161=Arbitrum, 8453=Base
Required operation-input gate for both assets and the caller-reported route quote. Insight also obtains an exact-notional Uniswap V3 quote on Ethereum mainnet, sized from a fresh Chainlink price and cross-checked by two RPCs at one block. No execution handle is issued unless both signed assessments pass and the on-chain quote, caller quote, and oracle cross-rate satisfy the 50 bps-capped policy. Supported pairs are ETH/WETH, USDC, and WBTC on Ethereum; other routes fail closed.
Current pre-committed execution tolerance; custom values are rejected
Trade size in USD
Destination asset symbol being bought, e.g. USDC, ETH
Optional lending protocol id (lending actions only)
Optional: restrict the check to specific oracle providers
Distinct non-derived operator groups; defaults to participantCount
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Tool list last changed Oct 23, 2026.
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 a required operation-input check for both asset legs and a fresh Uniswap V3 on-chain route quote cross-checked by two Ethereum RPCs. If either input assessment is not SUFFICIENT, either route quote is stale or outside policy, or either oracle gate blocks, no execution handle is issued. The assessments are independently EIP-712 signed and linked to the receipt through both pre-trade UIDs. 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.
| Argument | Type | Description |
|---|---|---|
| asset* | string | Source asset symbol being sold, e.g. ETH, USDC |
| action* | string | |
| chainId* | integer | Chain ID where the trade executes, e.g. 1=Ethereum, 42161=Arbitrum, 8453=Base |
| protocolId | string | Optional lending protocol id (lending actions only) |
| decisionInput* | object | Required operation-input gate for both assets and the caller-reported route quote. Insight also obtains an exact-notional Uniswap V3 quote on Ethereum mainnet, sized from a fresh Chainlink price and cross-checked by two RPCs at one block. No execution handle is issued unless both signed assessments pass and the on-chain quote, caller quote, and oracle cross-rate satisfy the 50 bps-capped policy. Supported pairs are ETH/WETH, USDC, and WBTC on Ethereum; other routes fail closed. |
| maxSlippageBps* | number | Current pre-committed execution tolerance; custom values are rejected |
| tradeAmountUsd* | number | Trade size in USD |
| targetProviders | array | Optional: restrict the check to specific oracle providers |
| destinationAsset* | string | Destination asset symbol being bought, e.g. USDC, ETH |
| sourceGroupCount | integer | Distinct non-derived operator groups; defaults to participantCount |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"asset",
"destinationAsset",
"chainId",
"action",
"tradeAmountUsd",
"maxSlippageBps",
"decisionInput"
],
"properties": {
"asset": {
"type": "string",
"description": "Source asset symbol being sold, e.g. ETH, USDC"
},
"action": {
"enum": [
"swap",
"borrow",
"lend",
"liquidate",
"repay"
],
"type": "string"
},
"chainId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Chain ID where the trade executes, e.g. 1=Ethereum, 42161=Arbitrum, 8453=Base"
},
"protocolId": {
"type": "string",
"description": "Optional lending protocol id (lending actions only)"
},
"decisionInput": {
"type": "object",
"required": [
"source",
"destination",
"routeQuotePrice",
"routeQuoteObservedAt"
],
"properties": {
"source": {
"type": "object",
"required": [
"decisionPriceUsd",
"quotePriceUsd",
"quoteObservedAt",
"maxReferenceDeviationBps",
"maxSlippageBps",
"maxQuoteAgeSeconds",
"quoteProvenance"
],
"properties": {
"quotePriceUsd": {
"type": "number",
"exclusiveMinimum": 0
},
"maxSlippageBps": {
"type": "integer",
"maximum": 50,
"minimum": 0
},
"quoteObservedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"quoteProvenance": {
"type": "object",
"required": [
"schemaVersion",
"sourceId",
"rightsScope",
"captureMethod",
"asset",
"chainId",
"quotePriceUsd",
"observedAt",
"requestHash",
"responseHash"
],
"properties": {
"asset": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,80}$"
},
"chainId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"sourceId": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,160}$"
},
"observedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"requestHash": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$"
},
"rightsScope": {
"enum": [
"synthetic",
"onchain",
"customer-authorized",
"vendor-licensed",
"research-quarantined"
],
"type": "string"
},
"responseHash": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$"
},
"captureMethod": {
"enum": [
"client-held",
"onchain-read"
],
"type": "string"
},
"quotePriceUsd": {
"type": "number",
"exclusiveMinimum": 0
},
"schemaVersion": {
"type": "number",
"const": 1
}
},
"additionalProperties": false
},
"decisionPriceUsd": {
"type": "number",
"exclusiveMinimum": 0
},
"maxQuoteAgeSeconds": {
"type": "integer",
"maximum": 300,
"minimum": 1
},
"maxReferenceDeviationBps": {
"type": "integer",
"maximum": 10000,
"minimum": 0
}
},
"additionalProperties": false
},
"destination": {
"type": "object",
"required": [
"decisionPriceUsd",
"quotePriceUsd",
"quoteObservedAt",
"maxReferenceDeviationBps",
"maxSlippageBps",
"maxQuoteAgeSeconds",
"quoteProvenance"
],
"properties": {
"quotePriceUsd": {
"type": "number",
"exclusiveMinimum": 0
},
"maxSlippageBps": {
"type": "integer",
"maximum": 50,
"minimum": 0
},
"quoteObservedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"quoteProvenance": {
"type": "object",
"required": [
"schemaVersion",
"sourceId",
"rightsScope",
"captureMethod",
"asset",
"chainId",
"quotePriceUsd",
"observedAt",
"requestHash",
"responseHash"
],
"properties": {
"asset": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,80}$"
},
"chainId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"sourceId": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,160}$"
},
"observedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"requestHash": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$"
},
"rightsScope": {
"enum": [
"synthetic",
"onchain",
"customer-authorized",
"vendor-licensed",
"research-quarantined"
],
"type": "string"
},
"responseHash": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$"
},
"captureMethod": {
"enum": [
"client-held",
"onchain-read"
],
"type": "string"
},
"quotePriceUsd": {
"type": "number",
"exclusiveMinimum": 0
},
"schemaVersion": {
"type": "number",
"const": 1
}
},
"additionalProperties": false
},
"decisionPriceUsd": {
"type": "number",
"exclusiveMinimum": 0
},
"maxQuoteAgeSeconds": {
"type": "integer",
"maximum": 300,
"minimum": 1
},
"maxReferenceDeviationBps": {
"type": "integer",
"maximum": 10000,
"minimum": 0
}
},
"additionalProperties": false
},
"routeQuotePrice": {
"type": "number",
"description": "Caller-reported destination-per-source route quote, compared with Insight's on-chain quote",
"exclusiveMinimum": 0
},
"routeQuoteObservedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "Timezone-qualified caller quote timestamp; checked for freshness as an additional condition"
}
},
"description": "Required operation-input gate for both assets and the caller-reported route quote. Insight also obtains an exact-notional Uniswap V3 quote on Ethereum mainnet, sized from a fresh Chainlink price and cross-checked by two RPCs at one block. No execution handle is issued unless both signed assessments pass and the on-chain quote, caller quote, and oracle cross-rate satisfy the 50 bps-capped policy. Supported pairs are ETH/WETH, USDC, and WBTC on Ethereum; other routes fail closed.",
"additionalProperties": false
},
"maxSlippageBps": {
"type": "number",
"const": 50,
"description": "Current pre-committed execution tolerance; custom values are rejected"
},
"tradeAmountUsd": {
"type": "number",
"description": "Trade size in USD",
"exclusiveMinimum": 0
},
"targetProviders": {
"type": "array",
"items": {
"enum": [
"chainlink",
"pyth",
"stork",
"api3",
"redstone",
"dia",
"winklink",
"supra",
"twap",
"reflector",
"flare",
"band"
],
"type": "string"
},
"description": "Optional: restrict the check to specific oracle providers"
},
"destinationAsset": {
"type": "string",
"description": "Destination asset symbol being bought, e.g. USDC, ETH"
},
"sourceGroupCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Distinct non-derived operator groups; defaults to participantCount"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| input* | object | |
| policy* | object |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input",
"policy"
],
"properties": {
"input": {
"type": "object",
"required": [
"instrument",
"request",
"prices",
"market",
"evidence"
],
"properties": {
"market": {
"anyOf": [
{
"type": "object",
"required": [
"instrumentId",
"mic",
"source",
"session",
"halt",
"corporateAction",
"observedAt",
"validUntil"
],
"properties": {
"mic": {
"type": "string",
"pattern": "^[A-Z0-9]{4}$"
},
"halt": {
"enum": [
"CLEAR",
"HALTED",
"UNKNOWN"
],
"type": "string"
},
"source": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
},
"session": {
"enum": [
"REGULAR",
"PRE",
"POST",
"OVERNIGHT",
"CLOSED",
"UNKNOWN"
],
"type": "string"
},
"observedAt": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"validUntil": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"instrumentId": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"corporateAction": {
"enum": [
"CLEAR",
"PENDING",
"UNKNOWN"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"prices": {
"type": "array",
"items": {
"type": "object",
"required": [
"feedId",
"instrumentId",
"evidenceChainId",
"currency",
"priceBasis",
"corporateActionVersion",
"session",
"priceE8",
"observedAt",
"retrievedAt"
],
"properties": {
"feedId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
},
"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)$"
},
"session": {
"enum": [
"REGULAR",
"PRE",
"POST",
"OVERNIGHT",
"CLOSED",
"UNKNOWN"
],
"type": "string"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"observedAt": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"priceBasis": {
"enum": [
"underlying-spot",
"token-market",
"token-nav"
],
"type": "string"
},
"retrievedAt": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"instrumentId": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"evidenceChainId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"corporateActionVersion": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
}
},
"additionalProperties": false
},
"maxItems": 32
},
"request": {
"type": "object",
"required": [
"instrumentId",
"action",
"amount",
"call"
],
"properties": {
"call": {
"type": "object",
"required": [
"chainId",
"from",
"to",
"calldataHash",
"value",
"nonce"
],
"properties": {
"to": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"from": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"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)$"
},
"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)$"
},
"chainId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"calldataHash": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"additionalProperties": false
},
"action": {
"enum": [
"buy",
"sell",
"borrow",
"collateralize",
"liquidate",
"redeem",
"repay"
],
"type": "string"
},
"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)$"
},
"instrumentId": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"additionalProperties": false
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"required": [
"kind",
"instrumentId",
"subject",
"source",
"status",
"observedAt",
"validUntil"
],
"properties": {
"kind": {
"enum": [
"reserve",
"eligibility",
"redemption"
],
"type": "string"
},
"source": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
},
"status": {
"enum": [
"OK",
"BLOCKED",
"UNKNOWN"
],
"type": "string"
},
"subject": {
"type": "string",
"maxLength": 200
},
"observedAt": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"validUntil": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"instrumentId": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"additionalProperties": false
},
"maxItems": 32
},
"instrument": {
"type": "object",
"required": [
"schema",
"underlyingId",
"issuer",
"tokenChainId",
"tokenAddress",
"venueMic",
"kind",
"currency",
"priceBasis",
"corporateActionVersion"
],
"properties": {
"kind": {
"enum": [
"equity",
"etf",
"fund",
"commodity",
"credit"
],
"type": "string"
},
"issuer": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
},
"schema": {
"type": "string",
"const": "insight.rwa-instrument.v1"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"venueMic": {
"type": "string",
"pattern": "^[A-Z0-9]{4}$"
},
"priceBasis": {
"enum": [
"underlying-spot",
"token-market",
"token-nav"
],
"type": "string"
},
"tokenAddress": {
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
},
"tokenChainId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"underlyingId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
},
"corporateActionVersion": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"policy": {
"type": "object",
"required": [
"schema",
"name",
"instrumentId",
"environment",
"minProviders",
"minIndependentGroups",
"maxPriceAgeSeconds",
"maxStateAgeSeconds",
"maxSpreadBps",
"reportTtlSeconds",
"feeds",
"stateSources",
"evidenceSources",
"actions"
],
"properties": {
"name": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
},
"feeds": {
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
},
"additionalProperties": {
"type": "object",
"required": [
"group",
"derived",
"evidenceChainId"
],
"properties": {
"group": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
},
"derived": {
"type": "boolean"
},
"evidenceChainId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}
},
"schema": {
"type": "string",
"const": "insight.rwa-policy.v1"
},
"actions": {
"type": "object",
"properties": {
"buy": {
"type": "object",
"required": [
"priceRequired",
"allowedSessions",
"requiredEvidence"
],
"properties": {
"priceRequired": {
"type": "boolean"
},
"allowedSessions": {
"type": "array",
"items": {
"enum": [
"REGULAR",
"PRE",
"POST",
"OVERNIGHT",
"CLOSED",
"UNKNOWN"
],
"type": "string"
},
"maxItems": 6
},
"requiredEvidence": {
"type": "array",
"items": {
"enum": [
"reserve",
"eligibility",
"redemption"
],
"type": "string"
},
"maxItems": 3
}
},
"additionalProperties": false
},
"sell": {
"type": "object",
"required": [
"priceRequired",
"allowedSessions",
"requiredEvidence"
],
"properties": {
"priceRequired": {
"type": "boolean"
},
"allowedSessions": {
"type": "array",
"items": {
"enum": [
"REGULAR",
"PRE",
"POST",
"OVERNIGHT",
"CLOSED",
"UNKNOWN"
],
"type": "string"
},
"maxItems": 6
},
"requiredEvidence": {
"type": "array",
"items": {
"enum": [
"reserve",
"eligibility",
"redemption"
],
"type": "string"
},
"maxItems": 3
}
},
"additionalProperties": false
},
"repay": {
"type": "object",
"required": [
"priceRequired",
"allowedSessions",
"requiredEvidence"
],
"properties": {
"priceRequired": {
"type": "boolean"
},
"allowedSessions": {
"type": "array",
"items": {
"enum": [
"REGULAR",
"PRE",
"POST",
"OVERNIGHT",
"CLOSED",
"UNKNOWN"
],
"type": "string"
},
"maxItems": 6
},
"requiredEvidence": {
"type": "array",
"items": {
"enum": [
"reserve",
"eligibility",
"redemption"
],
"type": "string"
},
"maxItems": 3
}
},
"additionalProperties": false
},
"borrow": {
"type": "object",
"required": [
"priceRequired",
"allowedSessions",
"requiredEvidence"
],
"properties": {
"priceRequired": {
"type": "boolean"
},
"allowedSessions": {
"type": "array",
"items": {
"enum": [
"REGULAR",
"PRE",
"POST",
"OVERNIGHT",
"CLOSED",
"UNKNOWN"
],
"type": "string"
},
"maxItems": 6
},
"requiredEvidence": {
"type": "array",
"items": {
"enum": [
"reserve",
"eligibility",
"redemption"
],
"type": "string"
},
"maxItems": 3
}
},
"additionalProperties": false
},
"redeem": {
"type": "object",
"required": [
"priceRequired",
"allowedSessions",
"requiredEvidence"
],
"properties": {
"priceRequired": {
"type": "boolean"
},
"allowedSessions": {
"type": "array",
"items": {
"enum": [
"REGULAR",
"PRE",
"POST",
"OVERNIGHT",
"CLOSED",
"UNKNOWN"
],
"type": "string"
},
"maxItems": 6
},
"requiredEvidence": {
"type": "array",
"items": {
"enum": [
"reserve",
"eligibility",
"redemption"
],
"type": "string"
},
"maxItems": 3
}
},
"additionalProperties": false
},
"liquidate": {
"type": "object",
"required": [
"priceRequired",
"allowedSessions",
"requiredEvidence"
],
"properties": {
"priceRequired": {
"type": "boolean"
},
"allowedSessions": {
"type": "array",
"items": {
"enum": [
"REGULAR",
"PRE",
"POST",
"OVERNIGHT",
"CLOSED",
"UNKNOWN"
],
"type": "string"
},
"maxItems": 6
},
"requiredEvidence": {
"type": "array",
"items": {
"enum": [
"reserve",
"eligibility",
"redemption"
],
"type": "string"
},
"maxItems": 3
}
},
"additionalProperties": false
},
"collateralize": {
"type": "object",
"required": [
"priceRequired",
"allowedSessions",
"requiredEvidence"
],
"properties": {
"priceRequired": {
"type": "boolean"
},
"allowedSessions": {
"type": "array",
"items": {
"enum": [
"REGULAR",
"PRE",
"POST",
"OVERNIGHT",
"CLOSED",
"UNKNOWN"
],
"type": "string"
},
"maxItems": 6
},
"requiredEvidence": {
"type": "array",
"items": {
"enum": [
"reserve",
"eligibility",
"redemption"
],
"type": "string"
},
"maxItems": 3
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"environment": {
"enum": [
"production",
"simulation"
],
"type": "string"
},
"instrumentId": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"maxSpreadBps": {
"type": "integer",
"maximum": 10000,
"minimum": 0
},
"minProviders": {
"type": "integer",
"maximum": 32,
"minimum": 2
},
"stateSources": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
},
"maxItems": 32
},
"evidenceSources": {
"type": "object",
"required": [
"reserve",
"eligibility",
"redemption"
],
"properties": {
"reserve": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
},
"maxItems": 32
},
"redemption": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
},
"maxItems": 32
},
"eligibility": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$"
},
"maxItems": 32
}
},
"additionalProperties": false
},
"reportTtlSeconds": {
"type": "integer",
"maximum": 300,
"minimum": 1
},
"maxPriceAgeSeconds": {
"type": "integer",
"maximum": 86400,
"minimum": 1
},
"maxStateAgeSeconds": {
"type": "integer",
"maximum": 86400,
"minimum": 1
},
"minIndependentGroups": {
"type": "integer",
"maximum": 32,
"minimum": 2
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}Check protocol liquidation risk for a specific date. Returns stress-test results based on representative benchmark positions.
| Argument | Type | Description |
|---|---|---|
| date | string | Date in YYYY-MM-DD format, defaults to today |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date in YYYY-MM-DD format, defaults to today"
}
},
"additionalProperties": false
}Check the safety of a DeFi lending position against oracle deviation stress tests. Supports multi-asset or single-asset positions.
| Argument | Type | Description |
|---|---|---|
| borrows | array | Multi-asset borrow positions |
| protocolId* | string | Protocol ID or slug |
| collaterals | array | Multi-asset collateral positions |
| borrowAmount | number | Single-asset borrow amount |
| borrowSymbol | string | Single-asset borrow symbol |
| collateralAmount | number | Single-asset collateral amount |
| collateralSymbol | string | Single-asset collateral symbol |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"protocolId"
],
"properties": {
"borrows": {
"type": "array",
"items": {
"type": "object",
"required": [
"symbol",
"amount"
],
"properties": {
"amount": {
"type": "number",
"description": "Asset amount",
"exclusiveMinimum": 0
},
"symbol": {
"type": "string",
"minLength": 1,
"description": "Asset symbol"
}
},
"additionalProperties": false
},
"description": "Multi-asset borrow positions"
},
"protocolId": {
"type": "string",
"minLength": 1,
"description": "Protocol ID or slug"
},
"collaterals": {
"type": "array",
"items": {
"type": "object",
"required": [
"symbol",
"amount"
],
"properties": {
"amount": {
"type": "number",
"description": "Asset amount",
"exclusiveMinimum": 0
},
"symbol": {
"type": "string",
"minLength": 1,
"description": "Asset symbol"
}
},
"additionalProperties": false
},
"description": "Multi-asset collateral positions"
},
"borrowAmount": {
"type": "number",
"description": "Single-asset borrow amount",
"exclusiveMinimum": 0
},
"borrowSymbol": {
"type": "string",
"description": "Single-asset borrow symbol"
},
"collateralAmount": {
"type": "number",
"description": "Single-asset collateral amount",
"exclusiveMinimum": 0
},
"collateralSymbol": {
"type": "string",
"description": "Single-asset collateral symbol"
}
},
"additionalProperties": false
}Compare historical price deviations across oracle providers for an asset. Helps identify which providers consistently diverge from consensus.
| Argument | Type | Description |
|---|---|---|
| to | string | End date in YYYY-MM-DD format |
| from | string | Start date in YYYY-MM-DD format |
| symbol* | string | Asset symbol, e.g. BTC, ETH |
| interval | string | Aggregation interval |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symbol"
],
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "End date in YYYY-MM-DD format"
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Start date in YYYY-MM-DD format"
},
"symbol": {
"type": "string",
"description": "Asset symbol, e.g. BTC, ETH"
},
"interval": {
"enum": [
"1h",
"6h",
"24h"
],
"type": "string",
"description": "Aggregation interval"
}
},
"additionalProperties": false
}Action-facing, chain-neutral data-sufficiency gate for an intended swap, borrow, lend, liquidation, or repay. It composes Insight’s strict multi-oracle pre-trade assessment with an optional fresh venue-quote assessment into ALLOW / CAUTION / BLOCK, lists the exact missing evidence, and returns the underlying signed assessment when available. It evaluates data sufficiency only — never contract safety, custody, profitability, or transaction execution. Monad is a first-class profile using on-chain Pyth Core evidence; set targetProviders to ["pyth"] for a low-latency native snapshot, which remains CAUTION under the strict quorum policy until independent evidence is present. Other supported chains use their configured oracle adapters.
| Argument | Type | Description |
|---|---|---|
| asset* | string | Asset symbol being traded, e.g. BTC, ETH, USDC |
| action* | string | |
| chainId* | integer | Chain ID where the trade executes, e.g. 1=Ethereum, 42161=Arbitrum, 8453=Base. Use 0 for chain-agnostic. |
| protocolId | string | Optional protocol identifier for lending actions |
| tokenAddress | string | Optional 20-byte EVM token address for advisory token-security evidence |
| decisionInput | object | Optional fresh venue quote and explicit limits. This evidence is required for an ALLOW result; without it a healthy oracle result remains CAUTION. |
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.
| Argument | Type | Description |
|---|---|---|
| taker | string | Address whose balances define the trade; defaults to tx sender |
| action | string | Action label, e.g. SWAP |
| txHash* | string | Settlement transaction hash |
| preTradeUid* | string | UID of the paired pre-trade attestation |
| quotedPrice* | number | Target price, same convention as executedPrice (e.g. dest per source) |
| requestHash* | string | Canonical request commitment from the pre-trade attestation |
| actualFeeUsd | number | Informational fee paid |
Get aggregated oracle anomaly events over a lookback period (1-30 days), including top deviation events and risk impacts.
| Argument | Type | Description |
|---|---|---|
| days | integer | Lookback period in days |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"days": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Lookback period in days"
}
},
"additionalProperties": false
}Get the aggregated consensus price for an asset across multiple oracle providers. Useful when you need a robust, manipulation-resistant reference price.
| Argument | Type | Description |
|---|---|---|
| chain | string | Optional blockchain filter |
| method | string | Consensus aggregation method |
| symbol* | string | Asset symbol, e.g. BTC, ETH |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symbol"
],
"properties": {
"chain": {
"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",
"monad"
],
"type": "string",
"description": "Optional blockchain filter"
},
"method": {
"enum": [
"median",
"trimmed_mean",
"weighted_median",
"iqr_filtered"
],
"type": "string",
"description": "Consensus aggregation method"
},
"symbol": {
"type": "string",
"description": "Asset symbol, e.g. BTC, ETH"
}
},
"additionalProperties": false
}Compute pairwise Pearson correlation of oracle provider deviations for an asset over a date range. Helps identify independent vs correlated providers.
| Argument | Type | Description |
|---|---|---|
| to | string | End date in YYYY-MM-DD format |
| from | string | Start date in YYYY-MM-DD format |
| symbol* | string | Asset symbol, e.g. BTC, ETH |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symbol"
],
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "End date in YYYY-MM-DD format"
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Start date in YYYY-MM-DD format"
},
"symbol": {
"type": "string",
"description": "Asset symbol, e.g. BTC, ETH"
}
},
"additionalProperties": false
}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.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}Get pairwise price spreads across chains for a given provider and symbol. Useful for cross-chain arbitrage and risk tracking.
| Argument | Type | Description |
|---|---|---|
| symbol* | string | Asset symbol |
| provider* | string | Oracle provider name |
| baseChain | string | Base chain for spread calculation |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"provider",
"symbol"
],
"properties": {
"symbol": {
"type": "string",
"description": "Asset symbol"
},
"provider": {
"enum": [
"chainlink",
"pyth",
"stork",
"api3",
"redstone",
"dia",
"winklink",
"supra",
"twap",
"reflector",
"flare",
"band"
],
"type": "string",
"description": "Oracle provider name"
},
"baseChain": {
"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",
"monad"
],
"type": "string",
"description": "Base chain for spread calculation"
}
},
"additionalProperties": false
}Get the full daily oracle/risk report for a specific date, including liquidation risks, anomalies, and market summary.
| Argument | Type | Description |
|---|---|---|
| date | string | Date in YYYY-MM-DD format, defaults to today |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date in YYYY-MM-DD format, defaults to today"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| symbol | string | Filter by asset symbol |
| category | string | Filter by feed category |
| provider | string | Filter by oracle provider |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"symbol": {
"type": "string",
"description": "Filter by asset symbol"
},
"category": {
"enum": [
"crypto",
"stablecoin",
"forex",
"commodity",
"wrapped",
"lst"
],
"type": "string",
"description": "Filter by feed category"
},
"provider": {
"enum": [
"chainlink",
"pyth",
"stork",
"api3",
"redstone",
"dia",
"winklink",
"supra",
"twap",
"reflector",
"flare",
"band"
],
"type": "string",
"description": "Filter by oracle provider"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| feedId* | string | Oracle feed UUID |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"feedId"
],
"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"
}
},
"additionalProperties": false
}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).
| Argument | Type | Description |
|---|---|---|
| to | string | End date in YYYY-MM-DD format |
| from | string | Start date in YYYY-MM-DD format |
| symbol | string | Filter by asset symbol |
| provider | string | Filter by oracle provider |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "End date in YYYY-MM-DD format"
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Start date in YYYY-MM-DD format"
},
"symbol": {
"type": "string",
"description": "Filter by asset symbol"
},
"provider": {
"enum": [
"chainlink",
"pyth",
"stork",
"api3",
"redstone",
"dia",
"winklink",
"supra",
"twap",
"reflector",
"flare",
"band"
],
"type": "string",
"description": "Filter by oracle provider"
}
},
"additionalProperties": false
}List oracle feeds from the registry with optional filters (provider, symbol, category, chain, active status). Useful for discovering available feeds and their metadata.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum results |
| offset | integer | Pagination offset |
| symbol | string | Filter by asset symbol |
| chainId | integer | Filter by chain ID |
| category | string | Filter by feed category |
| isActive | boolean | Filter by active status |
| provider | string | Filter by oracle provider |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Maximum results"
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Pagination offset"
},
"symbol": {
"type": "string",
"description": "Filter by asset symbol"
},
"chainId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filter by chain ID"
},
"category": {
"enum": [
"crypto",
"stablecoin",
"forex",
"commodity",
"wrapped",
"lst"
],
"type": "string",
"description": "Filter by feed category"
},
"isActive": {
"type": "boolean",
"description": "Filter by active status"
},
"provider": {
"enum": [
"chainlink",
"pyth",
"stork",
"api3",
"redstone",
"dia",
"winklink",
"supra",
"twap",
"reflector",
"flare",
"band"
],
"type": "string",
"description": "Filter by oracle provider"
}
},
"additionalProperties": false
}Get oracle incidents and deviation events within a date range. Filter by provider and minimum severity.
| Argument | Type | Description |
|---|---|---|
| to | string | End date in YYYY-MM-DD format |
| from | string | Start date in YYYY-MM-DD format |
| limit | integer | Maximum results |
| offset | integer | Pagination offset |
| provider | string | Filter by oracle provider |
| minSeverity | string | Minimum severity |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "End date in YYYY-MM-DD format"
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Start date in YYYY-MM-DD format"
},
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Maximum results"
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Pagination offset"
},
"provider": {
"enum": [
"chainlink",
"pyth",
"stork",
"api3",
"redstone",
"dia",
"winklink",
"supra",
"twap",
"reflector",
"flare",
"band"
],
"type": "string",
"description": "Filter by oracle provider"
},
"minSeverity": {
"enum": [
"low",
"medium",
"high",
"critical"
],
"type": "string",
"description": "Minimum severity"
}
},
"additionalProperties": false
}Analyze 15-minute oracle collector latency statistics (min, mean, p50, p90, p95, p99) over a date range, optionally filtered by provider or symbol.
| Argument | Type | Description |
|---|---|---|
| to | string | End date in YYYY-MM-DD format |
| from | string | Start date in YYYY-MM-DD format |
| symbol | string | Filter by asset symbol |
| provider | string | Filter by oracle provider |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "End date in YYYY-MM-DD format"
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Start date in YYYY-MM-DD format"
},
"symbol": {
"type": "string",
"description": "Filter by asset symbol"
},
"provider": {
"enum": [
"chainlink",
"pyth",
"stork",
"api3",
"redstone",
"dia",
"winklink",
"supra",
"twap",
"reflector",
"flare",
"band"
],
"type": "string",
"description": "Filter by oracle provider"
}
},
"additionalProperties": false
}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.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| date | string | Date in YYYY-MM-DD format, defaults to today |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date in YYYY-MM-DD format, defaults to today"
}
},
"additionalProperties": false
}Fetch the latest price from a specific oracle provider for an asset.
| Argument | Type | Description |
|---|---|---|
| chain | string | Optional blockchain, e.g. ethereum, arbitrum, base |
| symbol* | string | Asset symbol, e.g. BTC, ETH, BTC/USD |
| provider* | string | Oracle provider name, e.g. chainlink, redstone, api3 |
| forceRefresh | boolean | Force refresh from upstream instead of cache |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"provider",
"symbol"
],
"properties": {
"chain": {
"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",
"monad"
],
"type": "string",
"description": "Optional blockchain, e.g. ethereum, arbitrum, base"
},
"symbol": {
"type": "string",
"description": "Asset symbol, e.g. BTC, ETH, BTC/USD"
},
"provider": {
"enum": [
"chainlink",
"pyth",
"stork",
"api3",
"redstone",
"dia",
"winklink",
"supra",
"twap",
"reflector",
"flare",
"band"
],
"type": "string",
"description": "Oracle provider name, e.g. chainlink, redstone, api3"
},
"forceRefresh": {
"type": "boolean",
"description": "Force refresh from upstream instead of cache"
}
},
"additionalProperties": false
}Fetch prices for multiple assets/providers in a single request. Up to 20 queries.
| Argument | Type | Description |
|---|---|---|
| queries* | array | Array of price queries |
| forceRefresh | boolean | Force refresh from upstream instead of cache |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"queries"
],
"properties": {
"queries": {
"type": "array",
"items": {
"type": "object",
"required": [
"provider",
"symbol"
],
"properties": {
"chain": {
"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",
"monad"
],
"type": "string",
"description": "Optional blockchain"
},
"symbol": {
"type": "string",
"description": "Asset symbol"
},
"provider": {
"enum": [
"chainlink",
"pyth",
"stork",
"api3",
"redstone",
"dia",
"winklink",
"supra",
"twap",
"reflector",
"flare",
"band"
],
"type": "string",
"description": "Oracle provider name"
}
},
"additionalProperties": false
},
"maxItems": 20,
"minItems": 1,
"description": "Array of price queries"
},
"forceRefresh": {
"type": "boolean",
"description": "Force refresh from upstream instead of cache"
}
},
"additionalProperties": false
}Get historical price data for an asset from a specific oracle provider over a period (in hours).
| Argument | Type | Description |
|---|---|---|
| chain | string | Optional blockchain |
| period* | integer | Historical period in hours |
| symbol* | string | Asset symbol |
| provider* | string | Oracle provider name |
| forceRefresh | boolean | Force refresh from upstream instead of cache |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"provider",
"symbol",
"period"
],
"properties": {
"chain": {
"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",
"monad"
],
"type": "string",
"description": "Optional blockchain"
},
"period": {
"type": "integer",
"maximum": 8760,
"minimum": 1,
"description": "Historical period in hours"
},
"symbol": {
"type": "string",
"description": "Asset symbol"
},
"provider": {
"enum": [
"chainlink",
"pyth",
"stork",
"api3",
"redstone",
"dia",
"winklink",
"supra",
"twap",
"reflector",
"flare",
"band"
],
"type": "string",
"description": "Oracle provider name"
},
"forceRefresh": {
"type": "boolean",
"description": "Force refresh from upstream instead of cache"
}
},
"additionalProperties": false
}Analyze oracle provider concentration risk for a specific lending protocol. Shows which providers cover which assets and concentration metrics.
| Argument | Type | Description |
|---|---|---|
| protocol* | string | Protocol ID or slug, e.g. aave-v3, compound-v3 |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"protocol"
],
"properties": {
"protocol": {
"type": "string",
"minLength": 1,
"description": "Protocol ID or slug, e.g. aave-v3, compound-v3"
}
},
"additionalProperties": false
}Get risk parameters for a specific DeFi protocol, including liquidation thresholds, LTV ratios, and collateral factors.
| Argument | Type | Description |
|---|---|---|
| protocol* | string | Protocol name or slug, e.g. aave-v3, compound-v3 |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"protocol"
],
"properties": {
"protocol": {
"type": "string",
"minLength": 1,
"description": "Protocol name or slug, e.g. aave-v3, compound-v3"
}
},
"additionalProperties": false
}Get a list of lending protocols with dynamic data (TVL, asset counts, oracle providers used). Optionally filter by name/slug query.
| Argument | Type | Description |
|---|---|---|
| query | string | Optional search query to filter protocols |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"query": {
"type": "string",
"description": "Optional search query to filter protocols"
}
},
"additionalProperties": false
}Get detailed reputation metrics for a specific oracle provider, optionally with historical trend.
| Argument | Type | Description |
|---|---|---|
| days | integer | Trend period in days |
| trend | boolean | Include historical trend data |
| provider* | string | Oracle provider name |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"provider"
],
"properties": {
"days": {
"type": "integer",
"maximum": 365,
"minimum": 1,
"description": "Trend period in days"
},
"trend": {
"type": "boolean",
"description": "Include historical trend data"
},
"provider": {
"enum": [
"chainlink",
"pyth",
"stork",
"api3",
"redstone",
"dia",
"winklink",
"supra",
"twap",
"reflector",
"flare",
"band"
],
"type": "string",
"description": "Oracle provider name"
}
},
"additionalProperties": false
}Get oracle provider reputation rankings with trend over a period (1-90 days).
| Argument | Type | Description |
|---|---|---|
| days | integer | Trend period in days |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"days": {
"type": "integer",
"maximum": 90,
"minimum": 1,
"description": "Trend period in days"
}
},
"additionalProperties": false
}Get a composite risk summary for an asset across selected oracle providers. Includes HHI concentration, volatility, correlation, freshness, manipulation resistance, and shared-dependency risk.
| Argument | Type | Description |
|---|---|---|
| period | integer | Analysis period in hours, default 168 (7 days) |
| symbol* | string | Asset symbol, e.g. BTC, ETH |
| providers* | array | Oracle providers to analyze, e.g. ["chainlink", "redstone", "api3"] |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symbol",
"providers"
],
"properties": {
"period": {
"type": "integer",
"maximum": 8760,
"minimum": 1,
"description": "Analysis period in hours, default 168 (7 days)"
},
"symbol": {
"type": "string",
"description": "Asset symbol, e.g. BTC, ETH"
},
"providers": {
"type": "array",
"items": {
"enum": [
"chainlink",
"pyth",
"stork",
"api3",
"redstone",
"dia",
"winklink",
"supra",
"twap",
"reflector",
"flare",
"band"
],
"type": "string"
},
"minItems": 2,
"description": "Oracle providers to analyze, e.g. [\"chainlink\", \"redstone\", \"api3\"]"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| symbol* | string | Robinhood Stock Token symbol, e.g. AAPL, NVDA, SPY |
| verifyOnchain | boolean | Cross-check the REST multiplier and pause state on Robinhood Chain |
{
"type": "object",
"required": [
"symbol"
],
"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"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| symbol* | string | Robinhood Stock Token symbol, e.g. AAPL, NVDA, SPY |
| verifyOnchain | boolean | Also collect the existing on-chain issuer-context integrity checks |
{
"type": "object",
"required": [
"symbol"
],
"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"
}
}
}List all tracked stablecoin symbols.
| Argument | Type | Description |
|---|---|---|
| query | string | Optional search query to filter symbols |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"query": {
"type": "string",
"description": "Optional search query to filter symbols"
}
},
"additionalProperties": false
}Check stablecoin peg status. Provide a symbol for a specific stablecoin, or omit it to get all tracked stablecoins.
| Argument | Type | Description |
|---|---|---|
| symbol | string | Stablecoin symbol. Supported: USDC, USDT, DAI, FRAX, LUSD |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"symbol": {
"enum": [
"USDC",
"USDT",
"DAI",
"FRAX",
"LUSD"
],
"type": "string",
"description": "Stablecoin symbol. Supported: USDC, USDT, DAI, FRAX, LUSD"
}
},
"additionalProperties": false
}List supported asset symbols. Optionally filter by a search query. Use this when you are unsure whether a symbol is supported.
| Argument | Type | Description |
|---|---|---|
| query | string | Optional search query to filter symbols |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"query": {
"type": "string",
"description": "Optional search query to filter symbols"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| symbol | string | Wrapped asset symbol. Supported: WBTC, wstETH, cbETH, BTCB, STETH, cbBTC, tBTC |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"symbol": {
"enum": [
"WBTC",
"wstETH",
"cbETH",
"BTCB",
"STETH",
"cbBTC",
"tBTC"
],
"type": "string",
"description": "Wrapped asset symbol. Supported: WBTC, wstETH, cbETH, BTCB, STETH, cbBTC, tBTC"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| chain | string | Optional blockchain filter |
| symbol* | string | Asset symbol, e.g. BTC, ETH |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symbol"
],
"properties": {
"chain": {
"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",
"monad"
],
"type": "string",
"description": "Optional blockchain filter"
},
"symbol": {
"type": "string",
"description": "Asset symbol, e.g. BTC, ETH"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days (1-90, default 7) |
| chain | string | Optional blockchain filter |
| symbol* | string | Asset symbol, e.g. BTC, ETH |
| interval | string | Aggregation grain: 30min, hourly, or daily. Default hourly; 8-30d raw requests roll up hourly and windows over 30d roll up daily |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symbol"
],
"properties": {
"days": {
"type": "integer",
"maximum": 90,
"minimum": 1,
"description": "Look-back window in days (1-90, default 7)"
},
"chain": {
"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",
"monad"
],
"type": "string",
"description": "Optional blockchain filter"
},
"symbol": {
"type": "string",
"description": "Asset symbol, e.g. BTC, ETH"
},
"interval": {
"enum": [
"30min",
"hourly",
"daily"
],
"type": "string",
"description": "Aggregation grain: 30min, hourly, or daily. Default hourly; 8-30d raw requests roll up hourly and windows over 30d roll up daily"
}
},
"additionalProperties": false
}Pre-trade decision-input integrity checkpoint for AI agents. Call this BEFORE executing any on-chain swap/borrow/lend/liquidation/repay to verify that the price the action relies on can be trusted. First assessment domain: oracle risk — aggregates cross-oracle consensus prices, per-provider deviation, data freshness, stablecoin peg status, and reputation into a single verdict. An optional decisionInput object adds a separate Chainlink/CEX/DEX input-sufficiency assessment against the caller-supplied venue quote and explicit limits, with an independently verifiable EIP-712 signature when signing is enabled; it never changes the verdict. Verdicts are 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.
| Argument | Type | Description |
|---|---|---|
| asset* | string | Asset symbol being traded, e.g. BTC, ETH, USDC |
| action* | string | |
| chainId* | integer | Chain ID where the trade executes, e.g. 1=Ethereum, 42161=Arbitrum, 8453=Base. Use 0 for chain-agnostic. |
| tradeAmountUsd* | number | Trade size in USD |
| targetProviders | array | Optional: restrict the check to specific oracle providers |
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.
| Argument | Type | Description |
|---|---|---|
| symbol* | string | Asset symbol to recommend an oracle setup for, e.g. BTC, ETH |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"symbol"
],
"properties": {
"symbol": {
"type": "string",
"description": "Asset symbol to recommend an oracle setup for, e.g. BTC, ETH"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| executionReceipt* | object | The Execution Receipt to check against the pre-trade attestation. |
| preTradeAttestation* | object | The pre-trade oracle-safety attestation the agent gated on. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"preTradeAttestation",
"executionReceipt"
],
"properties": {
"executionReceipt": {
"type": "object",
"required": [
"uid",
"schemaVersion",
"attester",
"signature",
"data"
],
"properties": {
"uid": {
"type": "string"
},
"data": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"attester": {
"type": "string"
},
"signature": {
"type": "string"
},
"schemaVersion": {
"type": "number"
}
},
"description": "The Execution Receipt to check against the pre-trade attestation.",
"additionalProperties": {}
},
"preTradeAttestation": {
"type": "object",
"required": [
"uid",
"schemaVersion",
"attester",
"data",
"signature"
],
"properties": {
"uid": {
"type": "string"
},
"data": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"type": {
"type": "string"
},
"eip712": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"attester": {
"type": "string"
},
"signature": {
"type": "string"
},
"schemaVersion": {
"type": "number"
}
},
"description": "The pre-trade oracle-safety attestation the agent gated on.",
"additionalProperties": {}
}
},
"additionalProperties": false
}| tradeAmountUsd* | number | Trade size in USD |
| targetProviders | array | Optional: restrict the check to specific oracle providers |
| destinationAsset | string | Optional destination asset for the intended route |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"asset",
"chainId",
"action",
"tradeAmountUsd"
],
"properties": {
"asset": {
"type": "string",
"description": "Asset symbol being traded, e.g. BTC, ETH, USDC"
},
"action": {
"enum": [
"swap",
"borrow",
"lend",
"liquidate",
"repay"
],
"type": "string"
},
"chainId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Chain ID where the trade executes, e.g. 1=Ethereum, 42161=Arbitrum, 8453=Base. Use 0 for chain-agnostic."
},
"protocolId": {
"type": "string",
"description": "Optional protocol identifier for lending actions"
},
"tokenAddress": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Optional 20-byte EVM token address for advisory token-security evidence"
},
"decisionInput": {
"type": "object",
"required": [
"decisionPriceUsd",
"quotePriceUsd",
"quoteObservedAt",
"maxReferenceDeviationBps",
"maxSlippageBps",
"maxQuoteAgeSeconds"
],
"properties": {
"quotePriceUsd": {
"type": "number",
"exclusiveMinimum": 0
},
"maxSlippageBps": {
"type": "integer",
"maximum": 10000,
"minimum": 0
},
"quoteObservedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"quoteProvenance": {
"type": "object",
"required": [
"schemaVersion",
"sourceId",
"rightsScope",
"captureMethod",
"asset",
"chainId",
"quotePriceUsd",
"observedAt",
"requestHash",
"responseHash"
],
"properties": {
"asset": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,80}$"
},
"chainId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"sourceId": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{1,160}$"
},
"observedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"requestHash": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$"
},
"rightsScope": {
"enum": [
"synthetic",
"onchain",
"customer-authorized",
"vendor-licensed",
"research-quarantined"
],
"type": "string"
},
"responseHash": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$"
},
"captureMethod": {
"enum": [
"client-held",
"onchain-read"
],
"type": "string"
},
"quotePriceUsd": {
"type": "number",
"exclusiveMinimum": 0
},
"schemaVersion": {
"type": "number",
"const": 1
}
},
"additionalProperties": false
},
"decisionPriceUsd": {
"type": "number",
"exclusiveMinimum": 0
},
"maxQuoteAgeSeconds": {
"type": "integer",
"maximum": 300,
"minimum": 1
},
"requireQuoteProvenance": {
"type": "boolean"
},
"maxReferenceDeviationBps": {
"type": "integer",
"maximum": 10000,
"minimum": 0
}
},
"description": "Optional fresh venue quote and explicit limits. This evidence is required for an ALLOW result; without it a healthy oracle result remains CAUTION.",
"additionalProperties": false
},
"tradeAmountUsd": {
"type": "number",
"description": "Trade size in USD",
"exclusiveMinimum": 0
},
"targetProviders": {
"type": "array",
"items": {
"enum": [
"chainlink",
"pyth",
"stork",
"api3",
"redstone",
"dia",
"winklink",
"supra",
"twap",
"reflector",
"flare",
"band"
],
"type": "string"
},
"description": "Optional: restrict the check to specific oracle providers"
},
"destinationAsset": {
"type": "string",
"description": "Optional destination asset for the intended route"
}
},
"additionalProperties": false
}| mevRiskScore |
| number |
| Advisory 0..1 MEV-exposure estimate |
| sourceAssetId* | string | CAIP-19 id of the asset sold |
| maxSlippageBps | number | Pre-committed platform bound; currently fixed at 50 bps |
| subjectChainId* | integer | Chain id the pre-trade was scoped to |
| quotedAmountUsd | number | Informational notional the agent intended |
| participantCount* | integer | Oracle providers the agent gated on |
| preTradeSignedAt* | integer | Unix seconds the pre-trade was signed |
| sourceGroupCount* | integer | Distinct non-derived operator groups the agent gated on |
| executedAmountUsd | number | Informational notional actually filled |
| settlementChainId* | integer | Chain id the transaction settled on |
| destinationAssetId* | string | CAIP-19 id of the asset bought |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"preTradeUid",
"requestHash",
"sourceAssetId",
"destinationAssetId",
"subjectChainId",
"settlementChainId",
"participantCount",
"sourceGroupCount",
"preTradeSignedAt",
"quotedPrice",
"txHash"
],
"properties": {
"taker": {
"type": "string",
"description": "Address whose balances define the trade; defaults to tx sender"
},
"action": {
"type": "string",
"description": "Action label, e.g. SWAP"
},
"txHash": {
"type": "string",
"description": "Settlement transaction hash"
},
"preTradeUid": {
"type": "string",
"description": "UID of the paired pre-trade attestation"
},
"quotedPrice": {
"type": "number",
"description": "Target price, same convention as executedPrice (e.g. dest per source)"
},
"requestHash": {
"type": "string",
"description": "Canonical request commitment from the pre-trade attestation"
},
"actualFeeUsd": {
"type": "number",
"description": "Informational fee paid"
},
"mevRiskScore": {
"type": "number",
"description": "Advisory 0..1 MEV-exposure estimate"
},
"sourceAssetId": {
"type": "string",
"description": "CAIP-19 id of the asset sold"
},
"maxSlippageBps": {
"type": "number",
"const": 50,
"description": "Pre-committed platform bound; currently fixed at 50 bps"
},
"subjectChainId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Chain id the pre-trade was scoped to"
},
"quotedAmountUsd": {
"type": "number",
"description": "Informational notional the agent intended"
},
"participantCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Oracle providers the agent gated on"
},
"preTradeSignedAt": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Unix seconds the pre-trade was signed"
},
"sourceGroupCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Distinct non-derived operator groups the agent gated on"
},
"executedAmountUsd": {
"type": "number",
"description": "Informational notional actually filled"
},
"settlementChainId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Chain id the transaction settled on"
},
"destinationAssetId": {
"type": "string",
"description": "CAIP-19 id of the asset bought"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"asset",
"chainId",
"action",
"tradeAmountUsd"
],
"properties": {
"asset": {
"type": "string",
"description": "Asset symbol being traded, e.g. BTC, ETH, USDC"
},
"action": {
"enum": [
"swap",
"borrow",
"lend",
"liquidate",
"repay"
],
"type": "string"
},
"chainId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Chain ID where the trade executes, e.g. 1=Ethereum, 42161=Arbitrum, 8453=Base. Use 0 for chain-agnostic."
},
"tradeAmountUsd": {
"type": "number",
"description": "Trade size in USD",
"exclusiveMinimum": 0
},
"targetProviders": {
"type": "array",
"items": {
"enum": [
"chainlink",
"pyth",
"stork",
"api3",
"redstone",
"dia",
"winklink",
"supra",
"twap",
"reflector",
"flare",
"band"
],
"type": "string"
},
"description": "Optional: restrict the check to specific oracle providers"
}
},
"additionalProperties": false
}