← The evidence ledger
Evidence row 383986
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint c0f695f0-6de3-4cff-9833-a79724e36b44
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 8b808c8b8fcb2e7a7a803ba0047a26ef0be65274bc9e7f78a5a28764d80d53e6
- Leaf
- 0xe8b7090bbc38073832f248fe6e4b3ebae6de4cac11f3990d8ac8cbae811d9878
What was observed
{
"count": 12,
"tools": [
{
"description": "Whether spreading the entry would have helped, measured. One amount into a coin over a window (90, 365 or 730 days): all of it on day one, or equal instalments weekly or monthly. Both start the same day, move the same money and are valued on the same day, started on every day of the history. You get how often spreading ended ahead, the middle result of each, and the worst start day of each — which is what spreading actually buys and the half nobody shows. Spot tape, no fees, dead coins included.\n\nUse for dollar-cost averaging versus lump sum on one coin. For claims about particular days or months use best_days_check or calendar_check; for the fall after a single buy, drawdown_check.",
"inputSchema": {
"description": "The coin and the window you want compared.",
"examples": [
{
"coin": "btc",
"days": 365
}
],
"properties": {
"coin": {
"description": "Ticker or full pair. An unknown one comes back with the list we hold and the ones left out.",
"type": "string"
},
"days": {
"description": "The window, in days: 90, 365 or 730.",
"enum": [
90,
365,
730
],
"type": "number"
},
"instalments": {
"default": "weekly",
"description": "How often a slice goes in: weekly or monthly. Defaults to weekly.",
"enum": [
"weekly",
"monthly"
],
"type": "string"
}
},
"required": [
"coin",
"days",
"instalments"
],
"type": "object"
},
"name": "averaging_in_check"
},
{
"description": "The 'miss the ten best days and you get nothing' claim, measured on both sides. The same window of a coin lived four ways: all of it, without its N best days, without its N worst days, and without either, from every start day of the history. You also get how many of those best days landed within a week of a worst one, which is what decides whether the claim means anything. Backtest on spot daily candles, dead coins included.\n\nUse when someone argues for staying invested because missing the best days ruins returns, or for timing the market to dodge the worst ones. Which weekday or month does best is calendar_check.",
"inputSchema": {
"description": "The coin, the window, and how many days you would miss.",
"examples": [
{
"best_days": 10,
"coin": "btc",
"days": 365
}
],
"properties": {
"best_days": {
"default": 10,
"description": "How many days are missed: 1, 5, 10 or 20. Defaults to 10, the number in the claim.",
"enum": [
1,
5,
10,
20
],
"type": "number"
},
"coin": {
"description": "Ticker or full pair. An unknown one comes back with the list we hold and the ones left out.",
"type": "string"
},
"days": {
"description": "Window in days: 90, 365 or 730.",
"enum": [
90,
365,
730
],
"type": "number"
}
},
"required": [
"coin",
"days",
"best_days"
],
"type": "object"
},
"name": "best_days_check"
},
{
"description": "'Uptober'. 'Mondays dip'. 'Sell in May'. Any calendar claim on 34 coins, measured against chance. With seven days one has to come first, so the answer is a permutation test: the SAME returns dealt out at random hundreds of times, and how often chance alone produces a bucket that good. Plus how many times the bucket really happened - October is 279 days of bitcoin but nine Octobers - and the round-trip cost. Nine years of daily candles.\n\nTests whether one day of the week, month of the year or hour of the day really beats the rest for a coin. Use for seasonality claims (Uptober, Monday dips, Sell in May). For the claim about missing the market's best days use best_days_check; for when to spread an entry, averaging_in_check.",
"inputSchema": {
"description": "The coin and which calendar: weekday, month or hour.",
"examples": [
{
"calendar": "month_of_year",
"coin": "btc"
}
],
"properties": {
"calendar": {
"description": "day_of_week, month_of_year or hour_of_day. The hourly one exists for the 16 coins we hold hourly candles for.",
"enum": [
"day_of_week",
"month_of_year",
"hour_of_day"
],
"type": "string"
},
"coin": {
"description": "Ticker or full pair. An unknown one comes back with the list we hold and the ones left out.",
"type": "string"
}
},
"required": [
"coin",
"calendar"
],
"type": "object"
},
"name": "calendar_check"
},
{
"description": "Two or three coins side by side, every check at once: for each, how often a buy fell 30% or more before the window was out and where the middle one ended, how often a leveraged month ended with nothing, whether spreading the entry won, how often a stop-loss sold a buy that ended in profit, and how much it moves with bitcoin. Nothing is ranked and no coin is called better. Spot and perpetual tapes, fees charged.\n\nUse when two or three coins are being compared or chosen between. For one coin or one question the specific check gives more detail: drawdown_check, leverage_survival, averaging_in_check, stop_loss_check, diversification_check.",
"inputSchema": {
"description": "The coins, and optionally the window and the leverage.",
"examples": [
{
"coins": [
"btc",
"eth"
]
}
],
"properties": {
"coins": {
"description": "Two or three tickers, comma-separated: BTC,ETH,SOL. Kept in the order sent.",
"type": "string"
},
"days": {
"default": 365,
"description": "90, 365 (default) or 730.",
"enum": [
90,
365,
730
],
"type": "number"
},
"leverage": {
"default": 25,
"description": "For the leverage row. Default 25.",
"type": "number"
}
},
"required": [
"coins",
"days",
"leverage"
],
"type": "object"
},
"name": "coin_comparison"
},
{
"description": "Whether copying the top traders works, measured. Accounts in the top 10% or 1% of Hyperliquid one month, by return or by dollar profit: how many were in the top again the next month, next to chance, how many fell to the bottom instead, and how many made money the month you would have copied them for, next to every active account. 4,000 accounts sampled at random, not today's leaders; about 30 month pairs.\n\nUse when someone proposes copying top traders, a leaderboard or signal leaders. Takes no account address. To place one specific return on the leaderboard use leaderboard_rank_check; to ask whether luck explains a record, overfitting_odds.",
"inputSchema": {
"description": "Which ranking and which top group. Both optional.",
"examples": [
{}
],
"properties": {
"ranked_by": {
"default": "return",
"description": "return (default) or profit.",
"enum": [
"return",
"profit"
],
"type": "string"
},
"top_pct": {
"default": 10,
"description": "10 (default) or 1. 0.1 is read as 10.",
"enum": [
10,
1
],
"type": "number"
}
},
"required": [
"ranked_by",
"top_pct"
],
"type": "object"
},
"name": "copy_trading_check"
},
{
"description": "Diversification check: how many independent bets a basket of coins really is. Give the coins (and optionally the window: 90, 365 or 730 days): you get the average correlation between the pairs on real daily returns, the number of independent bets it works out to, each coin's correlation with bitcoin — and what the equal-weight basket did on the days bitcoin closed 3% or more down: how often it fell too, by how much, and its worst such day. Dead coins included.\n\nUse when a basket of two or more coins is called diversified or hedged. For one coin use drawdown_check; for two or three coins side by side on every check, coin_comparison.",
"inputSchema": {
"description": "The basket you want measured.",
"examples": [
{
"coins": [
"btc",
"eth"
]
}
],
"properties": {
"coins": {
"description": "Tickers or full pairs, e.g. [\"BTC\", \"ETH\", \"SOL\"]. A comma-separated string also works. One we do not hold comes back with the list.",
"items": {
"type": "string"
},
"type": "array"
},
"days": {
"default": 365,
"description": "Window ending on the last day of the data: 90, 365 or 730. Defaults to 365.",
"enum": [
90,
365,
730
],
"type": "number"
}
},
"required": [
"coins",
"days"
],
"type": "object"
},
"name": "diversification_check"
},
{
"description": "Drawdown check: what it cost to collect the return you were shown. The coin is bought at the close of every day of its history and held for the period you name: you get the drawdown from the entry before the period was out, the share of starts that fell 30% and 50%, the days spent under water, how it ended — and, among the starts that ended in profit, the drawdown they sat through first. Spot tape, no fees, coins that died included.\n\nUse when a return is quoted for holding a coin (\"BTC did +150% in a year\") and you want the fall endured on the way. With leverage use leverage_survival; to test a stop that cuts the fall, stop_loss_check.",
"inputSchema": {
"description": "The hold you want opened on every day there has been.",
"examples": [
{
"coin": "btc",
"days": 365
}
],
"properties": {
"coin": {
"description": "Ticker or full pair. An unknown one comes back with the list we hold and the ones left out.",
"type": "string"
},
"days": {
"description": "How long it is held: 30, 90, 365 or 730.",
"enum": [
30,
90,
365,
730
],
"type": "number"
}
},
"required": [
"coin",
"days"
],
"type": "object"
},
"name": "drawdown_check"
},
{
"description": "How much company a return has. Send a return (+340%) and a window (day, week, month or all time) and get how many accounts on Hyperliquid's whole public leaderboard did the same or better, out of how many traded, its percentile, and the median account next to it. Every row of the exchange's own table, refreshed daily; the denominator is the accounts that traded, not the ones that sat idle.\n\nUse when a trader or an ad quotes a return (\"+340% this month\") and you want to know how rare it is. Hyperliquid accounts only. Whether last month's top accounts stay on top is copy_trading_check; whether luck explains a win rate, overfitting_odds.",
"inputSchema": {
"description": "The return you were shown, and over what window.",
"examples": [
{
"return_pct": 340
}
],
"properties": {
"return_pct": {
"description": "In percent: 340 means +340%.",
"type": "number"
},
"window": {
"default": "month",
"description": "day, week, month (default) or allTime.",
"enum": [
"day",
"week",
"month",
"allTime"
],
"type": "string"
}
},
"required": [
"return_pct",
"window"
],
"type": "object"
},
"name": "leaderboard_rank_check"
},
{
"description": "What a leveraged trade actually did, opened on every single day of the history instead of the one day that worked. Give coin, side, leverage and holding period: you get the share of those days that ended liquidated, the median outcome, the best day, and what the same coin did with no leverage at all. Real perpetual tape, with the funding that was actually paid charged daily and eating into margin. Coins that blew up included.\n\nUse when the question involves leverage, perpetuals or liquidation. For the fall an unleveraged holder sits through use drawdown_check; for two or three coins at once, coin_comparison.",
"inputSchema": {
"description": "The leveraged trade you want opened on every day there has been.",
"examples": [
{
"coin": "BTC",
"days": 30,
"leverage": 25
}
],
"properties": {
"coin": {
"description": "Ticker or full pair. An unknown one comes back with the list we hold and the ones we do not.",
"type": "string"
},
"days": {
"description": "How long it is held: 1, 7, 30 or 90.",
"enum": [
1,
7,
30,
90
],
"type": "number"
},
"leverage": {
"description": "2, 3, 5, 10, 20, 25, 50 or 100.",
"enum": [
2,
3,
5,
10,
20,
25,
50,
100
],
"type": "number"
},
"side": {
"default": "long",
"description": "long or short. Defaults to long.",
"enum": [
"long",
"short"
],
"type": "string"
}
},
"required": [
"coin",
"leverage",
"days"
],
"type": "object"
},
"name": "leverage_survival"
},
{
"description": "Overfitting check: how many attempts plain chance needs to produce the track record you were shown. Give the wins, the losses and how many versions were tried: you get the exact binomial odds of one try reaching it, the odds once somebody shows you the best of N, and how many tries would make it an even bet. Arithmetic only — no market data, no model, no opinion. A 62% win rate over 100 trades is one thing on the first try, nothing on the fiftieth.\n\nUse when you are shown a win rate, a backtest or a signal channel's record and need to know whether luck explains it. Needs no coin. For what a named rule did on real prices use strategy_grid_lookup; to place a return among real accounts, leaderboard_rank_check.",
"inputSchema": {
"description": "The track record you were shown, and how much searching went into finding it.",
"examples": [
{
"losses": 38,
"tries": 20,
"wins": 62
}
],
"properties": {
"baseline": {
"default": 0.5,
"description": "Probability a single trade wins by chance. Defaults to 0.5.",
"type": "number"
},
"losses": {
"description": "Losing trades. Give this or trades.",
"type": "number"
},
"trades": {
"description": "Total trades.",
"type": "number"
},
"tries": {
"default": 1,
"description": "How many versions were tried before this one was shown to you. Defaults to 1, which is almost never true.",
"type": "number"
},
"wins": {
"description": "Winning trades.",
"type": "number"
}
},
"required": [
"wins",
"trades"
],
"type": "object"
},
"name": "overfitting_odds"
},
{
"description": "Whether a stop-loss would have helped, measured. The same buy of a coin, held 30, 90, 365 or 730 days, with a stop 5, 10, 15, 20 or 30% below the entry and without one, started on every day of the history. The stop fires on the day's low, not its close, and fees are charged to both. You get how often it fired, how often it sold a buy that would have ended in profit, and the worst case of each. Spot tape, dead coins included.\n\nUse when asked whether a stop-loss protects a spot buy-and-hold. For leveraged positions, where liquidation is the stop, use leverage_survival; for a rule with a stop and a take-profit, strategy_grid_lookup.",
"inputSchema": {
"description": "The coin, how long you meant to hold, and the stop.",
"examples": [
{
"coin": "btc",
"days": 365,
"stop": 5
}
],
"properties": {
"coin": {
"description": "Ticker or full pair. An unknown one comes back with the list we hold and the ones left out.",
"type": "string"
},
"days": {
"description": "Holding period in days: 30, 90, 365 or 730.",
"enum": [
30,
90,
365,
730
],
"type": "number"
},
"stop": {
"description": "How far below the entry, in percent: 5, 10, 15, 20 or 30. 0.05 is read as 5.",
"enum": [
5,
10,
15,
20,
30
],
"type": "number"
}
},
"required": [
"coin",
"days",
"stop"
],
"type": "object"
},
"name": "stop_loss_check"
},
{
"description": "Backtest lookup: what one exact version of a strategy actually did. Buy-the-dip and the moving-average cross, every combination of their knobs, computed over nine years of real prices with the exchange's fees charged both ways — sixteen coins, three of which died. Give the coin and the numbers and you get the return, the trades, the worst drawdown, and what buying and holding did over the same window. Read from a file you can download.\n\nUse when someone quotes a specific dip-buying or moving-average rule (\"buy 10% dips, take 5%\") and you want its real backtest. For leverage use leverage_survival; for a stop on a plain buy-and-hold, stop_loss_check; to judge a win rate you were shown, overfitting_odds.",
"inputSchema": {
"description": "Which exact version of the strategy you want looked up.",
"examples": [
{
"coin": "btc"
}
],
"properties": {
"candles": {
"description": "cross only: 1d or 4h.",
"enum": [
"1d",
"4h"
],
"type": "string"
},
"coin": {
"description": "BTC, ETH, SOL, DOGE, PEPE, SRM… ticker or full pair. Ask with an unknown one and the answer lists the sixteen we hold.",
"type": "string"
},
"drop": {
"description": "dip only: how far below its recent high to buy, in %.",
"type": "number"
},
"family": {
"default": "dip",
"description": "dip (buy when it falls) or cross (moving average crossover). Defaults to dip.",
"enum": [
"dip",
"cross"
],
"type": "string"
},
"fast": {
"description": "cross only: fast average.",
"type": "number"
},
"hours": {
"description": "dip only: give up after this many hours.",
"type": "number"
},
"slow": {
"description": "cross only: slow average.",
"type": "number"
},
"stop": {
"description": "dip only: stop loss, in %.",
"type": "number"
},
"target": {
"description": "dip only: take profit, in %.",
"type": "number"
}
},
"required": [
"coin"
],
"type": "object"
},
"name": "strategy_grid_lookup"
}
]
}What the leaf hashes
{"body":"8b808c8b8fcb2e7a7a803ba0047a26ef0be65274bc9e7f78a5a28764d80d53e6","id":383986,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793060290132737,"prev":null,"subject":"c0f695f0-6de3-4cff-9833-a79724e36b44","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0xe8b6b76a0f1af585250f7bd52a9a41d5e075de161158fd5abcebc65cd15b430a
- 0x251e577b49ebc9fe3be55c64fe0ec8de45559607b27bf8ec20c666d46b5e93ad
- 0x38fe8fcb24fc00142d31d6bb26d9f91a1995f9236edde0a39a74ad6d9f8c792b
- 0xf2d17a354586c0438a37cd3f9f633bdb3427298cfa899767a1e5e4dae3d8e221
- 0x342b8851e6683e2a5b067266ce2fa54373b29d447681be858f3212eb63ac8c7e
- 0x150c010c52a73eca4a171a800f5f7b81f6c0fde3b07bb5df8333c1ab1869a82a
- 0x03bc5f1297b5b924b71116ff8cd3178cb8cc97260af54eeaa8677f383ec2bb0e
- 0x1c15cafeed8a689486c201c9cc03354237f99d5fe2e8cc21321c5827add0a9bf
- 0x7e1809dd235a3134bcdf1b0625be0793e1cf4b4675de980a093137babf7b93c7
- 0x53b13ff6f33cba3fd97ff125897c379e1671c0a0fe32621058f1e9e110f22a82
- 0x3c861cf142eb751b2220b81059bfcf21056da91d39e1dc3b54eb4cf7ac64da25
- 0x555cdc5682ffc7c8210a3ce0f57c03bc80456dce0d2723d1de26e7d1e57b0f94
- 0xab6eb305329046d5ccb835dd8ca955f794e3ca110379a94dbdc780d016448561
- 0x41f9f462759cb539183e979fb3eb967d94755cf039c44a64a9a3c4ad97523cfd
- 0x56f7109d4cde42492651beb1237c13cdcbf95e6fee2b2482391a2388e04c4629
- 0x8745bd887f5ce9f7a49558fd2b04cdcd97a05ea9f8a23f62d0e80cb13d328b0f
- 0xdf1105afdc109de3c09a98fc8a3864159ad964e6f49b635c105a27a1e1f14310
- 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4