Contract
{
"type": "object",
"anyOf": [
{
"required": [
"q"
]
},
{
"required": [
"chain"
]
},
{
"required": [
"category"
]
},
{
"required": [
"mode"
],
"properties": {
"mode": {
"const": "chains"
}
}
}
],
"properties": {
"q": {
"type": "string",
"description": "name substring filter"
},
"mode": {
"enum": [
"protocols",
"chains"
],
"type": "string",
"default": "protocols"
},
"chain": {
"type": "string",
"description": "protocol must touch this chain"
},
"category": {
"type": "string",
"description": "exact category, e.g. Dexes|Lending|CDP"
},
"maxItems": {
"type": "string",
"default": "25"
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"count": {
"type": "number",
"description": "Number of entries in `items`."
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tvl": {
"type": [
"number",
"null"
],
"description": "Total value locked, in USD. Observed `null` for a protocol with no TVL data on file in the one real protocols-mode fixture captured (e.g. a DAO service provider or a developer-tools listing)."
},
"url": {
"type": "null",
"description": "Protocols mode only (absent in chains mode). The protocol's own website link. Value withheld (always returned as `null` regardless of the real underlying URL) -- only that the field exists is observable, not the link itself."
},
"mcap": {
"type": [
"number",
"null"
],
"description": "Protocols mode only (absent in chains mode). Token market cap in USD, when known -- observed `null` on most entries in the one real fixture captured."
},
"name": {
"type": "string",
"description": "The protocol's or blockchain's public display name."
},
"slug": {
"type": "string",
"description": "Protocols mode only (absent in chains mode). The protocol's slug id."
},
"type": {
"type": "string",
"description": "Observed as the literal string 'defi_protocol' in protocols mode or 'chain_tvl' in chains mode."
},
"chain": {
"type": [
"string",
"null"
],
"description": "Protocols mode only (absent in chains mode). 'Multi-Chain' for a protocol deployed on several chains, a single chain name for a single-chain deployment, or `null` observed for two entries with no chain data on file."
},
"chains": {
"type": "array",
"items": {
"type": "string"
},
"description": "Protocols mode only (absent in chains mode). Every chain this protocol is deployed on. Observed as an empty array for the same two no-chain-data entries where `chain` is `null`."
},
"symbol": {
"type": "string",
"description": "Protocols mode only (absent in chains mode). The protocol's token symbol, or the literal string '-' when it has none on file."
},
"chainId": {
"type": [
"number",
"null"
],
"description": "Chains mode only (absent in protocols mode). The EVM chain id, when this chain has one -- observed `null` for several non-EVM/L1 chains in the one real fixture captured (e.g. Solana, Bitcoin)."
},
"geckoId": {
"type": [
"string",
"null"
],
"description": "The CoinGecko id for this protocol's/chain's token, when one is on file. Observed `null` for many entries in both fixtures captured."
},
"category": {
"type": "string",
"description": "Protocols mode only (absent in chains mode), e.g. 'Lending', 'Gaming', 'DAO Service Provider'."
},
"change1d": {
"type": [
"number",
"null"
],
"description": "Protocols mode only (absent in chains mode). Percent TVL change over the last day. Observed `null` alongside a `null` `tvl`."
},
"change7d": {
"type": [
"number",
"null"
],
"description": "Protocols mode only (absent in chains mode). Percent TVL change over the last 7 days. Observed `null` alongside a `null` `tvl`."
},
"tokenSymbol": {
"type": [
"string",
"null"
],
"description": "Chains mode only (absent in protocols mode). The chain's native token symbol, when known -- observed `null` for at least one entry in the one real fixture captured."
}
},
"additionalProperties": true
},
"description": "One entry per matching DeFi protocol (mode=protocols) or blockchain (mode=chains) -- the two modes return entries with different property sets, both described below."
}
},
"description": "The TVL search result, as returned at routing.responseResultPath ($.output).",
"additionalProperties": true
}Pricing
Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.
Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.
| Charge | Rate |
|---|---|
Per call Flat, regardless of what comes back | $0.03003 |
- Cost basis
- Not recorded
This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.
- Updated
- Sep 23, 2026
