How-to · 3 steps
How to research DeFi
with Monid.
Give this to your agent
$set up https://monid.ai/SKILL.md, then tell me the TVL and yields for <protocol> and show the cost of each step
and let it take it from there.
#JobWhat came backCost
1TVL, free$19.21bn, one number$0.00 ✓
2TVL, paid$32.28bn, same protocol$0.012 ✓
3The gap68% here, 42% on another$0.0006 ✓
4The controlanother protocol, 0.14%$0.012 ✓
538 poolscurrent, 7d and 30d each$0.0006 ✓
6A wrong slugan empty page, billed$0.0006 ✓
7Price, free$152.9038, with confidence$0.00 ✓
8Price, paid$152.9038, same to 4 dp$0.012 ✓
9A stablecoina stub, then 21 MB$0.00 ✓
10Total16 runs, 7 billed nothing$0.0618 ✓
one protocol · one control · a gap with a reasonagent running$0.0618
Real run, 2026-09-25. Public protocol data.
Step 1
Set up Monid.
One line. It installs the CLI and asks for an API key from app.monid.ai. New accounts start with $1.00.
Say this to your agent
>set up https://monid.ai/SKILL.md
Step 2
Pick what you need. Say it in one sentence.
Click a job. Paste the sentence, fill in the brackets.
What is locked in this protocol
Say this to your agent
>get the tvl for <protocol> from the free defillama protocol endpoint on monid, passing the slug as a path parameter rather than a query one. then get the same protocol's per-chain breakdown and tell me the split between deposits and borrowed before you quote a single figure: the two sources count different things and the gap is not a fixed percentage
What the agent runsdone
defillama /api/tvl/{protocol}$0.00
defillama /api/v2/metrics/tvl/protocol/{protocol}$0.0006
surf /project/defi/metrics$0.012
What came backone protocol, one control · 2026-09-25
Two sources, two protocols, same dayUS dollars locked
the gap is real and its size is not68.0% on the first lending protocol and 42.4% on a second; 0.14% on the first staking one and 1.42% on a second. The direction held on all four: lending diverges, staking barely does
whysumming the plain per-chain keys reproduces the free number exactly, and adding the borrowed aggregate reproduces the paid one. One counts deposits, the other deposits plus borrowed
and some of the gap is just agethe paid source was about 28 hours behind on a second run, so on a protocol where deposits and borrowed barely differ, staleness rather than the definition is what a reader will actually see
so there is no fixborrowed is most of a lending protocol and none of a staking one, so the gap is a property of the protocol and no correction factor exists
and one of the two is freethe all-protocols endpoint costs nothing and returns the TVL and the per-chain breakdown for every protocol in one call, so the paid per-protocol metrics call is usually buying a field you can have for nothing
do not sum that objectits 51 keys mix chains, suffixed chains and bare aggregates in one namespace; adding them all gives $46.043bn and means nothing
$0.0006the number and its parts
What a pool is actually paying
Say this to your agent
>get the pools for <protocol> on <chain> with defillama on monid and give me the current apy next to the 7 day and 30 day averages for each. they are all in the same row, so quote the window i asked for rather than whichever one is highest
What the agent runsdone
defillama /yields/v2/earn/query$0.0006
surf /onchain/yield/ranking$0.012
What came backone protocol, one control · 2026-09-25
One pool, three windows, one responseAPY
the honest endpointevery pool arrives with its current rate, its seven-day average and its thirty-day average side by side, split into base and reward, so there is no excuse for quoting the wrong window
how far they driftone pool was paying 0.484% against its own 30-day average of 2.864%, a 2.380 point gap in a single row
size is not returnon the first protocol two of the six largest pools paid 0.000%, being collateral assets with nothing in the row saying so. On a second protocol none of its pools did, so check rather than expect it
the range0.0000% to 5.2561% across the 38 pools, and their TVL total is a third figure for the protocol because the query is scoped to one version on one chain
$0.000638 pools, three windows each
A token's price, for nothing
Say this to your agent
>get the current price of <token> with defillama on monid. do not reach for a paid price endpoint first: on our run the free one returned the same number to four decimal places, and it carries a confidence figure the others do not
What the agent runsdone
defillama /coins/prices/current/{coins}$0.00
surf /market/price$0.012
surf /dex/token/price$0.006
surf /search/token$0.006
What came backone protocol, one control · 2026-09-25
The same token, three sourcesUS dollars
identicalthe free call and the paid call returned the same price to four decimal places on both runs, and the whole three-source spread was about a tenth of a percent. It held on a micro-cap priced at a third of a cent, where the paid call bought nothing either
what free addsa confidence of 0.99 on every row, which neither paid endpoint carries
and both id schemesit answered the same query keyed by a chain address and by a registry id in one call, so no translation lookup is needed
the outlier is unfinished, not stalethe candle feed's last bar is stamped at its OPEN and is still forming, so it is a partial bar rather than a lagging one. An earlier version of this page called it an hour behind, which sends a reader to apply a time correction to a number that needs none
$0.00and a confidence with it
A stablecoin's supply and its peg
Say this to your agent
>get <stablecoin> with defillama on monid. the call returns a short stub carrying a download link rather than the body itself, and that link expires in an hour, so fetch it in the same run, write it to a file, and pull the circulating balance and the price out of the file in code. it is tens of megabytes of daily history and it must never reach a model whole
What the agent runsdone
defillama /stablecoins/stablecoin/{asset}$0.00
defillama /stablecoins/stablecoins$0.00
defillama /stablecoins/stablecoinprices$0.00
What came backone protocol, one control · 2026-09-25
Where one stablecoin's supply sitsshare of $183.8bn, of 130 chains
what you wanted$183,768,149,251 circulating, a price of 0.9997963 which is 20 basis points under peg, a fiat-backed mechanism and a named price source
what you got21.4 MB on the first stablecoin and 10.6 MB on a second, tens of thousands of daily history points across dozens of chains either way
and it does not arrive inlinethe run writes a stub of a few hundred bytes carrying a download link that expires in an hour. Neither field this sentence asks for is in that stub, so a reader who stops at the saved output has nothing; an earlier version of this page missed the fetch step entirely
free is not cheapthe call bills $0.0000 and reading the fetched body whole is the most expensive thing in the pipeline; take the two fields in code and drop the history
count the live chainsa quarter of the chains listed reported a zero balance on both stablecoins, and the top two held 90% and 97% of the supply, so the long tail of chains is presentational
$0.0021 MB, and two fields you want
Compare two protocols on one measure
Say this to your agent
>get both protocols from the free all-protocols endpoint on monid in a single call, and say so in the answer. one call for both makes the same-source rule structural rather than something you have to remember, and it costs nothing
What the agent runsdone
defillama /api/tvl/{protocol}$0.00
surf /project/defi/metrics$0.012
defillama /api/v2/metrics/tvl/protocol/{protocol}$0.0006
What came backone protocol, one control · 2026-09-25
the ruleone source for a comparison, named in the answer; the two on this page disagree by 68% on one protocol and 0.14% on another
why a mixed comparison liesreading a lending protocol on the source that counts borrowed and a staking protocol on the one that does not makes the lender look 68% bigger than it is
a third figure exists toosumming a protocol's pools gives yet another number, because that query is scoped to one version on one chain; three figures, three scopes
what it costs to be rightnothing. One free call returns the TVL and the per-chain breakdown for every protocol at once, which answers this whole sentence and removes the chance of mixing sources rather than merely warning against it
$0.00two protocols, one ruler
The empty page that bills
Say this to your agent
>if a pools query for <protocol> comes back empty, do NOT conclude the protocol has no pools, and do not try to settle it with the free TVL endpoint: the two do not share a slug namespace, so a slug the TVL endpoint likes can still be one the pools endpoint has nothing under. query a pool you know exists on that protocol, or try the family's other slugs, before you report an absence
What the agent runsdone
defillama /yields/v2/earn/query$0.0006
defillama /api/tvl/{protocol}$0.00
surf /search/token$0.006
What came backone protocol, one control · 2026-09-25
what it looks likean empty data array and a pagination block reporting a total of zero, HTTP 200, billed in full
what it is indistinguishable froma real protocol that genuinely has no pools on that chain; nothing in the response separates the two
the cheap check does not work, and this page used to recommend itthe two endpoints do not share a slug namespace. On a second protocol family the parent slug returned $1.63bn of TVL from the free endpoint while the pools endpoint returned an empty page for it and billed, which is a false all-clear; and the bare family name was refused outright by the free endpoint while the pools endpoint accepted it and billed, which is the opposite error
so test a guard in both directionsa check that can pass a wrong slug and fail a right one is worse than no check, because it converts a doubt into a wrong answer you now trust
what does workask for a pool you know the protocol has. A positive result proves the slug; nothing else in this pair of endpoints does
why it matters here morein an aisle where most calls are free, the ones that bill are the ones worth getting right first time
$0.0006the cost of a typo
Step 3
Take the cheapest route with Monid.
Most of this aisle is free. The work is knowing what a number counts before you quote it, and that costs six hundredths of a cent.
The free reading · $0.0000
TVL, free$0.00one number
Price, free$0.00with a confidence
Only if you need more
The chain split$0.0006
Pools, three windows$0.0006
Hourly candles$0.006
TVL as a series$0.012
What does it count
Deposits or borrowed$0.00
Which window$0.00current, 7d or 30d
Back to you
rowread fromcost
1free reading$0.00
2The chain split$0.0006
3free reading$0.00
4Pools, three windows$0.0012
5free reading$0.00
5 of 5 rows$0.0018
Say this to your agent
>give me the tvl and the top pool yields for these protocols, free source first, and say which endpoint each number came from: <paste protocols>
“read both from one free call”the all-protocols endpoint returns every protocol at once for nothing, which makes the same-source rule structural
“ask what it counts”one number was deposits and the other was deposits plus borrowed
“name the window”one pool's current rate was 0.484% against its own 30-day average of 2.864%
“never sum that object”its keys mix chains with aggregates, and adding them all double-counts by billions
“prove a slug positively”the free TVL endpoint accepts slugs the pools endpoint has nothing under, so it cannot clear one
One key. 1,700+ tools.
138 endpoints across four aisles, and the dearest one is $0.012.
A protocol's TVLdefillama · $0.00 / call
The chain and borrowed splitdefillama · $0.0006 / call
Pools, with three APY windowsdefillama · $0.0006 / call
Token prices, with a confidencedefillama · $0.00 / call
A stablecoin's whole historydefillama · $0.00 / call
TVL as a daily seriessurf · $0.012 / call
Price every five minutessurf · $0.012 / call
Hourly DEX candlessurf · $0.006 / call
+ 1,700 more across 55 providers
Browse the catalog →Read more
View all →
LLM gateway or MCP gateway
Once the agent can read a protocol, the question is what else it is allowed to call.

Extract page content for RAG
A free twenty-megabyte response has the same problem a web page does: cut it down first.

When the site will not let you in
For the dashboard no endpoint covers, a browser is the fallback.
