Daily on-chain DeFi capital inflow vs token price, Bitcoin-timestamped. Free and x402-paid tools.
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.
Free. What is measured today: chains, protocols, tokens and data sets, generated from the data itself. Same JSON as GET /coverage.json.
This tool takes no arguments.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http defi-flow-price-gap https://defi-flow.onchainproof.workers.dev/mcp
Free. What is measured today: chains, protocols, tokens and data sets, generated from the data itself. Same JSON as GET /coverage.json.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Free. The full daily signal (all tokens: protocol capital inflow vs price gap, tier and reason, holder value fields, risk flag) of a data day older than 7 days, CC BY 4.0, with its proof fields. Argument date: YYYY-MM-DD (see list_free_days). Same JSON as GET /free/{date}/signal.json. Informational, not investment advice.
| Argument | Type | Description |
|---|---|---|
| date* | string | data day, YYYY-MM-DD (UTC) |
{
"type": "object",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "data day, YYYY-MM-DD (UTC)"
}
},
"additionalProperties": false
}Holder value for 10 DeFi tokens on Ethereum: revenue, burn, buyback, payouts, dilution and net, first-party on-chain. Bitcoin-timestamped; free proof: /verify/index.json. Informational, not investment advice. Paid: $0.02 USDC on Base with x402 inside the MCP call (_meta["x402/payment"]); without payment the tool returns the x402 PaymentRequired result and nothing is charged. Same JSON as GET /v1/holder-value.
| Argument | Type | Description |
|---|---|---|
| receipt | string | optional: refetch.receipt from an earlier paid answer of the same tool - the same data again without payment (terms 2b) |
{
"type": "object",
"properties": {
"receipt": {
"type": "string",
"pattern": "^\\d{8}\\.[A-Za-z0-9_-]{43}$",
"description": "optional: refetch.receipt from an earlier paid answer of the same tool - the same data again without payment (terms 2b)"
}
},
"additionalProperties": false
}Asset-level protocol TVL inflow/outflow for 10 DeFi tokens on Ethereum: first-party on-chain reads at a fixed daily block. Bitcoin-timestamped; free proof: /verify/index.json. Informational, not investment advice. Paid: $0.02 USDC on Base with x402 inside the MCP call (_meta["x402/payment"]); without payment the tool returns the x402 PaymentRequired result and nothing is charged. Same JSON as GET /v1/inflow/assets.
| Argument | Type | Description |
|---|---|---|
| receipt | string | optional: refetch.receipt from an earlier paid answer of the same tool - the same data again without payment (terms 2b) |
{
"type": "object",
"properties": {
"receipt": {
"type": "string",
"pattern": "^\\d{8}\\.[A-Za-z0-9_-]{43}$",
"description": "optional: refetch.receipt from an earlier paid answer of the same tool - the same data again without payment (terms 2b)"
}
},
"additionalProperties": false
}Free. The SHA-256 fingerprint file and the OpenTimestamps Bitcoin proof of a data day, its Bitcoin status and block, and how to verify it yourself (ready-made code: /examples/). Argument date: YYYY-MM-DD. From GET /verify/index.json.
| Argument | Type | Description |
|---|---|---|
| date* | string | data day, YYYY-MM-DD (UTC) |
{
"type": "object",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "data day, YYYY-MM-DD (UTC)"
}
},
"additionalProperties": false
}All 10 DeFi tokens on Ethereum, daily: first-party on-chain protocol TVL inflow/outflow (not resold) vs price gap; tiers + reasons. Bitcoin-timestamped; free proof: /verify/index.json. Informational, not investment advice. Track record per tier (A/B/C, rules fixed in advance and Bitcoin-timestamped) in every response; predictive power not yet proven live. Paid: $0.01 USDC on Base with x402 inside the MCP call (_meta["x402/payment"]); without payment the tool returns the x402 PaymentRequired result and nothing is charged. Same JSON as GET /v1/signal.
| Argument | Type | Description |
|---|---|---|
| receipt | string | optional: refetch.receipt from an earlier paid answer of the same tool - the same data again without payment (terms 2b) |
{
"type": "object",
"properties": {
"receipt": {
"type": "string",
"pattern": "^\\d{8}\\.[A-Za-z0-9_-]{43}$",
"description": "optional: refetch.receipt from an earlier paid answer of the same tool - the same data again without payment (terms 2b)"
}
},
"additionalProperties": false
}Free. Today's data day and its age, the quality gate, whether paid tools are open (paid_routes_open), the Bitcoin proof status of today's fingerprint, the token list (token_symbols) and each tier's track-record verdict. Same JSON as GET /v1/status. Informational, not investment advice.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}One DeFi token (argument token): first-party on-chain TVL inflow/outflow vs price gap, tier + reason. All 10 tokens: /v1/signal $0.01. Bitcoin-timestamped; free proof: /verify/index.json. Informational, not investment advice. Track record per tier (A/B/C, rules fixed in advance and Bitcoin-timestamped) in every response; predictive power not yet proven live. Paid: $0.005 USDC on Base with x402 inside the MCP call (_meta["x402/payment"]); without payment the tool returns the x402 PaymentRequired result and nothing is charged. Same JSON as GET /v1/signal/{token}.
| Argument | Type | Description |
|---|---|---|
| token* | string | token symbol (the list: get_status, field token_symbols) |
| receipt | string | optional: refetch.receipt from an earlier paid answer of the same tool - the same data again without payment (terms 2b) |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"enum": [
"AAVE",
"COMP",
"ENA",
"ETHFI",
"LDO",
"MORPHO",
"RPL",
"SKY",
"SYRUP",
"UNI"
],
"type": "string",
"description": "token symbol (the list: get_status, field token_symbols)"
},
"receipt": {
"type": "string",
"pattern": "^\\d{8}\\.[A-Za-z0-9_-]{43}$",
"description": "optional: refetch.receipt from an earlier paid answer of the same tool - the same data again without payment (terms 2b)"
}
},
"additionalProperties": false
}Free. Track record per signal tier: backtest verdicts (A works / B partial / C not distinguishable from luck) per methodology version, observation counts, the thresholds, Bitcoin proofs, the live record and the price policy. A tier name describes the measured state, not how well it is proven. Same JSON as GET /performance.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Free. Every data day older than 7 days, free under CC BY 4.0 and byte-identical to the Bitcoin-timestamped originals: date, link to the full signal, fingerprint and Bitcoin status. Compact view of GET /free/index.json.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 15, 2026.
Takes a password, API key or token as an argument, so the secret passes through the model's context and chat logs.
Fix: Read credentials from the server's own configuration (environment, OAuth) instead of a tool argument.