Compact 18-tool x402 market data server: token safety, Fed odds, DeFi yields, swap quotes, decisions
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.
Cheap live decision ($0.05): action (STRONG_BUY..STRONG_SELL), direction, conviction, a GO/WAIT answer for a side, the stance of each pillar and the measured hit rate. Same engine as get_decision on the full server /mcp ($1), without the trade plan, execution check, evidence and risks. Use as the default decision; decision.pre_trade answers only go/no-go timing for a side, decision.sample is free but an hour old.
Crypto pair (ETHUSD), US ticker (NVDA) or ISIN
Optional: answers GO / GO_SMALL / WAIT / NO_GO for this side
Cheap live decision ($0.05): action (STRONG_BUY..STRONG_SELL), direction, conviction, a GO/WAIT answer for a side, the stance of each pillar and the measured hit rate. Same engine as get_decision on the full server /mcp ($1), without the trade plan, execution check, evidence and risks. Use as the default decision; decision.pre_trade answers only go/no-go timing for a side, decision.sample is free but an hour old.
| Argument | Type | Description |
|---|---|---|
| side | string | Optional: answers GO / GO_SMALL / WAIT / NO_GO for this side |
| symbol* | string | Crypto pair (ETHUSD), US ticker (NVDA) or ISIN |
{
"type": "object",
"required": [
"symbol"
],
"properties": {
"side": {
"enum": [
"buy",
"sell"
],
"type": "string",
"description": "Optional: answers GO / GO_SMALL / WAIT / NO_GO for this side"
},
"symbol": {
"type": "string",
"description": "Crypto pair (ETHUSD), US ticker (NVDA) or ISIN"
}
}
}Right before a trade: 'I want to buy (or sell) SYMBOL - is now a good moment?'. Returns a verdict (FAVORABLE, CAUTION, UNFAVORABLE), a score and the checks behind it: order flow, momentum, volatility, adverse events, market regime and news/filings of the last 24h. Use when you already know the symbol and side and only need go/no-go timing; for an action with conviction use decision.lite.
| Argument | Type | Description |
|---|---|---|
| side | string | The side you intend to trade: buy or sell |
| symbol* | string | e.g. ETHUSD, BTCUSD, NVDA, TSLA |
| window | string | Aggregation window of the live trade buckets: 1m, 5m (default) or 15m |
{
"type": "object",
"required": [
"symbol"
],
"properties": {
"side": {
"enum": [
"buy",
"sell"
],
"type": "string",
"default": "buy",
"description": "The side you intend to trade: buy or sell"
},
"symbol": {
"type": "string",
"description": "e.g. ETHUSD, BTCUSD, NVDA, TSLA"
},
"window": {
"enum": [
"1m",
"5m",
"15m",
"1h",
"4h",
"24h"
],
"type": "string",
"default": "5m",
"description": "Aggregation window of the live trade buckets: 1m, 5m (default) or 15m"
}
}
}FREE sample of the premium decision: the latest hourly decision (action, direction, conviction, pillar scores) of every symbol with live on-chain trading (e.g. ETHUSD, BTCUSD, NVDA, TSLA, SPY, AAPL), delayed at least an hour, with what the price did 1h/4h/24h later. Judge the decisions before buying a live one.
| Argument | Type | Description |
|---|---|---|
| symbol | string | Optional; omit for all ten symbols |
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "Optional; omit for all ten symbols"
}
}
}DeFi lending yields ($0.002): supply and borrow APY, utilization and USD size of every Aave v3 (Ethereum, Base, Arbitrum, Optimism, Polygon), Spark and Compound v3 market, read on chain every 10 minutes, highest supply APY first, with the best USDC, USDT, WETH, WBTC and DAI rate. Base yield only (no reward tokens).
| Argument | Type | Description |
|---|---|---|
| asset | string | Token symbol (USDC, WETH, ...) or stablecoins for every stablecoin; omit for all |
| chain | string | Chain of the token or pool: base (default), ethereum, arbitrum, optimism or polygon (solana where listed). Not the payment network |
| limit | integer | Maximum number of results |
| protocol | string | |
| minTvlUsd | number | Leave out markets with less supplied |
{
"type": "object",
"properties": {
"asset": {
"type": "string",
"description": "Token symbol (USDC, WETH, ...) or stablecoins for every stablecoin; omit for all"
},
"chain": {
"enum": [
"ethereum",
"base",
"arbitrum",
"optimism",
"polygon"
],
"type": "string",
"description": "Chain of the token or pool: base (default), ethereum, arbitrum, optimism or polygon (solana where listed). Not the payment network"
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 200,
"minimum": 1,
"description": "Maximum number of results"
},
"protocol": {
"enum": [
"aave_v3",
"spark",
"compound_v3"
],
"type": "string"
},
"minTvlUsd": {
"type": "number",
"default": 1000000,
"description": "Leave out markets with less supplied"
}
}
}FREE: tell the operator what was missing or wrong (a route or tool you expected, a symbol without data, a confusing parameter). Read by a human; it decides the next routes.
| Argument | Type | Description |
|---|---|---|
| route | string | Route or tool it is about (optional) |
| rating | integer | Optional 1-5 rating of the route or tool |
| message | string | Anything else, up to 1000 characters |
| missing | string | What you needed and did not find |
{
"type": "object",
"properties": {
"route": {
"type": "string",
"description": "Route or tool it is about (optional)"
},
"rating": {
"type": "integer",
"maximum": 5,
"minimum": 1,
"description": "Optional 1-5 rating of the route or tool"
},
"message": {
"type": "string",
"description": "Anything else, up to 1000 characters"
},
"missing": {
"type": "string",
"description": "What you needed and did not find"
}
}
}Next market-moving events ($0.005) in UTC with importance, from official calendars: US CPI, jobs report, PCE, GDP, PPI, JOLTS (BLS, BEA), FOMC and ECB rate decisions. Check before opening a position.
| Argument | Type | Description |
|---|---|---|
| days | integer | Number of days to cover (look-back; days ahead for calendars) |
| region | string | Region: all, us or eu |
| importance | string | Minimum importance of the events to include |
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"default": 14,
"maximum": 90,
"minimum": 1,
"description": "Number of days to cover (look-back; days ahead for calendars)"
},
"region": {
"enum": [
"all",
"us",
"eu"
],
"type": "string",
"default": "all",
"description": "Region: all, us or eu"
},
"importance": {
"enum": [
"high",
"medium",
"low"
],
"type": "string",
"default": "medium",
"description": "Minimum importance of the events to include"
}
}
}Fed rate decision odds ($0.005): probability of a cut, no change or a hike at the next FOMC and other central-bank decisions, from Hyperliquid prediction markets, with 24h change, volume and the decision date.
No arguments.
{
"type": "object",
"properties": {}
}Why is a symbol moving? ($0.02) The 15-minute move and its likely drivers from every source (on-chain flow, unusual activity, smart money, perp crowding, 48h news, SEC filings, insiders) with direction and weight, plus a one-sentence summary. Crypto, tokenized stocks and US stocks.
| Argument | Type | Description |
|---|---|---|
| symbol* | string | e.g. ETHUSD, NVDA, TSLA |
{
"type": "object",
"required": [
"symbol"
],
"properties": {
"symbol": {
"type": "string",
"description": "e.g. ETHUSD, NVDA, TSLA"
}
}
}Goal-driven scan: name an objective and constraints, get ranked symbols with supporting and conflicting evidence grouped by independent source (spot DEX flow, perp positioning, smart-money wallets), typed risk factors, data quality, the live 1h hit rate of the signal and the next calls to make. Use instead of chaining screeners. Objectives: unusual_buying, unusual_selling, breakout, breakdown, crowded_positioning, smart_money_accumulation, smart_money_distribution.
| Argument | Type | Description |
|---|---|---|
| window | string | Aggregation window of the live trade buckets: 1m, 5m (default) or 15m |
| include | array | Blocks to return; default all |
| universe | array | Symbols to scan (max 100); omit for all covered symbols |
| objective* | string | What to look for |
| assetClass | string | Restrict to crypto, us_equity or perp_only symbols |
| maxResults | integer | Maximum number of ranked symbols (default 10) |
| minVolumeUsd | number | USD traded in the window |
| minConfidence |
Cheapest call ($0.001): headline numbers of one symbol right now: price, change, buy pressure, signal, event, confidence and trade count.
| Argument | Type | Description |
|---|---|---|
| symbol* | string | e.g. ETHUSD, BTCUSD, NVDA, TSLA |
| window | string | Aggregation window of the live trade buckets: 1m, 5m (default) or 15m |
{
"type": "object",
"required": [
"symbol"
],
"properties": {
"symbol": {
"type": "string",
"description": "e.g. ETHUSD, BTCUSD, NVDA, TSLA"
},
"window": {
"enum": [
"1m",
"5m",
"15m",
"1h",
"4h",
"24h"
],
"type": "string",
"default": "5m",
"description": "Aggregation window of the live trade buckets: 1m, 5m (default) or 15m"
}
}
}Get market-wide breadth, buying pressure, momentum, unusual activity and data freshness. Use for breadth, regime and the top movers in one call; for a goal-driven scan use market.opportunities.
| Argument | Type | Description |
|---|---|---|
| window | string | Aggregation window of the live trade buckets: 1m, 5m (default) or 15m |
{
"type": "object",
"properties": {
"window": {
"enum": [
"1m",
"5m",
"15m",
"1h",
"4h",
"24h"
],
"type": "string",
"default": "5m",
"description": "Aggregation window of the live trade buckets: 1m, 5m (default) or 15m"
}
}
}Prediction markets live from Hyperliquid HIP-4 ($0.005): every open market as a plain question with each option's probability, 24h change in points and 24h USDC volume, most traded first: crypto and stock price targets, Fed and central-bank rate decisions, IPOs (Anthropic, OpenAI), sports and awards. Filter by category or text.
| Argument | Type | Description |
|---|---|---|
| q | string | Text to find in the question or options, e.g. BTC, FOMC, Anthropic |
| limit | integer | Maximum number of results |
| category | string | News category; omit for all |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Text to find in the question or options, e.g. BTC, FOMC, Anthropic"
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 200,
"minimum": 1,
"description": "Maximum number of results"
},
"category": {
"enum": [
"crypto",
"stocks",
"macro",
"ipo",
"sports",
"awards",
"other"
],
"type": "string",
"description": "News category; omit for all"
}
}
}News for one symbol ($0.003): headlines and SEC filing events tagged with the ticker (e.g. NVDA, ETHUSD), newest first, with publisher attribution, sentiment and an event type and materiality where classified.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of results |
| symbol* | string | Ticker or crypto pair, e.g. NVDA, TSLA, ETHUSD |
{
"type": "object",
"required": [
"symbol"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 1,
"description": "Maximum number of results"
},
"symbol": {
"type": "string",
"description": "Ticker or crypto pair, e.g. NVDA, TSLA, ETHUSD"
}
}
}Fundamentals of up to 10 US-listed companies in one call ($0.03): per ticker revenue, earnings, margins, growth, balance sheet and a fundamental signal from SEC filings.
| Argument | Type | Description |
|---|---|---|
| symbols* | array | US tickers, e.g. ["AAPL", "MSFT"] |
{
"type": "object",
"required": [
"symbols"
],
"properties": {
"symbols": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"description": "US tickers, e.g. [\"AAPL\", \"MSFT\"]"
}
}
}Tokens launched in the last hour on Base or Ethereum, already risk-checked: every new Uniswap v2/v3/v4 or Aerodrome pool against ETH, WETH or USDC with liquidity, sell simulation, v4 hook powers, first trades and a verdict (LOW_RISK, CAUTION, HIGH_RISK).
| Argument | Type | Description |
|---|---|---|
| chain | string | Chain of the token or pool: base (default), ethereum, arbitrum, optimism or polygon (solana where listed). Not the payment network |
| limit | integer | Maximum number of results |
| minutes | integer | Look-back for new pools in minutes (default 60) |
| verdict | string | Keep only tokens with this risk verdict: LOW_RISK, CAUTION or HIGH_RISK |
| minLiquidityUsd | number | Minimum pool liquidity in USD |
| includeEstablished | boolean | Also list new pools of tokens that already existed a day earlier (new markets, not launches) |
{
"type": "object",
"properties": {
"chain": {
"enum": [
"base",
"ethereum"
],
"type": "string",
"default": "base",
"description": "Chain of the token or pool: base (default), ethereum, arbitrum, optimism or polygon (solana where listed). Not the payment network"
},
"limit": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1,
"description": "Maximum number of results"
},
"minutes": {
"type": "integer",
"default": 60,
"maximum": 1440,
"minimum": 5,
"description": "Look-back for new pools in minutes (default 60)"
},
"verdict": {
"enum": [
"LOW_RISK",
"CAUTION",
"HIGH_RISK"
],
"type": "string",
"description": "Keep only tokens with this risk verdict: LOW_RISK, CAUTION or HIGH_RISK"
},
"minLiquidityUsd": {
"type": "number",
"default": 1000,
"description": "Minimum pool liquidity in USD"
},
"includeEstablished": {
"type": "boolean",
"default": false,
"description": "Also list new pools of tokens that already existed a day earlier (new markets, not launches)"
}
}
}Due diligence before buying any token (Base by default; also ethereum, arbitrum, optimism, polygon, solana). EVM: simulated sell and buy (honeypot check), owner and upgradeable proxy, mint, blacklist, pause and fee functions, liquidity, LP burn, observed buy tax, last-hour flow. Solana mints: mint and freeze authority, Token-2022 transfer fee, permanent delegate, transfer hook, pause and top-wallet concentration. Verdict LOW_RISK, CAUTION or HIGH_RISK. Use before buying a token; for the price you would get on chain use token.swap_quote.
| Argument | Type | Description |
|---|---|---|
| chain | string | Chain of the token or pool: base (default), ethereum, arbitrum, optimism or polygon (solana where listed). Not the payment network |
| address* | string | 0x-prefixed ERC-20 contract, or a base58 Solana mint |
{
"type": "object",
"required": [
"address"
],
"properties": {
"chain": {
"enum": [
"base",
"ethereum",
"arbitrum",
"optimism",
"polygon",
"solana"
],
"type": "string",
"default": "base",
"description": "Chain of the token or pool: base (default), ethereum, arbitrum, optimism or polygon (solana where listed). Not the payment network"
},
"address": {
"type": "string",
"description": "0x-prefixed ERC-20 contract, or a base58 Solana mint"
}
}
}Right before an on-chain swap ($0.005): how much you get now on the best route (Uniswap v2/v3/v4, Aerodrome, direct or through WETH) on Base, Ethereum, Arbitrum, Optimism or Polygon, with price impact, minimum received at your slippage and alternatives. Simulated, nothing executed.
| Argument | Type | Description |
|---|---|---|
| buy* | string | ETH, WETH, USDC or a 0x token address |
| sell* | string | ETH, WETH, USDC or a 0x token address |
| chain | string | Chain of the token or pool: base (default), ethereum, arbitrum, optimism or polygon (solana where listed). Not the payment network |
| amount* | string | Sell amount in whole units, e.g. 1000 |
| slippageBps | integer | Slippage tolerance for the minimum received, in basis points |
{
"type": "object",
"required": [
"sell",
"buy",
"amount"
],
"properties": {
"buy": {
"type": "string",
"description": "ETH, WETH, USDC or a 0x token address"
},
"sell": {
"type": "string",
"description": "ETH, WETH, USDC or a 0x token address"
},
"chain": {
"enum": [
"base",
"ethereum",
"arbitrum",
"optimism",
"polygon"
],
"type": "string",
"default": "base",
"description": "Chain of the token or pool: base (default), ethereum, arbitrum, optimism or polygon (solana where listed). Not the payment network"
},
"amount": {
"type": "string",
"description": "Sell amount in whole units, e.g. 1000"
},
"slippageBps": {
"type": "integer",
"default": 50,
"maximum": 5000,
"minimum": 1,
"description": "Slippage tolerance for the minimum received, in basis points"
}
}
}Use when the user asks "is this token safe?", "is it a rug or a honeypot?", "check this CA" or "can I sell it?". Send a token contract address (Base by default; also ethereum, arbitrum, optimism, polygon, or a Solana mint), get a short verdict: LOW_RISK, CAUTION or HIGH_RISK, a 0-100 safety score, one plain-language sentence, whether a simulated sale succeeds (honeypot check), observed buy tax, liquidity, who controls the contract, the top three risks, a oneLiner to quote and a share card. Cheaper and shorter than token.risk. Use for a quick safe-to-buy answer; for every check behind it use token.risk.
| Argument | Type | Description |
|---|---|---|
| chain | string | Chain of the token or pool: base (default), ethereum, arbitrum, optimism or polygon (solana where listed). Not the payment network |
| address* | string | 0x-prefixed ERC-20 contract, or a base58 Solana mint |
{
"type": "object",
"required": [
"address"
],
"properties": {
"chain": {
"enum": [
"base",
"ethereum",
"arbitrum",
"optimism",
"polygon",
"solana"
],
"type": "string",
"default": "base",
"description": "Chain of the token or pool: base (default), ethereum, arbitrum, optimism or polygon (solana where listed). Not the payment network"
},
"address": {
"type": "string",
"description": "0x-prefixed ERC-20 contract, or a base58 Solana mint"
}
}
}| number |
| Minimum signal confidence, 0-100 |
| minBuyPressure | number | Pressure on the objective's side (buy for buying, sell for selling) |
| minVolumeMultiple | number | Volume vs the symbol's own baseline |
| minIndependentSources | integer | Distinct sources confirming the direction |
{
"type": "object",
"required": [
"objective"
],
"properties": {
"window": {
"enum": [
"1m",
"5m",
"15m",
"1h",
"4h",
"24h"
],
"type": "string",
"default": "5m",
"description": "Aggregation window of the live trade buckets: 1m, 5m (default) or 15m"
},
"include": {
"type": "array",
"items": {
"enum": [
"metrics",
"evidence",
"risk_factors",
"data_quality",
"track_record",
"market_context"
],
"type": "string"
},
"description": "Blocks to return; default all"
},
"universe": {
"type": "array",
"items": {
"type": "string"
},
"description": "Symbols to scan (max 100); omit for all covered symbols"
},
"objective": {
"enum": [
"unusual_buying",
"unusual_selling",
"breakout",
"breakdown",
"crowded_positioning",
"smart_money_accumulation",
"smart_money_distribution"
],
"type": "string",
"description": "What to look for"
},
"assetClass": {
"enum": [
"crypto",
"us_equity",
"perp_only"
],
"type": "string",
"description": "Restrict to crypto, us_equity or perp_only symbols"
},
"maxResults": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Maximum number of ranked symbols (default 10)"
},
"minVolumeUsd": {
"type": "number",
"default": 0,
"description": "USD traded in the window"
},
"minConfidence": {
"type": "number",
"default": 50,
"maximum": 100,
"minimum": 0,
"description": "Minimum signal confidence, 0-100"
},
"minBuyPressure": {
"type": "number",
"default": 60,
"maximum": 100,
"minimum": 50,
"description": "Pressure on the objective's side (buy for buying, sell for selling)"
},
"minVolumeMultiple": {
"type": "number",
"default": 1.5,
"description": "Volume vs the symbol's own baseline"
},
"minIndependentSources": {
"type": "integer",
"default": 1,
"maximum": 3,
"minimum": 1,
"description": "Distinct sources confirming the direction"
}
}
}