DeFi Protocol & Chain TVL Lookup (via DefiLlama)
omnial/defi-tvl
Given a protocol name or a mode (protocols or chains), returns total value locked (TVL) per DeFi protocol or per blockchain, sourced from DefiLlama, with category, supported chains, market cap, and 1-day/7-day TVL change, filterable by name substring, category, or chain.
Price
Up to $0.0301 per call; you pay what the call used
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.00.
Use it
Your AI assistant does the work: it finds this tool, shows you the price first, runs it, and you are charged when the run finishes. There is nothing to set up for this tool in particular.
Connect once and your AI can find and run this tool, and any other it needs.
For developers: the calls your assistant makes
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/defi-tvl" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/defi-tvl" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/defi-tvl", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/defi-tvl", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0301 |
- Updated
- Oct 27, 2026
Input and output schemas
Input schema
{
"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
}Output schema
{
"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. `null` for a protocol with no TVL data on file (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 -- often `null`."
},
"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 -- `null` for non-EVM/L1 chains (e.g. Solana, Bitcoin)."
},
"geckoId": {
"type": [
"string",
"null"
],
"description": "The CoinGecko id for this protocol's/chain's token, when one is on file. Often `null`."
},
"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 -- can be `null`."
}
},
"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.",
"additionalProperties": true
}