Crypto market state, 45 assets: 4 states x 10 timeframes. Recorded, never recomputed, verifiable.
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.
Current DAMO market state of one symbol across 10 timeframes: state name and permanent code per timeframe, plus a 10-value vector in fixed timeframe order. as_of is when DAMO last wrote the record; each timeframe's candle close is in states[tf].candle_close (live: candle_close_expected).
Ticker, e.g. BTCUSDT. BTC, btc, BTC/USDT, BTC-PERP and coin names like Bitcoin are also accepted. Not a sentence: on a wrong symbol the error lists did_you_mean.
verified = closed candles (recorded, never changed); live = forming candles (provisional)
Also put DAMO's Ed25519 signature in the result body as 'proof'.
compact = symbol, layer, time, vector, short citation and remaining quota only. full = per-timeframe state, seq, hash and engine version (for citing and checking).
Optional. Only these timeframes are returned and counted against the quota (case-sensitive: 1m = minute, 1M = month). Omit for all 10.
Current DAMO market state of one symbol across 10 timeframes: state name and permanent code per timeframe, plus a 10-value vector in fixed timeframe order. as_of is when DAMO last wrote the record; each timeframe's candle close is in states[tf].candle_close (live: candle_close_expected).
| Argument | Type | Description |
|---|---|---|
| layer | string | verified = closed candles (recorded, never changed); live = forming candles (provisional) |
| proof | boolean | Also put DAMO's Ed25519 signature in the result body as 'proof'. |
| format | string | compact = symbol, layer, time, vector, short citation and remaining quota only. full = per-timeframe state, seq, hash and engine version (for citing and checking). |
| symbol* | string | Ticker, e.g. BTCUSDT. BTC, btc, BTC/USDT, BTC-PERP and coin names like Bitcoin are also accepted. Not a sentence: on a wrong symbol the error lists did_you_mean. |
| timeframes | array | Optional. Only these timeframes are returned and counted against the quota (case-sensitive: 1m = minute, 1M = month). Omit for all 10. |
{
"type": "object",
"required": [
"symbol"
],
"properties": {
"layer": {
"enum": [
"verified",
"live"
],
"type": "string",
"default": "verified",
"description": "verified = closed candles (recorded, never changed); live = forming candles (provisional)"
},
"proof": {
"type": "boolean",
"default": false,
"description": "Also put DAMO's Ed25519 signature in the result body as 'proof'."
},
"format": {
"enum": [
"full",
"compact"
],
"type": "string",
"default": "full",
"description": "compact = symbol, layer, time, vector, short citation and remaining quota only. full = per-timeframe state, seq, hash and engine version (for citing and checking)."
},
"symbol": {
"type": "string",
"maxLength": 40,
"description": "Ticker, e.g. BTCUSDT. BTC, btc, BTC/USDT, BTC-PERP and coin names like Bitcoin are also accepted. Not a sentence: on a wrong symbol the error lists did_you_mean."
},
"timeframes": {
"type": "array",
"items": {
"enum": [
"1m",
"5m",
"15m",
"1h",
"4h",
"12h",
"1d",
"3d",
"1w",
"1M"
],
"type": "string"
},
"description": "Optional. Only these timeframes are returned and counted against the quota (case-sensitive: 1m = minute, 1M = month). Omit for all 10.",
"uniqueItems": true
}
}
}Same as get_market_state for up to 50 symbols in one call.
| Argument | Type | Description |
|---|---|---|
| layer | string | verified = closed candles (recorded, never changed); live = forming candles (provisional) |
| proof | boolean | Also put DAMO's Ed25519 signature in the result body as 'proof'. |
| format | string | compact = symbol, layer, time, vector, short citation and remaining quota only. full = per-timeframe state, seq, hash and engine version (for citing and checking). |
| symbols* | array | |
| timeframes | array | Optional. Only these timeframes are returned and counted against the quota (case-sensitive: 1m = minute, 1M = month). Omit for all 10. |
{
"type": "object",
"required": [
"symbols"
],
"properties": {
"layer": {
"enum": [
"verified",
"live"
],
"type": "string",
"default": "verified",
"description": "verified = closed candles (recorded, never changed); live = forming candles (provisional)"
},
"proof": {
"type": "boolean",
"default": false,
"description": "Also put DAMO's Ed25519 signature in the result body as 'proof'."
},
"format": {
"enum": [
"full",
"compact"
],
"type": "string",
"default": "full",
"description": "compact = symbol, layer, time, vector, short citation and remaining quota only. full = per-timeframe state, seq, hash and engine version (for citing and checking)."
},
"symbols": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40,
"description": "Ticker, e.g. BTCUSDT. BTC, btc, BTC/USDT, BTC-PERP and coin names like Bitcoin are also accepted. Not a sentence: on a wrong symbol the error lists did_you_mean."
},
"maxItems": 50
},
"timeframes": {
"type": "array",
"items": {
"enum": [
"1m",
"5m",
"15m",
"1h",
"4h",
"12h",
"1d",
"3d",
"1w",
"1M"
],
"type": "string"
},
"description": "Optional. Only these timeframes are returned and counted against the quota (case-sensitive: 1m = minute, 1M = month). Omit for all 10.",
"uniqueItems": true
}
}
}The 4 permanent DAMO states and codes, timeframe order, the verified/live layers and what DAMO outputs (state data only).
No arguments.
{
"type": "object",
"properties": {}
}Symbols covered by DAMO, with available layers and any timeframe not yet available.
No arguments.
{
"type": "object",
"properties": {}
}