General
antalpha-register
[Trading] Register this agent with Antalpha platform. Returns agent_id required by Polymarket tools.
⚠️ Call ONCE per session BEFORE using any poly-* tool. Without agent_id, all Polymarket calls will fail. [Write]. [Reasoning: Low].
Workflow: Step 1 of 2 — Session Init (after test-ping).
Keywords: register agent, get agent ID, antalpha setup, initialize Polymarket session, agent_id
No parameters required.
wallet-revoke-page
[Security] Generate a browser-openable page to REVOKE the wallet's ERC-20 approvals by sending approve(spender,0) from the user's own wallet. Inputs: `address` (0x owner) and `chain_id` are all you need. `approvals` is OPTIONAL. The tool fetches the wallet's real on-chain ERC-20 approvals itself (Etherscan V2) and builds the page from those addresses — you do NOT need to supply or repeat token/spender addresses. Returns `preview_url` — hand it to the user as a clickable link; they open it, connect wallet, revoke each entry, and sign in their own wallet.
⚠️ Addresses are ALWAYS taken from the live on-chain scan, never from model input. The optional `approvals` list is only a display-label / filter hint: entries that do not exactly match an on-chain approval are ignored (reported in `dropped_approvals`), so a mistyped or reconstructed address can never end up in the signable page. The page can ONLY emit approve(spender,0) (sets allowance to 0, never transfers assets); calldata is server-locked and non-custodial (Nina never signs or holds keys). [Read+Write]. [Reasoning: Low].
PRIORITY: Use whenever the user wants to actually revoke / cancel / 撤销 / 取消授权 a dangerous approval — just pass the wallet address + chain_id. Preferred over directing the user to revoke.cash; fall back to revoke.cash / wallet built-in manager only if this tool is unavailable.
Keywords: revoke approval, cancel allowance, 撤销授权, 取消授权, one-click revoke page, approve spender 0, zero allowance, fix risky approval, 钱包授权撤销, hosted revoke signing page
| Parameter | Type | Required | Description |
|---|
| address | string | required | Owner wallet address (the approvals belong to this address) |
| chain_id | integer | required | EVM chain ID. Default 1 (Ethereum mainnet). |
| approvals | array | optional | OPTIONAL. Display-label / filter hint only — NOT the address source. The tool fetches real approvals on-chain; each hint must exactly match an on-chain (token, spender) pair or it is ignored. Omit to offer every ERC-20 approval on the chain. |
| hosted_url | string | optional | Optional URL shown in the page footer only |
rh-kline
Robinhood 链(4663)现货 K线(GeckoTerminal 主池 OHLCV,与 xStock 同源多周期,read-only)。图表专用。
| Parameter | Type | Required | Description |
|---|
| symbol | string | required | RH 股票代币符号("NVDA"/"TSM"…)或 0x 合约地址 |
| interval | string | optional | K线周期,默认 1h |
| limit | integer | optional | 蜡烛数量,默认 300 |
| before | integer | optional | 历史翻页游标(UNIX 秒);只返回严格早于该时间的蜡烛 |
rh-swap-tokens
列出 Robinhood 链(4663)可交易代币。asset=stock(默认):USDG + 上架股票(美股页);asset=crypto:USDG + 加密资产(ETH/WETH/USDe/wstETH/VIRTUAL,兑换模块,不含股票)。
| Parameter | Type | Required | Description |
|---|
| search | string | optional | 按符号/名称过滤(可选) |
| asset | string | optional | 资产类别:stock(默认,股票+USDG)/crypto(加密+USDG);省略=stock |
rh-swap-quote
Robinhood 链(4663)现货报价 / firm quote(KyberSwap 聚合器,路由 v3/v4/propAMM 全池)。传 taker 时返回可直接签名的下单 tx(Kyber router)+ approve 提示。asset=stock(默认):股票 ↔ USDG;asset=crypto:加密资产互换(USDG/ETH/WETH/USDe/wstETH/VIRTUAL,自动经 USDG 中转,不含股票)。
| Parameter | Type | Required | Description |
|---|
| sell_token | string | required | Robinhood 代币符号("NVDA"/"TSM"/"AAPL"/"USDG"/"ETH"/"WETH"…)或 0x 合约地址 |
| buy_token | string | required | Robinhood 代币符号("NVDA"/"TSM"/"AAPL"/"USDG"/"ETH"/"WETH"…)或 0x 合约地址 |
| sell_amount | string | required | 卖出数量(人类可读) |
| taker | string | optional | 下单钱包地址;传了才返回可签名 tx |
| slippage_bps | integer | optional | 最大滑点 bps(50=0.5%);省略用默认 |
| asset | string | optional | 资产类别:stock(默认,股票↔USDG)/crypto(加密互换);省略=stock |
rh-market
Robinhood 链(4663)股票代币行情(read-only,顶栏/详情用):链上现价·24h成交量·市值·24h最高/最低·24h涨跌 + 正股最近收盘价 + 较收盘偏离。私司(SPCX)/未入 universe 的票无正股价 → 相关字段 null(前端「—」),链上字段仍返回。
| Parameter | Type | Required | Description |
|---|
| symbol | string | required | Robinhood 代币符号("NVDA"/"TSM"/"AAPL"/"USDG"/"ETH"/"WETH"…)或 0x 合约地址 |
jupiter-swap-tokens
[Trading · Solana] Token catalog for Jupiter swaps on Solana, including tokenized US equities (xStock, e.g. AAPLx). query=<symbol/name/mint> → verified-token search; top=true → 24h volume Top list; no params → preset catalog (commons + xStock). Read-only lookup used to resolve symbols/mints before quoting. [Read-Only]. [Reasoning: Low].
| Parameter | Type | Required | Description |
|---|
| query | string | optional | 代币搜索词(symbol/名称/mint) |
| top | boolean | optional | true=返回 24h 交易量 Top 榜(选币器默认列表) |
| limit | integer | optional | 结果上限 |
xstock-pool-snapshot
[Market Data · xStock] On-chain snapshot for a tokenized US equity (xStock, e.g. AAPLx): market cap, holder count, and the main DEX pool's TVL, 24h volume, 24h high/low and last USDC price. Solana on-chain data (Jupiter + GeckoTerminal), NOT the underlying stock's exchange quote — for the real equity use us-stock-* tools or web search. [Read-Only]. [Reasoning: Low].
| Parameter | Type | Required | Description |
|---|
| symbol | string | required | xStock symbol or mint (e.g. AAPLx) |
jupiter-swap-quote
[Trading · Solana] Quote a token swap on Solana via Jupiter (incl. xStock tokenized equities): input_symbol + output_symbol + amount (atomic units) → expected output, price impact and route. Quote only — does NOT place an order or sign anything. For EVM-chain swaps use swap-quote / swap-full instead. [Read-Only]. [Reasoning: Low].
| Parameter | Type | Required | Description |
|---|
| input_symbol | string | required | 卖出币 symbol 或 mint(如 USDC) |
| output_symbol | string | required | 买入币 symbol 或 mint(如 AAPLx) |
| amount | string | required | 卖出数量,最小单位(atomic) |
| slippage_bps | integer | optional | 滑点 bps,50=0.5% |
jupiter-trigger-list
[Trading · Solana] List a Solana wallet's Jupiter trigger (limit) orders: user=<base58 wallet pubkey>, status=active (default, open orders) or history. Read-only order listing — creating/cancelling trigger orders happens in the trading desk, not via chat. [Read-Only]. [Reasoning: Low].
| Parameter | Type | Required | Description |
|---|
| user | string | required | Solana wallet public key (base58) |
| status | string | optional | active = open orders (default) |
| page | integer | optional | — |
crosschain-swap-quote
[Trading · Cross-chain] Cross-chain (or same-chain) swap quote via LI.FI bridge routing: from/to chain + token + amount → bridge route, expected output, fees and ETA. Quote only — no signing, no custody; execution is client-signed in the trading desk. Solana-only swaps → jupiter-swap-quote; single-EVM-chain swaps → swap-quote / swap-full. [Read-Only]. [Reasoning: Low].
| Parameter | Type | Required | Description |
|---|
| from_chain | integer | required | 源链数字 chainId(EVM 1/8453/42161/137/10;Solana=1151111081099710) |
| to_chain | integer | required | 目的链数字 chainId(同上;同链兑换时与 from_chain 相同) |
| from_token | string | required | 卖出币地址(EVM 0x…;Solana mint) |
| to_token | string | required | 买入币地址(EVM 0x…;Solana mint) |
| from_amount | string | required | 卖出数量,最小单位(atomic) |
| from_address | string | required | 发起(源链)钱包地址 |
| to_address | string | optional | 收款(目的链)地址;跨链尤其 EVM↔Solana 必传,缺省用 from_address |
| slippage | number | optional | 滑点,小数分数(0.005=0.5%) |
| notional_usd | number | optional | 本次兑换美元名义金额;用于金额分档路由(小额成本优先 / 大额≥门槛走可信桥白名单)。缺省/缺失=按小额处理(维持现状、不限桥)——大额若要走白名单保护,务必传本字段。 |
hyperliquid-market
[Market Data] Hyperliquid perp market data — `view` selects the feed. view=price (default): mark price for one coin, a comma-separated list, or top-10 if coin omitted. view=book (needs coin): L2 order book (bids/asks with depth). view=funding: funding-rate board sorted by magnitude (single coin via coin, else market-wide).
⚠️ Hyperliquid perps only. For CEX (OKX/Binance) market data → cex-market-quote. [Read-Only]. [Reasoning: Low].
Keywords: Hyperliquid price, HL mark price, perp order book L2 depth, funding rate board, top funding rates, HL market data
| Parameter | Type | Required | Description |
|---|
| view | string | optional | price = mid price(s); book (needs coin) = L2 order book; funding = funding-rate board |
| coin | string | optional | price: single (ETH) or CSV (ETH,BTC,SOL), omit for top-10. book: required asset. funding: optional filter. |
| depth | integer | optional | Order book depth (view=book only) |
| limit | integer | optional | Number of funding rows (view=funding only) |
hyperliquid-candles
[Market Data] Hyperliquid candlestick (OHLCV) snapshot for a perp market — REST source for charts / TradingView datafeed. Supports HIP-3 builder-dex markets via dex:coin (e.g. "xyz:RDDT") and main-dex bare names (e.g. BTC). interval 1m..1M; start_time/end_time in unix ms. Returns an empty list when the requested range is outside Hyperliquid's retained window (~5000 candles per interval, no paging further back) — surface no-data instead of retrying. [Read-Only].
| Parameter | Type | Required | Description |
|---|
| coin | string | required | Asset (dex:coin for builder markets, e.g. "xyz:RDDT"; bare for main dex e.g. BTC) |
| interval | string | required | Candle interval |
| start_time | integer | required | Range start (unix ms) |
| end_time | integer | optional | Range end (unix ms); omit = now |
hyperliquid-market-catalog
[Market Data] Full Hyperliquid perp market catalog across the main dex and all HIP-3 builder dexs (perpDexs × metaAndAssetCtxs), each market tagged with asset category (stock/index/commodity/forex/crypto) + sub-category, leverage/margin metadata, and latest mark/oracle/funding/OI. Powers the perp market selector and GET /perp/markets. Optional filters: category, dex ("" or "main" = main-dex crypto), include_delisted (default false). Snapshot cached ~30s. [Read-Only].
| Parameter | Type | Required | Description |
|---|
| category | string | optional | Filter by top-level category |
| dex | string | optional | Filter by dex (e.g. "xyz"; "" or "main" = main dex crypto) |
| include_delisted | boolean | optional | Include delisted markets (default false) |
hyperliquid-spot-market-catalog
[Market Data] Full Hyperliquid SPOT market catalog (spotMetaAndAssetCtxs). Market keys are HL raw names — "@<index>" (e.g. "@107" = HYPE/USDC) or the one named pair "PURR/USDC" — which is what HL's l2Book/candle/allMids/fills/WS all require; each entry also carries a human `displayName` ("HYPE/USDC", bridge suffix 0 stripped: USDT0→USDT), the spot assetId (10000 + index), base/quote token info (szDecimals, weiDecimals, HyperEVM contract address), latest mark/mid/prevDay price, 24h volume, supply and marketCapUsd (circulatingSupply × markPx). Powers the spot market selector and GET /spot/markets. Optional filters: quote (raw token name, e.g. "USDC"/"USDT0"), coin (single market by raw key). Snapshot cached ~30s. Perps live in hyperliquid-market-catalog instead. [Read-Only].
| Parameter | Type | Required | Description |
|---|
| quote | string | optional | Filter by quote token **raw** name (e.g. "USDC", "USDT0"; display name strips the bridge suffix) |
| coin | string | optional | Single market lookup by HL raw key (e.g. "@107" or "PURR/USDC") |
hyperliquid-account
Get Hyperliquid account summary: balances, positions, open orders.
| Parameter | Type | Required | Description |
|---|
| address | string | required | Wallet address (0x-prefixed 20-byte hex) |
hyperliquid-orders
Get open orders for a Hyperliquid account.
| Parameter | Type | Required | Description |
|---|
| address | string | required | Wallet address (0x-prefixed 20-byte hex) |
hyperliquid-positions
Get open perp positions for a Hyperliquid account.
| Parameter | Type | Required | Description |
|---|
| address | string | required | Wallet address (0x-prefixed 20-byte hex) |
hyperliquid-balance-check
Pre-check if account has sufficient balance for a trade. order_type=""spot"" checks Spot USDC/coin balance; order_type=""perp"" checks Perp margin accountValue.
| Parameter | Type | Required | Description |
|---|
| address | string | required | Wallet address (0x-prefixed 20-byte hex) |
| coin | string | required | Asset to trade: perp coin (ETH/BTC/xyz:RDDT) or spot market key (@107 / PURR/USDC) |
| size | number | required | Planned order size in asset units |
| price | number | required | Planned order price in USD |
| leverage | integer | optional | Leverage (default: 1, perp only) |
| order_type | string | optional | spot = Spot balance only; perp = Perp+Spot combined; auto = detect automatically |
| is_buy | boolean | optional | true = buy (spot: need the pair's quote token); false = sell (spot: need the base token) |
wallet-balance-query
[Account] Query native token balance for a wallet address across all supported blockchains. Auto-detects chain from address format (EVM 0x / BTC / SOL).
⚠️ ON-CHAIN SELF-CUSTODY wallets only (MetaMask, cold wallets, any 0x/BTC/SOL address). For CEX exchange account balances → cex-account (view=balance). [Read-Only]. [Reasoning: Low].
Keywords: wallet balance, on-chain balance, check address balance, 0x balance, BTC wallet balance, SOL balance
| Parameter | Type | Required | Description |
|---|
| address | string | required | Wallet address (chain auto-detected from format) |
| fresh | boolean | optional | Bypass the server-side balance cache and read the chain RPC directly (result still refreshes the cache). Use right after a transaction when the post-trade balance must be observed; omit for normal reads. |
wallet-activity-query
Fetch EVM wallet transaction history (sends, receives, trades, approvals) across all supported chains via DeBank. Returns up to 20 entries per page; use next_start_time to paginate to older entries.
| Parameter | Type | Required | Description |
|---|
| address | string | required | EVM wallet address (0x followed by 40 hex characters) |
| start_time | integer | optional | Unix timestamp (seconds) to fetch history older than this point. Omit for the most recent page. |
rh-swap-activity
Fetch Robinhood chain (chain 4663) on-chain swap activity for an EVM address via DeBank (chain_id=hood). Returns two-legged swaps (sell + buy leg per tx) used by the trading desk to replay cost basis / unrealized PnL for Robinhood US-equity holdings. Read-only; paginated server-side to cover the current position.
| Parameter | Type | Required | Description |
|---|
| address | string | required | EVM wallet address (0x followed by 40 hex characters) |
cex-market-quote
[Market Data] Public market data for OKX / Binance — `view` selects the feed. view=ticker (default): real-time last price, 24h high/low, 24h volume, best bid/ask. view=kline: OHLCV candlesticks at a given interval/limit (1h/4h/daily…); add format='closes' for a compact `date close` series (no chart/raw rows) when computing an indicator in-context over a long window (TD Sequential counts, custom averages, consecutive runs). view=orderbook: live bids/asks with depth, for slippage estimation before large orders.
⚠️ For standalone BTC/ETH price without CEX context → data-price. instId MUST use exchange-native hyphen format — OKX: "INJ-USDT" (spot) / "INJ-USDT-SWAP" (perp); Binance: "INJUSDT". Never pass a raw ticker like "INJ" to OKX. [Read-Only]. [Reasoning: Low].
Keywords: CEX ticker last price, 24h change volume, best bid ask, candlestick OHLCV kline, 1h 4h daily candles, price history, order book bids asks, market depth, slippage estimation
| Parameter | Type | Required | Description |
|---|
| exchange | string | optional | Target exchange. Defaults to 'okx' for backward compatibility. |
| view | string | optional | ticker = latest price/24h stats; kline = OHLC candles; orderbook = bids/asks depth |
| instId | string | required | Instrument ID in exchange-native format.
OKX (default): hyphen-separated, e.g. "INJ-USDT" (spot), "BTC-USDT-SWAP" (perp).
Binance: concatenated, e.g. "INJUSDT".
Convert user-mentioned symbols before calling: "INJ" → "INJ-USDT" (OKX) or "INJUSDT" (Binance).
If the pair is listed as a perpetual only (no spot), the tool retries the -SWAP contract automatically and flags it via `note` in the response. |
| interval | string | optional | K-line bar interval. Use normalized format (Binance-style): 1m/3m/5m/15m/30m/1h/2h/4h/6h/8h/12h/1d/3d/1w/1M. The skill maps to each exchange's native format internally — do NOT pass OKX-style uppercase (1H, 4H, 1D); Zod will reject those. |
| limit | integer | optional | Number of candles (view=kline only; default 100, max 300) |
| format | string | optional | view=kline only. 'closes' returns a compact `date close` line series (no chart, no raw OHLCV rows) — use it when you need a LONG close series to compute an indicator in-context (TD Sequential counts, custom averages, consecutive up/down runs): 300 bars fit in a few KB instead of tens of KB. Default 'full'. |
| depth | integer | optional | Order book depth per side (view=orderbook only; default 20) |
cex-market-get-instruments
[Market Data] Get the full list of available trading instruments (spot pairs and futures contracts) on the connected CEX. Use to resolve valid instrument IDs before placing orders. [Read-Only]. [Reasoning: Low].
Keywords: trading pairs, instrument list, available markets, futures contracts, spot pairs on exchange
| Parameter | Type | Required | Description |
|---|
| exchange | string | optional | Target exchange. Defaults to 'okx' for backward compatibility. |
| instType | string | optional | Instrument type |
cex-spot-place-order
[Trading] Place a spot buy or sell order on CEX (no leverage).
⚠️ SPOT only — no leverage, no long/short. For leveraged futures → cex-futures-place-order. NOT for viewing existing orders (→ cex-spot-get-orders). [Write]. [Reasoning: High].
PRIORITY: Default for 'buy / sell' without leverage keywords. If user mentions long/short/perp/leverage → cex-futures-place-order.
Keywords: place new spot order, create buy sell, enter spot market, submit spot trade, no leverage buy
| Parameter | Type | Required | Description |
|---|
| exchange | string | optional | Target exchange. Defaults to 'okx' for backward compatibility. |
| instId | string | required | Instrument ID, e.g. BTC-USDT |
| side | string | required | Order side |
| ordType | string | required | Order type |
| sz | string | required | Order size in base currency |
| px | string | optional | Order price (required for limit orders) |
| quoteOrderQty | string | optional | Quote currency amount for market buy (Binance only) |
cex-spot-cancel-order
[Trading] Cancel a spot order by order ID.
⚠️ SPOT orders only. For futures orders → cex-futures-cancel-order. [Write]. [Reasoning: Low].
Keywords: cancel pending order, delete unfilled order, remove queued buy sell, abort spot order
| Parameter | Type | Required | Description |
|---|
| exchange | string | optional | Target exchange. Defaults to 'okx' for backward compatibility. |
| instId | string | required | Instrument ID |
| orderId | string | required | Order ID to cancel |
cex-spot-get-orders
[Account] Get spot order history: open (pending) and historical (filled / cancelled).
⚠️ SPOT ORDERS only. For futures positions → cex-futures-get-positions. NOT for placing orders (→ cex-spot-place-order). [Read-Only]. [Reasoning: Low].
Keywords: spot order history, filled orders, open pending orders, past spot trades, order list
| Parameter | Type | Required | Description |
|---|
| exchange | string | optional | Target exchange. Defaults to 'okx' for backward compatibility. |
| instId | string | optional | 交易对,如 ETH-USDT。Binance 侧未传 instId 时接口直接返回空数组(非报错)。OKX 可省略以查全市场挂单(仅 pending 接口时慎用)。 |
| state | string | optional | OKX:不传时只查当前挂单 orders-pending;市价单若已瞬间成交则不在挂单里,列表会为空——查成交请传 state=filled(或 cancelled)。Binance:不传 state 时只查该 instId 的未成交挂单。 |
cex-futures-place-order
[Trading] Place a futures/perpetual order on CEX (leveraged, with long/short). Supports semantic inputs (e.g. 'open long').
⚠️ FUTURES / PERPETUAL with leverage. For un-leveraged spot buy/sell → cex-spot-place-order. ALWAYS confirm side, size, leverage with user before calling. [Write]. [Reasoning: High].
PRIORITY: Use when user explicitly mentions leverage, perp, futures, long/short. Default to cex-spot-place-order if user just says 'buy/sell'.
Keywords: open long, open short, create new position, enter market, go long go short, new futures order, leveraged trade
| Parameter | Type | Required | Description |
|---|
| exchange | string | optional | Target exchange. Defaults to 'okx' for backward compatibility. |
| instId | string | required | Instrument ID, e.g. BTC-USDT-SWAP |
| action | string | optional | Semantic action — use instead of side+posSide for clarity |
| side | string | optional | Explicit order side (use with posSide) |
| posSide | string | optional | Position side for hedge mode (use with side) |
| ordType | string | required | Order type |
| sz | string | required | Order size (contracts for OKX; base currency qty for Binance e.g. 0.01 BTC) |
| px | string | optional | Order price (required for limit orders) |
| leverage | integer | required | Leverage multiplier |
| mgnMode | string | required | Margin mode |
| reduceOnly | boolean | optional | Reduce-only flag |
| clientOrderId | string | optional | Custom client order ID for idempotency |
cex-futures-cancel-order
[Trading] Cancel a futures/perpetual order by order ID.
⚠️ FUTURES orders only. For spot orders → cex-spot-cancel-order. For closing an existing position (not an order) → cex-futures-close-position. [Write]. [Reasoning: Low].
Keywords: cancel futures order, remove pending futures, revoke perp order, abort unfilled futures
| Parameter | Type | Required | Description |
|---|
| exchange | string | optional | Target exchange. Defaults to 'okx' for backward compatibility. |
| instId | string | required | Instrument ID, e.g. BTC-USDT-SWAP |
| orderId | string | required | Order ID to cancel |
cex-futures-get-positions
[Account] Get open futures/perpetual positions with margin health, liquidation risk flags, and unrealized PnL.
⚠️ FUTURES POSITIONS only. For spot order history → cex-spot-get-orders. For account-level summary → cex-account (view=summary). [Read-Only]. [Reasoning: Medium].
Keywords: my futures positions, margin health, liquidation price, unrealized PnL futures, am I near liquidation
| Parameter | Type | Required | Description |
|---|
| exchange | string | optional | Target exchange. Defaults to 'okx' for backward compatibility. |
| instId | string | optional | Filter by instrument ID |
cex-futures-set-leverage
[Trading] Set leverage multiplier and margin mode (isolated/cross) for a futures instrument. Affects all subsequent orders on that instrument.
⚠️ Setting only — does NOT place an order. Call BEFORE cex-futures-place-order if leverage change is needed. [Write]. [Reasoning: Medium].
Keywords: set leverage multiplier, isolated cross margin mode, change leverage ratio, 10x 20x 50x
| Parameter | Type | Required | Description |
|---|
| exchange | string | optional | Target exchange. Defaults to 'okx' for backward compatibility. |
| instId | string | required | Instrument ID, e.g. BTC-USDT-SWAP |
| leverage | integer | required | Leverage multiplier |
| mgnMode | string | required | Margin mode |
cex-futures-close-position
[Trading] Market-close ALL futures positions for an instrument. Full exit.
⚠️ Closes POSITIONS (not orders). To cancel a pending order → cex-futures-cancel-order. Always confirm scope with user before calling — this is an immediate full exit. [Write]. [Reasoning: High].
Keywords: close existing futures position, exit active trade, flatten all, full exit perp, close out instrument
| Parameter | Type | Required | Description |
|---|
| exchange | string | optional | Target exchange. Defaults to 'okx' for backward compatibility. |
| instId | string | required | Instrument ID, e.g. BTC-USDT-SWAP |
| posSide | string | optional | Position side for hedge mode: 'long' closes long leg, 'short' closes short leg. Omit for net/one-way mode. |
cex-account
[Account] Read a CEX account (OKX or Binance) — `view` selects granularity. view=balance (default): PER-CURRENCY breakdown — available (tradable) and frozen (in-order) per asset. view=summary: ACCOUNT-LEVEL snapshot — total equity (USD), unrealized PnL, net available, frozen balance. Requires API keys.
⚠️ Difference from wallet-balance-query: this queries a CEX custodial account; wallet-balance-query queries a self-custody on-chain address. [Read-Only]. [Reasoning: Low].
PRIORITY: view=balance for 'how much USDT/BTC do I have on the exchange'; view=summary for 'what is my total account value'.
Keywords: CEX per-currency balance, available frozen split, how much USDT do I have, total equity, account summary, net balance, unrealized PnL, exchange portfolio overview
| Parameter | Type | Required | Description |
|---|
| exchange | string | optional | Target exchange. Defaults to 'okx' for backward compatibility. |
| view | string | optional | balance = per-currency available/frozen/total; summary = equity/PnL/available/frozen totals |
cex-setup-check
[Account] Check whether CEX API credentials are already configured. Returns ready / not-ready status.
⚠️ READ-ONLY status check. [Read-Only]. [Reasoning: Low].
Keywords: is API already configured, exchange connection status, credentials exist, setup complete
No parameters required.
airdrop-scan
[Research] Sweep the market for ALL currently active airdrop projects. Returns a filterable ranked list (chain, grade S/A/B, TVL, VC backing). Use when no specific project is in mind — this is the broad discovery sweep.
⚠️ Broad discovery sweep. NOT for one specific project (→ airdrop-check-project); NOT for pre-curated daily digest (→ airdrop-daily-report); NOT for checking link safety (→ airdrop-scam-check); NOT for projects whose token has ALREADY launched / post-TGE — those are no longer airdrop opportunities (→ data-token-universe for a sector list, data-token-info for one coin). Leave include_completed unset: it is a slow legacy opt-in that scans every launched protocol, not a way to list launched tokens. [Read-Only]. [Reasoning: Medium].
Workflow: Step 1 of 3 — Airdrop Workflow (airdrop-scan → airdrop-check-project → airdrop-scam-check).
PRIORITY: Default entry for airdrop discovery. Use airdrop-daily-report only if user wants curated digest.
Keywords: find airdrops, browse airdrops, active airdrop list, airdrop discovery, search all airdrops
| Parameter | Type | Required | Description |
|---|
| chain | string | optional | Filter by chain name (e.g., 'Ethereum', 'Arbitrum', 'Monad'). Leave empty for all chains. Sentinels 'all' / 'any' / '*' are also accepted as no-filter. |
| status | string | optional | Filter by project status. 'active' = currently running, 'upcoming' = announced but not live. Leave empty for both. |
| limit | integer | optional | Max results to return (default 20) |
| include_completed | boolean | optional | Include projects whose token has already launched (airdrop window likely closed). Default false — by definition airdrop-scan returns only claimable opportunities. |
| include_old | boolean | optional | Include projects listed on DeFiLlama more than 24 months ago. Default false — older projects without a token are usually dormant. |
airdrop-daily-report
[Research] Get today's pre-curated airdrop digest: top S/A-grade picks, zero-cost options, upcoming deadlines, and active scam alerts. AI-filtered and ROI-ranked — no browsing needed.
⚠️ Curated daily digest. NOT for open-ended market sweep (→ airdrop-scan); NOT for evaluating one specific project (→ airdrop-check-project). [Read-Only]. [Reasoning: High].
Workflow: Step 1 of 3 — Airdrop Workflow (alternative entry to airdrop-scan).
PRIORITY: Use when user wants today's picks. For broad discovery → airdrop-scan.
Keywords: daily airdrop report, today best airdrops, morning briefing, curated digest, airdrop summary
| Parameter | Type | Required | Description |
|---|
| chain | string | optional | Filter by chain name. Leave empty or pass 'all' / 'any' for no filter. |
| grades | array | optional | Grades to include, as a list. For an "S and A" request pass ["S","A"]. A single grade like ["S"] returns only that grade. Omit to default to the top picks (S and A). |
airdrop-check-project
[Research] Deep-dive analysis of ONE specific named airdrop project. Grades it S/A/B/C on VC quality, funding, TVL, token status. Returns scam probability and verdict. Requires a specific project name or ID.
⚠️ Single-project deep dive. NOT for browsing the market (→ airdrop-scan); NOT for the curated daily digest (→ airdrop-daily-report). [Read-Only]. [Reasoning: High].
Workflow: Step 2 of 3 — Airdrop Workflow (after airdrop-scan or airdrop-daily-report surfaces a candidate).
Keywords: check specific airdrop, airdrop grade, project rating, is this airdrop legit, S A B C rating, scam probability
| Parameter | Type | Required | Description |
|---|
| project_name | string | required | Project name or slug (e.g., 'Monad', 'berachain', 'scroll') |
airdrop-zero-cost
[Research] Find airdrops that require zero capital: gas-free testnets and free mainnet tasks. Returns time estimate, anti-Sybil tips, faucet links.
⚠️ Filters for $0-cost only. NOT a general airdrop scan (→ airdrop-scan). [Read-Only]. [Reasoning: Low].
Keywords: free airdrop, zero cost, no gas, testnet airdrop, gas-free participation
| Parameter | Type | Required | Description |
|---|
| chain | string | optional | Filter by chain name. Leave empty or pass 'all' / 'any' for no filter. |
| limit | integer | optional | Max results (default 10) |
airdrop-scam-check
[Security] Check whether a specific URL is a phishing site or fake airdrop claim page. Returns SAFE / WARNING / CRITICAL and the verified official URL. Input: URL string.
⚠️ Input is a URL, not a project name. NOT for project evaluation (→ airdrop-check-project); NOT for finding airdrops (→ airdrop-scan). [Read-Only]. [Reasoning: Low].
Workflow: Step 3 of 3 — Airdrop Workflow (always call before connecting wallet to any claim page).
Keywords: airdrop link safe, phishing URL check, fake claim page, safe to connect wallet, verify airdrop URL
| Parameter | Type | Required | Description |
|---|
| url | string | optional | URL to check (e.g., 'https://scroll-airdrop-claim.xyz') |
| project_name | string | optional | Project name to check for impersonation (e.g., 'Scroll') |
crypto-social
[Crypto · Social] LunarCrush social intel for crypto tokens ONLY — not stocks, equities, ETFs or indices (e.g. AAPL, NVDA, SK Hynix / 000660.KQ). `view` selects the slice.
view=score: sentiment (0-100) + galaxy_score for ONE token. Requires symbol. time_range "24h"|"7d" (default 24h). TOKEN_NOT_FOUND if no coverage — do not retry.
view=trending: ranked list by AltRank (social volume × market performance). limit 1-50, default 10. No symbol.
view=kol: who is discussing ONE token (top_creators) and which headlines (top_news). Requires symbol. No per-KOL post content or stance. TOKEN_NOT_FOUND if no coverage.
view=surge: tokens with sudden AltRank jumps (social momentum). limit 1-50, default 10. No symbol.
⚠️ Crypto tokens only. For market-cap top-N → data-token-universe (view=ranking) (trending is hype, not cap). For Fear & Greed → data-sentiment.
[Read-Only]. [Reasoning: Medium].
Keywords: social sentiment, galaxy score, social trending, AltRank, KOL signals, mention surge, social volume, social dominance, 社交情绪, 社交热度, 谁在讨论
| Parameter | Type | Required | Description |
|---|
| view | string | required | score = one-token sentiment/galaxy; trending = AltRank list; kol = creators + headlines for one token; surge = AltRank jumps |
| symbol | string | optional | Token symbol (e.g. BTC, ETH, SOL). Required for view=score and view=kol. |
| time_range | string | optional | view=score only: "24h" (live snapshot) or "7d" (7-day aggregate). |
| limit | number | optional | view=trending|surge only: number of results (1-50) |
wallet-guard-address-security
[Security] Check if a wallet address is flagged malicious across 12+ categories: hacker, scammer, sanctions, darknet, phishing. Output: risk categories found.
⚠️ Input: wallet ADDRESS (0x EVM only). Does NOT support Bitcoin (BTC), Solana (SOL), or other non-EVM chain addresses — if user provides a BTC or Solana address, do NOT call this tool, respond: "This tool supports EVM (0x) addresses only. Bitcoin and Solana addresses are not supported." NOT for URLs (→ wallet-guard-phishing-site); NOT for token contracts (→ wallet-guard-token-deep-scan); NOT for DeFi protocol contracts (→ wallet-guard-token-deep-scan). [Read-Only]. [Reasoning: Medium].
Keywords: malicious wallet address, hacker scammer address, is 0x address safe, sanctions blacklist check address
| Parameter | Type | Required | Description |
|---|
| address | string | required | A wallet/contract address OR a transaction hash to screen. Addresses: EVM (0x-prefixed) get full on-chain risk data; Bitcoin / Solana / Tron and other chains get a sanctions / watch-list check. Transaction hashes (EVM / Bitcoin / Solana) are screened by extracting the involved counterparty addresses and checking each. |
| chain_id | string | optional | Optional chain ID to narrow an EVM address check. EVM chain ID string. Common values: "1" = Ethereum, "56" = BSC, "137" = Polygon, "8453" = Base, "43114" = Avalanche, "42161" = Arbitrum |
wallet-guard-approval-security
[Security] Scan a wallet for dangerous token/NFT approvals: unlimited ERC20 allowances, suspicious spenders, ERC721/1155 risks. Returns revocation recommendations.
⚠️ Input: WALLET ADDRESS to audit its approvals. NOT for checking a token contract itself (→ wallet-guard-token-deep-scan). [Read-Only]. [Reasoning: High].
Keywords: token approvals scan, revoke ERC20 allowance, unlimited approval risk, spender contract dangerous
| Parameter | Type | Required | Description |
|---|
| address | string | optional | Wallet address to scan for approvals (0x-prefixed) |
| wallet_address | string | optional | Alias for address (0x-prefixed wallet address) |
| chain_id | string | required | EVM chain ID string. Common values: "1" = Ethereum, "56" = BSC, "137" = Polygon, "8453" = Base, "43114" = Avalanche, "42161" = Arbitrum |
| type | string | optional | Approval type to scan: erc20, erc721, erc1155, or all (default) |
wallet-guard-nft-security
[Security] Detect NFT collection contract risks: transfer locks, trading pause, blacklist controls, fake floor inflation.
⚠️ Input: NFT CONTRACT ADDRESS. NOT for fungible tokens (→ wallet-guard-token-deep-scan); NOT for wallet approvals (→ wallet-guard-approval-security); NOT for DeFi protocols (→ wallet-guard-token-deep-scan). [Read-Only]. [Reasoning: High].
Keywords: NFT collection contract risk, transfer lock NFT, trading pause NFT, fake floor NFT, mint safe collection
| Parameter | Type | Required | Description |
|---|
| chain_id | string | required | EVM chain ID string. Common values: "1" = Ethereum, "56" = BSC, "137" = Polygon, "8453" = Base, "43114" = Avalanche, "42161" = Arbitrum |
| contract_address | string | required | NFT contract address (0x-prefixed) |
| token_id | string | optional | Optional specific token ID to check |
wallet-guard-phishing-site
[Security] Check if a URL is a phishing or impersonation website. Output: safe/warning/critical verdict.
⚠️ Input: URL (website). NOT for wallet addresses (→ wallet-guard-address-security); NOT for token contracts (→ wallet-guard-token-deep-scan). [Read-Only]. [Reasoning: Low].
Keywords: phishing URL, fake website crypto, is this domain safe, URL before wallet connect
| Parameter | Type | Required | Description |
|---|
| url | string | required | URL to check for phishing risk (e.g. https://uniswap-airdrop.com) |
wallet-guard-token-deep-scan
[Security] Comprehensive token security analysis with 0–100 risk score and scenario classification (Stablecoin / Ecosystem / Meme). Detects honeypot, self-destruct, ownership reclaim, balance manipulation with cross-validation.
⚠️ Token-contract / honeypot / permission / DeFi rug-pull risk. The former quick scan and rug-pull tools were folded into this one — this is the remaining token-security path. [Read-Only]. [Reasoning: Very High].
PRIORITY: Default for token-contract security, honeypot, and DeFi rug-pull questions.
Keywords: comprehensive token audit, 0-100 risk score, stablecoin ecosystem meme classification, deep honeypot cross-validation
| Parameter | Type | Required | Description |
|---|
| chain_id | string | optional | OPTIONAL. Leave EMPTY when the user does not explicitly name a chain — the tool then auto-detects which chain the contract/token lives on (do NOT assume Ethereum for a bare 0x address). Only set it when the user names a chain. EVM chain ID string. Common values: "1" = Ethereum, "56" = BSC, "137" = Polygon, "8453" = Base, "43114" = Avalanche, "42161" = Arbitrum |
| token | string | optional | Token to screen: a contract address (0x-prefixed, 42 chars) OR a symbol/name (e.g. USDC, PEPE). A symbol is resolved to the official contract; an address is also checked for impersonation of a known ticker. When chain_id is omitted the chain is auto-detected. |
| contract_address | string | optional | Alias for `token` (contract address or symbol/name). |
wallet-tx-history
Transaction profile for a wallet from on-chain history: type distribution, distinct counterparty count, possible-spam count, and lifetime span. Read-only; scans a bounded recent sample. Supported chains: ethereum (1), bnb (56), polygon (137), base (8453).
| Parameter | Type | Required | Description |
|---|
| address | string | required | Wallet address — raw 0x EVM address only (no ENS / domains). |
| chain_id | string | optional | Chain name or EVM chain_id. Supported: ethereum (1), bnb (56), polygon (137), base (8453). Default "1" (ethereum). |
| max_tx | integer | optional | Max recent transactions to scan (default 100, capped at 300). |
wallet-pnl
Realized PnL / ROI / win rate / traded counts + top tokens for a wallet over a date window (Nansen). Meaningful for DEX-trading wallets. Read-only. Supported chains: ethereum (1), bnb (56), polygon (137), base (8453), solana.
| Parameter | Type | Required | Description |
|---|
| address | string | required | Wallet address on the selected chain (EVM 0x, or native bitcoin / solana / tron). No ENS / domains. |
| chain_id | string | optional | Chain name or EVM chain_id. Supported: ethereum (1), bnb (56), polygon (137), base (8453), solana. Default "1" (ethereum). |
| date_from | string | optional | Window bound (YYYY-MM-DD). Optional; defaults to the last ~90 days. |
| date_to | string | optional | Window bound (YYYY-MM-DD). Optional; defaults to the last ~90 days. |
wallet-counterparties
Labeled top counterparties for a wallet over a date window (Nansen): entity / smart-money labels, total volume, in/out direction, tokens. Read-only; deep add-on to wallet-tx-history (which already gives the counterparty count). Supported chains: ethereum (1), bnb (56), polygon (137), base (8453), bitcoin, solana, tron.
| Parameter | Type | Required | Description |
|---|
| address | string | required | Wallet address on the selected chain (EVM 0x, or native bitcoin / solana / tron). No ENS / domains. |
| chain_id | string | optional | Chain name or EVM chain_id. Supported: ethereum (1), bnb (56), polygon (137), base (8453), bitcoin, solana, tron. Default "1" (ethereum). |
| date_from | string | optional | Window bound (YYYY-MM-DD). Optional; defaults to the last ~90 days. |
| date_to | string | optional | Window bound (YYYY-MM-DD). Optional; defaults to the last ~90 days. |
meme-analyze
[Research] Analyze a meme token's 'wealth gene' — 4-dimensional assessment (narrative strength, community momentum, liquidity health, risk profile) with star/moon/skull/poop composite rating based on real-time web sentiment and on-chain data. Returns a structured report with actionable verdict. [Read-Only]. [Reasoning: High].
Keywords: meme coin analysis, meme token check, wealth gene, meme rating, pump potential, meme coin risk
| Parameter | Type | Required | Description |
|---|
| token_name | string | required | A meme or community token name or symbol, e.g. PEPE, DOGE, $SHIB, WIF |
| agent_id | string | optional | OPTIONAL authentication id — leave unset unless your operator explicitly gave you one; NEVER ask the user for it and never invent a value. Not needed when an OAuth Bearer token is provided or when calling through the Antalpha chat agent. Accepts BOTH formats: (1) Antalpha format from antalpha-register tool — 'A' followed by 32 hex chars, e.g. 'A1b2c3d4e5f607081920a1b2c3d4e5f6'; (2) Standard UUID v1-5, e.g. '01234567-89ab-1cde-9234-0123456789ab'. |
transfer-request
[Trading] Prepare and confirm a Web3 on-chain transfer — sending tokens FROM user's address TO another address. Two steps: (1) prepare generates risk preview; (2) confirm generates signing URL. Supports EVM, Solana, Bitcoin.
⚠️ SENDING TO ANOTHER ADDRESS — not swapping tokens (→ swap-full). Highest-risk tool; requires explicit user approval at BOTH steps. Chain must be specified explicitly by user — do not silently default. [Read+Write]. [Reasoning: Very High].
Workflow: Step 1 of 2 — Transfer Workflow (prepare+confirm here, then transfer-status to track).
PRIORITY: Use when user intent involves a recipient address. If intent is token exchange → swap-full instead.
Keywords: send crypto, transfer tokens, pay someone, on-chain transfer, send ETH BTC to address
| Parameter | Type | Required | Description |
|---|
| agent_id | string | optional | OPTIONAL authentication id — leave unset unless your operator explicitly gave you one; NEVER ask the user for it and never invent a value. Not needed when an OAuth Bearer token is provided or when calling through the Antalpha chat agent. Accepts BOTH formats: (1) Antalpha format from antalpha-register tool — 'A' followed by 32 hex chars, e.g. 'A1b2c3d4e5f607081920a1b2c3d4e5f6'; (2) Standard UUID v1-5, e.g. '01234567-89ab-1cde-9234-0123456789ab'. |
| action | string | required | — |
| request_text | string | optional | — |
| session_id | string | optional | — |
| structured | object | optional | — |
| risk_acknowledged | boolean | optional | — |
| price_unavailable_ack | boolean | optional | — |
transfer-status
[Account] Track a transfer session by session_id: phase (prepare/signing/broadcasting/confirmed), tx_hash, confirmation count.
⚠️ Input: session_id from transfer-request. NOT for tracking by tx hash (→ settlement-track-tx). [Read-Only]. [Reasoning: Low].
Workflow: Step 2 of 2 — Transfer Workflow (after transfer-request).
Keywords: transfer status, is transfer confirmed, transfer progress, session status, check send
| Parameter | Type | Required | Description |
|---|
| agent_id | string | optional | OPTIONAL authentication id — leave unset unless your operator explicitly gave you one; NEVER ask the user for it and never invent a value. Not needed when an OAuth Bearer token is provided or when calling through the Antalpha chat agent. Accepts BOTH formats: (1) Antalpha format from antalpha-register tool — 'A' followed by 32 hex chars, e.g. 'A1b2c3d4e5f607081920a1b2c3d4e5f6'; (2) Standard UUID v1-5, e.g. '01234567-89ab-1cde-9234-0123456789ab'. |
| session_id | string | required | — |
transfer-cancel
[Trading] Cancel a pending transfer session before the user signs. Input: session_id from transfer-request.
⚠️ Only works BEFORE signing. After signing, the transaction is on-chain and cannot be cancelled here. NOT for cancelling other tool sessions. [Write]. [Reasoning: Low].
Workflow: Step 1b of 2 — Transfer Workflow (abort path before signing).
Keywords: cancel transfer, abort send, stop pending transfer, cancel before signing
| Parameter | Type | Required | Description |
|---|
| agent_id | string | optional | OPTIONAL authentication id — leave unset unless your operator explicitly gave you one; NEVER ask the user for it and never invent a value. Not needed when an OAuth Bearer token is provided or when calling through the Antalpha chat agent. Accepts BOTH formats: (1) Antalpha format from antalpha-register tool — 'A' followed by 32 hex chars, e.g. 'A1b2c3d4e5f607081920a1b2c3d4e5f6'; (2) Standard UUID v1-5, e.g. '01234567-89ab-1cde-9234-0123456789ab'. |
| session_id | string | required | — |
web-search-query
[Research] Real-time web search via Tavily/Exa. Use when the user asks a general-knowledge question requiring data beyond the model's training cutoff (news, recent events, current prices not covered by dedicated tools). Returns top results with snippets and Markdown rendition.
⚠️ GENERAL WEB SEARCH. NOT for on-chain or DeFi data — those have dedicated tools (data-*, settlement-*, smart-money-*) which are faster and more accurate. For reading a specific known URL → web-search-extract. [Read-Only]. [Reasoning: Medium].
PRIORITY: Use for politics, web3 news, finance, sports, pop culture, tech queries. For on-chain / DeFi data, prefer dedicated tools.
Keywords: web search, current news, recent events, latest information, real-time search, what happened
| Parameter | Type | Required | Description |
|---|
| query | string | required | Search query (3–200 chars). Plain text, no operators. |
| limit | integer | optional | Max results to return |
| includeDomains | array | optional | Restrict results to these domains (e.g. ['ethereum.org']) |
| excludeDomains | array | optional | Exclude these domains |
| recency | string | optional | Time window for time-sensitive queries. Pass for 'today/now/latest results' (→ day), 'this week / recent' (→ week), 'latest proposals / past month' (→ month). Omit for evergreen/conceptual queries. |
| country | string | optional | Boost results from a specific country. Lowercase English country name (e.g. 'united states', 'japan'). Only meaningful for region-specific queries; omit for global topics. Ignored when recency is set. |
research-financial-comparison
[Present] Submit a multi-year financial comparison table for SEC 20-F / 10-K style due diligence. Does NOT fetch data — you must already have extracted numbers from document slices. Call once BEFORE final_answer when the user needs cross-year revenue / net income / operating cash flow / debt balance (or similar) aligned in one table. Every non-null value requires a source (metric.source or per-cell source). Keywords: financial comparison, multi-year, 20-F, 10-K, revenue, net income, cash flow, debt. [Read-Only]. [Reasoning: Low].
| Parameter | Type | Required | Description |
|---|
| title | string | optional | Card title, e.g. 三年财务对照 |
| entity | string | optional | Company / issuer name |
| currency | string | optional | Reporting currency, e.g. USD |
| years | array | required | Column headers in render order, e.g. ["2023","2024","2025"] |
| metrics | array | required | One row per financial metric |
| generated_at | string | optional | ISO timestamp; server fills if omitted |
| source_meta | object | optional | Document-level provenance (SEC EDGAR / Form 20-F / …) |
| footnotes | array | optional | Optional footnotes shown under the table |
data-macro-all
[Market Data] Full US macro snapshot in one call. Returns LATEST values for 13 core indicators: cpi, nfp, m2, yieldSpread, unemployment, sahm, fedRate, sp500, nasdaq, vix, us10y, dxy, gold. Use `series` param with EXACT keys above to select a subset, e.g. ["cpi","sp500","nasdaq"]. Omit series for all 13.
⚠️ CALIBER — each indicator ships the caliber the market actually quotes, and the tags are load-bearing: CPI-family MoM is a PERCENT and seasonally adjusted (tagged SA) while its YoY is NOT seasonally adjusted (tagged NSA) — that split is the BLS convention, not an inconsistency. nfp's MoM is an ABSOLUTE delta in thousands (the headline "+X thousand jobs"), NOT a percent, and its headline value is the payroll LEVEL. fedRate reports the effective rate (DFF, a market outcome) alongside the FOMC target range (the policy instrument) — a rate forecast or consensus is quoted against the target's UPPER bound, never against the effective rate.
⚠️ EXPECTATIONS — when a requested indicator has one, the response carries a separate `expectations` block: the economists' consensus (FMP), a model nowcast (Cleveland Fed, inflation only) and the next scheduled release instant. These are for an UNPUBLISHED reference period (today's CPI reading is July's; the consensus is August's), so NEVER difference an expectation against the snapshot's headline number. Each row names the one published field it IS comparable to in `compares_to` — use only that. A row without `compares_to` (e.g. m2) has no comparable published figure and carries a release date only — and a row whose `compares_to` target is missing from the snapshot, or whose caliber that snapshot does not declare, has its consensus and nowcast withheld for the same reason. If a row shows only a release date, that is the tool saying there is nothing here you may difference; do not substitute a nearby number. Coverage is upstream-limited: cpi, coreCpi, nfp, unemployment, fedRate, m2 and sahm have entries; the continuously-quoted series (sp500, nasdaq, vix, us10y, dxy, gold, silver, wti, btc, eth) have none, because a scheduled release is not a concept that applies to them. The expectation rows appear ONLY when you name the series you want in `series` — the default 13-indicator snapshot omits them entirely (its text has no room). So for any question about a forecast, a consensus, a nowcast or an upcoming release, call this tool with the specific series, e.g. `series: ["cpi"]` or `series: ["fedRate"]`, and ask for AT MOST 2-3 at a time — a wider call pushes the later rows out of the response you can read. Asking for cpi also covers coreCpi only if you name coreCpi too. Release times are SCHEDULED, never guaranteed: a print can be postponed or cancelled (the 2025-10 US CPI never appeared at all), so say "scheduled for", not "will be released". `next_release_scheduled_at` is canonical UTC and `next_release_et` is the same moment on the US Eastern clock — quote the ET one when explaining the schedule, because that is where it is anchored (08:30 ET year-round) while the UTC instant shifts an hour at each DST change. A row with `next_release_precision: "day"` carries an ET calendar date with no clock time; do not invent one.
Optional extras, excluded from the default snapshot — request them explicitly via `series`: coreCpi (CPI ex food and energy — the gauge the FOMC targets, same SA/NSA split as headline), silver, wti, btc, eth, and jpyNetPositioning (CFTC weekly Commitments of Traders: Japanese Yen non-commercial net position in contracts — the yen carry-trade crowding gauge, plus its historical percentile since 1986 and the Leveraged Funds cut. This is POSITIONING, not the USD/JPY exchange rate).
BTC/ETH price NOT included by default — add "btc"/"eth" to series when needed.
PRIORITY: Default when the user asks about macro indicators — this is the only macro tool, supporting both single-indicator and multi-indicator queries.
[Read-Only]. [Reasoning: Low].
Keywords: macro overview, economic indicators, macro snapshot, market expectations, 市场预期, consensus, 共识预期, nowcast, 模型预测, next release, 下次公布, economic calendar, 财经日历(宏观数据发布,**不是美股财报名单**;问哪些公司在某天发财报用 us-stock-earnings-calendar), fed rate, fed funds target range, effective fed funds rate, core CPI, 核心CPI, seasonally adjusted, cpi, sp500, nasdaq, 纳斯达克, treasury yield, gold, vix, yen carry trade, JPY positioning, CFTC, Commitments of Traders, speculative net position, futures positioning
| Parameter | Type | Required | Description |
|---|
| series | array | optional | Indicator keys to return, e.g. ["cpi","sp500","nasdaq"]. 13 core (default): cpi, nfp, m2, yieldSpread, unemployment, sahm, fedRate, sp500, nasdaq, vix, us10y, dxy, gold. Optional extras: coreCpi, silver, wti, btc, eth, jpyNetPositioning. Omit to get all 13 core (extras excluded by default). |
data-token-info
[Market Data] Look up any crypto token or project by symbol or name (e.g. HYPE, PEPE, Hyperliquid). Returns price, 24h–1y performance, market cap, FDV, volume, ATH, supply, TVL (DeFi tokens), project intro, homepage, contract addresses, community sentiment, and top venues. Returns a candidate list when the symbol is ambiguous.
⚠️ Input must be a token symbol or name — NOT a wallet address or tx hash. NOT for meme ratings (→ meme-analyze), wallet/contract risk (→ wallet-guard-address-security), token security audits (→ wallet-guard-token-deep-scan), or single-pair tickers (→ cex-market-quote (view=ticker)). For a DeFi protocol's TVL/fees use data-defi-protocol; for market-wide DeFi structure use data-onchain-defi. [Read-Only]. [Reasoning: Low].
Keywords: token lookup, coin info, project intro, what is this project, what does this coin do, circulating supply, FDV, fully diluted valuation, ATH all-time high, contract address, homepage, market cap rank, altcoin info, HYPE PEPE SOL DOGE token info
| Parameter | Type | Required | Description |
|---|
| query | string | required | A token symbol or project name, e.g. HYPE, PEPE, $DOGE, Hyperliquid, Bitcoin |
data-defi-protocol
[Market Data] Look up ONE specific DeFi protocol by name or slug (e.g. morpho, aave, aave-v3). Returns a protocol overview: category, chains, short description, current TVL with 30-day trend, market cap, FDV, and 24h / 7d / 30d fees and revenue. When the name matches multiple protocols it returns a candidate list to disambiguate.
⚠️ Per-protocol on-chain fundamentals (TVL / fees / revenue / category / chains). For the protocol's TOKEN price / market cap / supply → data-token-info; for all-chain DeFi TVL aggregate → data-onchain-defi; for DeFi yield-product discovery → investor_discover; for rug-pull / contract risk → wallet-guard-token-deep-scan. Input: a protocol NAME or slug, NOT a token symbol or wallet address. [Read-Only]. [Reasoning: Low].
Keywords: DeFi protocol fundamentals, TVL, total value locked, protocol fees, protocol revenue, market cap, FDV, chains, category, protocol overview, morpho aave compound
| Parameter | Type | Required | Description |
|---|
| protocol | string | required | Protocol name or slug, e.g. morpho, aave, aave-v3 |
| fields | array | optional | Optional subset of fields to include: tvl, fees, chains, mcap, description |
data-technicals
[Market Data] Get price-based technical indicators for an asset: RSI (14), MA200 (+ deviation %), MACD, Bollinger Bands, plus 52-week high/low range and ATH (with distance). Each indicator includes a pre-computed level label. BTC is always available (incl. the 52-week / ATH anchors); other liquid assets (e.g. ETH, SOL) are computed on-demand from CoinGecko OHLC, including their 52-week range and ATH (a newer coin's window may be < 1 year — see `is_full_52w`). Optional `indicators` subset (['rsi','ma200','macd','bollinger','levels']) — omit for all. OPT-IN 'td_sequential' (request explicitly in `indicators`): TD Sequential (TD9/TD13, Tom DeMark) setup counting on daily AND weekly bars + same-week daily/weekly confluence — use for EVERY TD9 / TD Sequential / 神奇九转 question; NOT related to T3 trendline. `indicators` ONLY supports the 200-day MA as `ma200`; do NOT pass any other maNN (e.g. ma20 / ma7 / ma50) here. Optional `ma_periods` (number[], in days, e.g. [20] or [7,30,60], 2–200, ≤8): custom-period daily moving averages returned under `indicators.moving_averages` — use THIS (not `indicators`) for EVERY specific-period average the user names, e.g. "20MA / 30-day MA / 近30日均价 / MA7"; never substitute MA200. Optional `rsi_periods` (number[], in days, e.g. [21] or [7,21], 2–200, ≤8): custom-period RSI returned under `indicators.rsi_series` — use THIS for EVERY RSI period the user names other than 14, e.g. "RSI21 / RSI(7) / 21日RSI"; `indicators.rsi` is ALWAYS the 14-day reading, so never relabel it as another period. Optional `macd_fast`/`macd_slow`/`macd_signal` (default 12/26/9) and `bollinger_period`/`bollinger_mult` (default 20 / 2σ): pass these for ANY MACD or Bollinger setting the user names, e.g. "MACD(5,35,5)" or "布林带 2.5 倍标准差"; the values under `indicators.macd.params` / `indicators.bollinger.params` always say which settings produced the number. Optional `timeframe:'weekly'`: same indicators on COMPLETED ISO weekly bars (Mon 00:00 UTC, the Binance/OKX convention) — use it for "周线 RSI / 周线 MACD / weekly chart"; every period is then in WEEKS, and it is BTC-only (other assets get a notice rather than a too-short reading). 'td_sequential' does NOT follow it — that reading already covers daily AND weekly, so request it on its own. The weekly series spans ~104 completed weeks (data-plan ceiling), so weekly RSI/Bollinger/MA work while weekly MACD and MA200 report available:false. [Read-Only]. [Reasoning: Low].
PRIORITY: Default for "technical indicators / RSI / RSI21 / MA / MA20 / MA50 / MA200 / MACD / Bollinger / 52-week position" on any liquid asset. For on-chain valuation (AHR999, Puell) use data-onchain-valuation. Illiquid / unknown tokens → cex-market-quote (OHLCV/klines) or data-token-info (token overview).
Keywords: RSI, RSI7, RSI21, RSI(21), 21日RSI, 多周期RSI, custom RSI period, 周线, 周线RSI, 周线MACD, weekly timeframe, weekly chart, 周K, MACD参数, MACD(5,35,5), 布林周期, 布林带倍数, custom MACD, custom Bollinger, TD9, TD13, TD Sequential, 神奇九转, 神奇九轉, 九转序列, DeMark, MA200, MA7, MA20, MA30, MA50, 20MA, moving average, 20日均线, 30日均价, MACD, Bollinger Bands, technical indicators, 52-week high low, ATH, all-time high, overbought, oversold, technical analysis, TA, ETH technicals, SOL technicals, altcoin RSI.
| Parameter | Type | Required | Description |
|---|
| asset | string | optional | Asset symbol, e.g. btc / eth / sol. Omit for btc. |
| indicators | array | optional | Optional subset: ['rsi','ma200','macd','bollinger','levels']. Omit for all of those. 'td_sequential' (TD9/TD13 setup counting, daily + weekly + same-week confluence) is OPT-IN — returned ONLY when explicitly listed here, never by default. |
| ma_periods | array | optional | Custom simple-moving-average periods in BARS of the current timeframe (DAYS by default, WEEKS when timeframe:'weekly'), e.g. [30] for the 30-day average, [7,30,60] for several. 2–200 bars, up to 8 periods (on the weekly frame the warmed series is ~104 weeks, so anything beyond that is flagged available:false). Returned under indicators.moving_averages as {period,value,deviation_pct,level,available}; a period beyond available history is flagged available:false rather than substituted. Omit for none. |
| rsi_periods | array | optional | Custom RSI periods in BARS of the current timeframe (DAYS by default, WEEKS when timeframe:'weekly'), e.g. [21] for RSI(21), [7,21] for several. 2–200 bars, up to 8 periods. Use this whenever the user names a period other than 14 — do NOT report RSI(14) as if it were the period they asked for. Returned under indicators.rsi_series as {period,value,level,available,min_bars} — read `available` FIRST: a period the series can't support comes back available:false with value:null and a neutral placeholder level, never substituted with another period's reading, and `min_bars` states how many bars that period actually needs: Wilder's period+1 on the daily frame, and on weekly the convergence floor of 5x the period. Since the warmed weekly series is only ~104 completed weeks (our data plan's 2-year ceiling), weekly RSI is served for periods up to ~20 (5x20=100) and refused above that — a weekly RSI(21) needs 105 bars and a weekly RSI(60) needs 300, so both come back available:false. Daily is unaffected. Independent of the `indicators` subset. Omit for none (the default RSI(14) still ships under indicators.rsi). |
| timeframe | string | optional | Bar frame for RSI / MA200 / MACD / Bollinger and the ma_periods / rsi_periods ladders. 'weekly' = completed ISO weeks (Mon 00:00 UTC, the Binance/OKX-1Wutc convention), so every period you pass is counted in WEEKS. Omit for daily. BTC only — other assets return a notice. Two things do NOT follow this switch: `levels` (52-week range / ATH) is calendar-based, and 'td_sequential' always reads the daily series — its result already contains daily AND weekly TD readings, so ask for it on its own rather than expecting timeframe to change it. DEPTH: the weekly series spans ~2 years (~104 completed weeks) because that is our data plan's historical ceiling, so weekly MACD (needs ~130 bars to converge) and a weekly MA200 (needs 200) come back available:false — weekly RSI, Bollinger and MA(n≤104) are served normally. |
| macd_fast | integer | optional | MACD fast EMA length in BARS of the current timeframe (DAYS by default, WEEKS when timeframe:'weekly') (default 12). Must be shorter than macd_slow. |
| macd_slow | integer | optional | MACD slow EMA length in BARS of the current timeframe (DAYS by default, WEEKS when timeframe:'weekly') (default 26). |
| macd_signal | integer | optional | MACD signal (DEA) EMA length in BARS of the current timeframe (DAYS by default, WEEKS when timeframe:'weekly') (default 9). |
| bollinger_period | integer | optional | Bollinger moving-average length in BARS of the current timeframe (DAYS by default, WEEKS when timeframe:'weekly') (default 20). |
| bollinger_mult | number | optional | Bollinger standard-deviation multiplier (default 2; 2.5 = wider bands). |
data-onchain-valuation
[Market Data] Get on-chain valuation indicators for BTC, NETWORK-wide and by HOLDER COHORT.
Network-wide: AHR999 (DCA valuation), Puell Multiple (miner-revenue valuation), MVRV Z-Score and MVRV Ratio (market-value vs realized-value), each with a pre-computed level label.
Cohort (holder age band — a DIFFERENT measurement, never a substitute for the network figures): cohort_realized_price_sth / cohort_realized_price_lth are that cohort's realized price, i.e. its average cost basis in USD — the 「解套墙」 level where the cohort breaks even; cohort_mvrv_sth / cohort_mvrv_lth are that day's close divided by the same cost basis, so above 1 means the cohort is in aggregate profit. STH = coins last moved within 155 days, LTH = coins untouched for 155 days or more (this is COIN AGE, not how long an account has held). Cohort values are daily closes against that day's cost basis, not intraday.
Optional `indicators` subset (['ahr999','puell','mvrv_zscore','mvrv_ratio','cohort_realized_price_sth','cohort_realized_price_lth','cohort_mvrv_sth','cohort_mvrv_lth']; 'mvrv' is shorthand for both NETWORK MVRV indicators only and never includes the cohort ones, 'cohort' is shorthand for all four cohort indicators) — omit for all. [Read-Only]. [Reasoning: Low].
PRIORITY: Default for "is BTC cheap/expensive on-chain / accumulation zone / miner valuation / MVRV" — an unqualified "MVRV" means the NETWORK ratio, which is the one wired into token-intel as cycle.mvrv_ratio. Use the cohort indicators for "short-term holder cost basis / long-term holder cost basis / 解套墙 / 某持币年龄段的平均成本 / STH MVRV / LTH MVRV"; never report a cohort value as the network MVRV or vice versa. These are BTC-specific on-chain metrics. For price-based technical indicators (RSI/MACD/Bollinger) use data-technicals; for assets not covered, use data-token-info (token overview).
Keywords: MVRV, MVRV Z-Score, MVRV Ratio, AHR999, Puell Multiple, on-chain valuation, overvalued, undervalued, accumulation zone, realized price, cost basis, 成本线, 解套墙, cohort MVRV, STH, LTH, short-term holder, long-term holder, 短期持有者, 长期持有者, STH realized price, LTH realized price, holder cohort, coin age, 持币年龄
| Parameter | Type | Required | Description |
|---|
| asset | string | required | Asset symbol. Currently only 'btc' is supported. |
| indicators | array | optional | Optional subset. NETWORK-wide: 'ahr999','puell','mvrv_zscore','mvrv_ratio' ('mvrv' is shorthand for both MVRV indicators and NEVER includes the cohort ones). COHORT (holder age band, a different measurement): 'cohort_realized_price_sth'/'cohort_realized_price_lth' are the cohort cost basis in USD — the level a cohort breaks even at — and 'cohort_mvrv_sth'/'cohort_mvrv_lth' are that day's close divided by it ('cohort' is shorthand for all four). STH = coins last moved within 155 days, LTH = coins untouched for 155 days or more; this is coin age, not how long an account has held. Omit for all (btc). |
data-derivatives
[Market Data] Get CEX derivatives market structure for an asset: funding rate, futures premium (annualized), aggregated all-venue futures open interest (cex_oi; Coinglass total — a COIN COUNT, not USD: e.g. 701,834 BTC. Despite the metric name it spans CEX + CME + on-chain perps, not CEX only), rolling 24h liquidations with long/short split (imbalance), and options metrics. COVERAGE FOLLOWS THE UPSTREAM, not a fixed asset list: funding_rate, futures_premium, cex_oi, liquidations, funding_by_exchange and oi_by_exchange work for BTC and every other liquid asset (btc, eth, bnb, sol, xrp, doge, ada verified; others are fetched on-demand and return a notice if they fail the liquidity gate). The three options metrics are served wherever their upstream carries them — options_max_pain and options_oi from Coinglass, options_skew_25d from Deribit — whether or not a warm cache exists for that asset, so do NOT assume they are BTC-only. When a metric has no value the response says WHY via `coverage`: "not_covered" = the upstream itself reports no such market for that asset (e.g. Deribit lists no BNB options in either its coin-margined or its USDC-margined chain), "unwired" = an upstream has it but we have not connected it. Neither is an error, and a plain error_reason WITHOUT `coverage` is a transient failure that says nothing about coverage — do not read it as "this market does not exist". options_skew_25d is the 25-delta risk reversal at a 30-day constant maturity, in volatility points, convention call minus put (POSITIVE = the call wing is bid over the put wing). It ships with its own `convention`, `tenor_days` and `chain` fields — always read the sign and the tenor from those, never assume. `chain` says which Deribit book the reading came from: "coin_margined" (BTC, ETH) or "usdc_linear" (SOL and other altcoins). The two books quote independently and differ by a few percent on the same asset, so compare values across assets with that in mind. options_skew_25d is NOT the futures premium and NOT max pain. Opt-in per-exchange drill-downs (request via metrics): funding_by_exchange — each exchange's funding rate + cross-exchange spread for arbitrage (eq8h = equivalent-8h cost at the current rate, an extrapolation); oi_by_exchange — per-exchange OI breakdown + venue concentration. Illiquid / unknown tokens return a notice — use data-token-info for those. A cold on-demand read returns immediately: cached metrics are included, anything still missing is 暂缺 while a background fetch fills the cache. Do not call data-derivatives again for that same asset in the same turn; a later turn reads the cache. Assess leverage, positioning crowding, liquidation risk, options-market sentiment. For on-chain DEX open interest use data-onchain-defi; for smart-money flow use data-flows. Optional `metrics` subset — omit for all standard aggregates (the two by_exchange drill-downs return only when explicitly listed). [Read-Only]. [Reasoning: Low].
PRIORITY: Default for leverage / positioning / liquidation-risk questions on any liquid asset, for cross-exchange funding arbitrage or per-exchange OI concentration, and for options skew / risk reversal / volatility-smile / max pain questions on any asset whose upstream carries them. For on-chain DEX open interest use data-onchain-defi; for spot/smart-money flow use data-flows. Illiquid / unknown tokens → data-token-info (token overview).
Keywords: funding rate, futures premium, basis, contango, backwardation, open interest, OI, CEX OI, liquidations, liquidation imbalance, long vs short liquidations, 24h liquidations, options max pain, options open interest, 25 delta skew, risk reversal, options skew, volatility skew, put call skew, implied volatility smile, leverage, derivatives, positioning, ETH derivatives, SOL derivatives
| Parameter | Type | Required | Description |
|---|
| asset | string | optional | Asset symbol, e.g. btc / eth / sol. Omit for btc. |
| metrics | array | optional | Optional subset of the standard aggregates (funding_rate, futures_premium, cex_oi, liquidations, options_max_pain, options_oi, options_skew_25d); omit for all of them. The per-exchange drill-downs funding_by_exchange / oi_by_exchange are OPT-IN — returned ONLY when explicitly listed here, never by default. |
data-funding-scan
[Market Data] Scan the WHOLE crypto market for cross-exchange perpetual funding-rate dislocations — the screener behind funding-arbitrage discovery. No asset argument; ranks every symbol in the funding feed. sort='spread' (default) = widest cross-exchange gap (top venue − bottom venue, eq8h %); sort='high' = most positive funding (crowded longs); sort='low' = most negative (crowded shorts). Each row carries the top/bottom venue + rate, exchange_count, both_legs_earn, arbitrageable, extreme_legs and excluded_outliers. eq8h extrapolates the current rate and the spread is gross (pre-fees) — a signal, not risk-free profit. [Read-Only]. [Reasoning: Low].
PRIORITY: Default for market-wide funding screening when NO specific asset is named. For ONE named asset's per-exchange funding breakdown or full derivatives card → data-derivatives.
Keywords: funding rate scan, cross-exchange funding, funding arbitrage, funding spread, highest funding, most negative funding, crowded longs, crowded shorts, perp funding screener, market-wide funding
| Parameter | Type | Required | Description |
|---|
| top_n | integer | optional | How many ranked symbols to return. Default 10. |
| sort | string | optional | Ranking dimension. 'spread' (default) = widest cross-exchange funding gap (arbitrage); 'high' = most positive funding; 'low' = most negative funding. |
| min_exchanges | integer | optional | Only include symbols quoted on at least this many exchanges. Default 2 (minimum for a spread). |
| exclude_stablecoins | boolean | optional | Drop stablecoins / pegged assets (no meaningful funding signal). Default true. |
data-onchain-defi
[Market Data] Get on-chain DeFi/DEX market structure in one call: total DeFi TVL (all chains + Ethereum), DEX 24h volume, on-chain DEX open interest, and DeFi yield benchmarks (stETH APY, stablecoin avg APY). Market-level structural data. Optional `metrics` subset (['defi_tvl','dex_volume','dex_oi','yield_benchmark']) — omit for all. [Read-Only]. [Reasoning: Low].
PRIORITY: Default for any DeFi/DEX market-level overview. For a specific protocol's TVL/fees/revenue use data-defi-protocol; to discover/compare specific yield products use investor_discover; for CEX derivatives use data-derivatives.
Keywords: DeFi TVL, total value locked, DEX volume, DEX open interest, on-chain OI, stETH yield, stablecoin yield, yield benchmark, Ethereum TVL, DeFi overview
| Parameter | Type | Required | Description |
|---|
| metrics | array | optional | Optional subset: ['defi_tvl','dex_volume','dex_oi','yield_benchmark']. Omit (or 'all') for all. |
data-flows
[Market Data] Get off-chain / market money flow: spot ETF net flow covers BTC, ETH and SOL; Coinbase premium (US institutional bias) and taker buy/sell ratio stay BTC-only. OPT-IN per-exchange drill-down (request explicitly in `metrics`): taker_by_exchange — per-exchange taker buy/sell over a 4h window (taker_ratio is the current aggregate ratio; taker_by_exchange is the per-exchange breakdown, and unlike the other metrics it also covers non-BTC liquid assets on-demand). Gauge institutional and spot-market directional bias. Optional `metrics` subset (['etf_flow','coinbase_premium','taker_ratio','taker_by_exchange']) — omit for all standard aggregates (taker_by_exchange returns only when explicitly listed). [Read-Only]. [Reasoning: Low].
PRIORITY: Default for "are institutions buying / spot-market directional bias", and for per-exchange taker / which exchange is buying. For total stablecoin market cap use data-market-structure; for on-chain exchange reserves use data-onchain-flows; for leverage/funding/open interest use data-derivatives. For assets not covered, use cex-market-quote (price) or data-token-info (token overview).
Keywords: ETF flow, ETF net flow, spot ETF, Coinbase premium, taker buy sell ratio, institutional flow, spot flow, smart money flow, directional bias, per-exchange taker, taker by exchange
| Parameter | Type | Required | Description |
|---|
| asset | string | optional | Asset symbol. btc (default), eth, or sol for etf_flow; coinbase_premium and taker_ratio are btc-only; other liquid assets are supported only for taker_by_exchange. |
| metrics | array | optional | Optional subset of the standard metrics (etf_flow, coinbase_premium, taker_ratio); omit for all. taker_by_exchange is OPT-IN — returned ONLY when explicitly listed, never by default. |
data-onchain-flows
[Market Data] Get on-chain flow / supply-side indicators: exchange reserve (BTC and ETH — total coins held on exchanges; falling reserves imply accumulation / reduced sell pressure); stablecoin exchange net inflow (USDT+USDC daily net flow into exchanges — positive = inflow, negative = outflow; market-level, no asset required). Optional `metrics` (['exchange_reserve','stablecoin_exchange_inflow']) — omit for all. [Read-Only]. [Reasoning: Low].
PRIORITY: Default for exchange-reserve / sell-pressure / accumulation questions, and for stablecoin exchange inflow/outflow questions. For stablecoin minting/burning (supply change) use data-market-structure. For off-chain market flow (spot ETF, Coinbase premium, taker ratio) use data-flows. For assets not covered by this tool, use cex-market-quote (price) or data-token-info (token overview).
Keywords: exchange reserve, exchange balance, coins on exchanges, BTC on exchanges, sell pressure, accumulation, outflow, on-chain supply, reserves, stablecoin exchange inflow, stablecoin exchange outflow, USDT inflow, USDC inflow.
| Parameter | Type | Required | Description |
|---|
| asset | string | optional | Asset symbol for exchange_reserve: 'btc' or 'eth' (default btc). Other assets (e.g. sol, bnb) are not covered and return an explicit note. Ignored for stablecoin_exchange_inflow (cross-chain aggregate). |
| metrics | array | optional | Optional subset. Omit for all available metrics. |
data-miner-treasury
[Market Data] Get the aggregate BTC treasury held by LISTED MINING COMPANIES and its day-over-day change — a slow-supply / sell-pressure gauge (steady, strategic selling rather than panic).
⚠️ Sourced from COMPANY DISCLOSURES (CoinGecko's public-treasury list, compiled from 10-Q/10-K/8-K and press releases), NOT from on-chain observation.
⚠️ The upstream publishes NO date of its own, so as_of is OUR observation day (as_of_basis: observation_day) and the lag cannot be bounded — measured against SEC quarter-ends it runs in BOTH directions. Never present as_of as an upstream data date.
`metrics`: 'miner_treasury' (default — total BTC + USD, day-over-day change with the baseline's own date, roster entered/exited, and a coverage block naming how many of the tracked public holders are counted plus any company set aside from the total); 'miner_treasury_companies' (OPT-IN — the full per-company breakdown with each company's classification evidence); 'miner_treasury_filings' (OPT-IN — the quarterly SEC-filings cross-check; a DIFFERENT caliber, 41+ days older by construction and scoped to SEC filers, which must never be added to or reconciled against the daily total). BTC only. [Read-Only]. [Reasoning: Low].
PRIORITY: Default for "how much BTC do listed miners hold / are miners selling / miner treasury / 矿企金库 / 矿工持仓". A roster change moves the total without anyone trading a coin — read entered/exited before calling a jump a flow. For coins held on exchanges use data-onchain-flows (exchange reserve); for miner-revenue valuation use data-onchain-valuation (Puell Multiple); for hashrate or mining economics this tool has nothing.
Keywords: miner treasury, listed miners, mining companies, public miners, 矿企金库, 矿工持仓, 上市矿企, miner holdings, miner selling, miner sell pressure, MARA, Riot, CleanSpark, Hut 8, corporate bitcoin holdings, treasury holdings
| Parameter | Type | Required | Description |
|---|
| asset | string | optional | Asset symbol; only 'btc' is covered (the upstream is a bitcoin-treasury list). Default btc. |
| metrics | array | optional | Optional subset. Omit for the daily aggregate only — the per-company breakdown and the quarterly filings cross-check are OPT-IN and returned only when listed explicitly. |
data-market-structure
[Market Data] Get crypto market structure / relative-strength indicators: BTC dominance (BTC share of total crypto market cap), ETH/BTC ratio (ETH relative strength), and total stablecoin market cap (structural liquidity / dry powder). Market-composition metrics, not quotes. Optional `metrics` subset (['btc_dominance','eth_btc','stablecoin_mcap']) — omit for all. [Read-Only]. [Reasoning: Low].
PRIORITY: Default for "altseason / BTC dominance trend / stablecoin dry powder". For asset prices use data-price; for money flow (spot ETF, Coinbase premium, taker ratio) use data-flows.
Keywords: BTC dominance, bitcoin dominance, altcoin season, altseason, ETH/BTC ratio, ETH relative strength, stablecoin market cap, stablecoin supply, dry powder, market structure
| Parameter | Type | Required | Description |
|---|
| metrics | array | optional | Optional subset: ['btc_dominance','eth_btc','stablecoin_mcap','stablecoin_supply_change']. Omit (or 'all') for all. |
data-token-universe
[Market Data] Cross-sectional multi-factor snapshot of a crypto universe. Each row: raw market fields (market_cap, FDV, volume, returns 7d/30d/200d/1y, ATH change, circ_ratio, turnover, amplitude_24h, excess returns vs BTC) PLUS 10 clean-subset z-scores (z_ret_7d, z_ret_30d, z_ret_200d, z_ret_1y, z_excess_7d, z_excess_30d, z_turnover, z_amplitude, z_ath_change, z_circ_ratio) computed over the non-stable/non-wrapped/non-LST subset with 5/95 winsorization. Stablecoin / wrapped / LST flags per row. `universe` accepts "top50" (default), "top100", or a sector category alias: layer-1, layer-2, decentralized-finance-defi, meme-token, liquid-staking, artificial-intelligence, real-world-assets-rwa, gaming, smart-contract-platform, oracle. Category requests fetch up to 100 coins by market_cap_desc within that sector; `count` reflects the actual number returned. Any other universe value is rejected. `symbols` (or `ids` for exact CoinGecko ids, max 100) replaces the slice with a custom coin list — e.g. compare a specific holding set; every row echoes `coin_id` because a symbol can belong to several coins upstream, and unresolvable entries are returned in `unresolved`. z-scores still require >= 10 non-stable/wrapped/LST rows, so a short custom list returns all z fields null. Pass only ONE of universe / symbols / ids. Optional `metrics` selects factor groups — default ["spot"], the 5-min cross-section, which is the BASE group and is always included (row identity comes from it, so ["timeseries"] is treated as ["spot","timeseries"] and echoed that way in factor_groups). "timeseries" adds the daily-updated ret_90d / volatility_60d (annualized) / max_drawdown_90d / beta_vs_btc and their z-scores, pre-computed once a day for the market-cap top100 pool: rows outside that pool are null with timeseries_reason=out_of_daily_universe, and before the day lands every row reads job_not_run (still a normal response, not an error). "fundamentals" adds tvl (+tvl_source: chain|parent|protocol) / mcap_tvl / fees_annualized / fees_mcap, from DefiLlama, with z ONLY on the two ratios (z_mcap_tvl, z_fees_mcap) — the absolutes span orders of magnitude so their z would just re-rank by size. Availability is reported per PRODUCER, not per group: if the fundamentals fetch failed for a day while the timeseries factors landed, fundamentals reads job_not_run and its four fields stay in missing_factors; and since TVL and fees come from different endpoints that fail independently, missing_factors reports the pairs separately (a dead fees endpoint leaves fees_annualized/fees_mcap listed while tvl/mcap_tvl serve normally). A failed fetch therefore never masquerades as "these coins have no TVL/fees" — check missing_factors before reading a null as zero; and a slice where no coin has the metric (a memecoin sector) reports reason=not_applicable rather than insufficient_history, since retrying cannot help. This group is sparse by nature: roughly half the top100 (stablecoins, CEX platform tokens, wrapped/LST, memecoins) has no TVL concept, so those rows are null with no reason, and the two z fields may be null when the valid sample is under 10. tvl is DefiLlama's own deduped figure at the caliber named in tvl_source (a chain token gets its chain's TVL, a protocol token its whole protocol family's), a point-in-time reading taken minutes after the trade_date close (DefiLlama publishes no dated point to read instead), and fees_annualized is a trailing-1y window; mcap_tvl / fees_mcap divide by the LIVE market_cap in this response so the arithmetic checks out against the fields shown. Custom lists (symbols/ids) support only ["spot"]. Per-group freshness + caliber are reported under `source_meta.groups`, and `factor_groups` echoes which groups the response covers. Optional `sort` ("market_cap" default, "volume", or "change_24h") changes display order only; membership is always market_cap top-N (or category market_cap_desc) first then sorted. `view=ranking` is the market-cap leaderboard (limit 1–100, default 10) — NOT crypto-social view=trending (hype, not cap). The two views take disjoint params: mixing `limit` with universe/sort/symbols/ids/metrics is rejected with a message naming them, never silently ignored. For one coin's full detail use data-token-info. [Read-Only]. [Reasoning: Medium].
PRIORITY: Default for "top N by market cap / top 10 coins / 市值前十 / 市值排行" → view=ranking. Multi-factor / sector / custom list → view=universe (default).
Keywords: token universe, cross-sectional, multi-factor, z-score, factor groups, metrics groups, per-group freshness, custom coin list, compare these coins, my holdings comparison, specific symbols, coin_id, top 50 coins, top 100 coins, factor snapshot, winsorized returns, excess returns, turnover z-score, amplitude, circ ratio, stablecoin flag, wrapped token, LST flag, sector category, layer-1, layer-2, defi, meme token, liquid staking, AI, RWA, gaming, oracle, smart contract platform, top coins, top 10 coins, top N by market cap, market cap ranking, 市值排行, 市值前十, 90 day return, annualized volatility, max drawdown, beta vs BTC, risk adjusted momentum, daily factors, as_of_date, TVL, mcap to TVL, market cap to TVL ratio, protocol fees, annualized fees, fees to mcap, DefiLlama, fundamentals group, 协议基本面, 锁仓量, 市值锁仓比
| Parameter | Type | Required | Description |
|---|
| view | string | optional | universe (default) = multi-factor snapshot; ranking = market-cap leaderboard for "top N / 市值前十". |
| limit | integer | optional | view=ranking only: how many top coins (1–100, default 10). Passing it together with universe/sort/symbols/ids/metrics is rejected — those belong to view="universe". |
| universe | string | optional | Universe slice: "top50" (default), "top100", or a sector category alias (layer-1, layer-2, decentralized-finance-defi, meme-token, liquid-staking, artificial-intelligence, real-world-assets-rwa, gaming, smart-contract-platform, oracle). Any other value is rejected with the list of valid values. |
| metrics | array | optional | Factor groups to include. Default ["spot"] — the 5-min cross-section, which is the BASE group and is always included (row identity and universe membership come from it), so ["timeseries"] is treated as ["spot","timeseries"] and echoed that way in factor_groups. "timeseries" adds the daily-updated ret_90d / volatility_60d (annualized) / max_drawdown_90d / beta_vs_btc and their z-scores. "fundamentals" adds tvl (+tvl_source: chain|parent|protocol) / mcap_tvl / fees_annualized / fees_mcap, with z only on the two ratios — the absolutes span orders of magnitude, so their z would just re-rank by size. Both daily groups are pre-computed for the market-cap top100 pool: rows outside it are null with <group>_reason=out_of_daily_universe, and before the day lands every row reads job_not_run (a normal response, not an error). Availability is reported per PRODUCER, not per group: if the fundamentals fetch failed for a day while the timeseries factors landed, fundamentals reads job_not_run and its four fields stay listed in missing_factors; and because TVL and fees come from different endpoints that fail independently, missing_factors reports the pairs separately — a dead fees endpoint leaves fees_annualized/fees_mcap listed while tvl/mcap_tvl are served normally. So a failed fetch never masquerades as "these coins have no TVL/fees"; always check missing_factors before concluding a null means zero. At group level, a slice where no coin has the metric at all (e.g. a memecoin sector asked for fundamentals) reports reason=not_applicable rather than insufficient_history: retrying will not help, because a stock metric has no window to fill. Expect fundamentals to be sparse by nature — roughly half the pool (stablecoins, CEX platform tokens, wrapped/LST, memecoins) has no TVL concept at all, so those rows are null with no reason, and z_mcap_tvl / z_fees_mcap may be null when the valid sample is under 10. tvl and fees are point-in-time readings taken minutes after the trade_date close (DefiLlama publishes no dated point), and fees_annualized is a trailing-1y window; mcap_tvl / fees_mcap divide by the LIVE market_cap in this response, so the arithmetic checks out against the fields shown. Custom lists (symbols/ids) support only ["spot"]. Per-group freshness + as_of_date + caliber live under source_meta.groups. |
| symbols | array | optional | Custom universe from an explicit symbol list (max 100), e.g. ["sol","jup","wif"]. Mutually exclusive with `universe` and `ids`. Symbols are resolved by CoinGecko's own disambiguation and a symbol can belong to several coins, so every row echoes `coin_id` — check it, or use `ids` for exact addressing. Unresolvable entries come back in `unresolved`. If the list contains no BTC row, the excess-vs-BTC factors read the shared top100 snapshot (one extra upstream call on a cold cache). NOTE: z-scores need >= 10 non-stable/wrapped/LST rows (unchanged N<10 rule), so a short list returns all z fields null. |
| ids | array | optional | Custom universe from an explicit CoinGecko id list (max 100), e.g. ["solana","jupiter-exchange-solana"]. Exact — no symbol ambiguity. Mutually exclusive with `universe` and `symbols`. Same N<10 z rule as `symbols`. |
| sort | string | optional | Sort order of returned rows: "market_cap" (default, desc), "volume" (desc), or "change_24h" (desc). Sort only changes display order — universe membership is always market_cap top-N (or category market_cap_desc) first. Nulls sort last. |
data-price
[Market Data] BTC/ETH are always available (prefetched); other tokens (bnb, sol, xrp, doge, ada, etc.) are fetched on-demand. Get crypto price quotes. asset='btc' → BTC price + valuation/level anchors (MA200, RSI, AHR999, 52-week high/low, ATH under `levels`); asset='eth' → ETH price; on-demand tokens get price only (no level anchors); omit asset → BTC price; pass an array (e.g. ['btc','eth','sol']) → per-asset price list. Judge high/low ONLY from the level anchors — a null field means the anchor is unavailable, so say the level is unknown rather than guessing. [Read-Only]. [Reasoning: Low].
PRIORITY: Default for any crypto price question. For market structure (BTC dominance, ETH/BTC ratio, stablecoin market cap) use data-market-structure; for full technical analysis use data-technicals.
Keywords: BTC price, ETH price, crypto price, coin price, MA200, RSI, AHR999, 52-week high low, ATH, all-time high, price level, how much is bitcoin, BNB price, SOL price, XRP price, DOGE price
| Parameter | Type | Required | Description |
|---|
| asset | | optional | Asset symbol(s): btc / eth / bnb / sol / xrp / ... . Single symbol → detailed card; array → price list. Omit for btc. BTC/ETH are prefetched; others fetched on-demand. |
| metrics | array | optional | Optional subset. Default: single asset → ['price','levels']; multiple → ['price']. 'levels' applies to BTC only. |
| timezone | integer | optional | Integer UTC offset hours (-12 to +14) to format timestamps. Omit for UTC. |
data-sentiment
[Market Data] Get crypto market sentiment — the Crypto Fear & Greed Index (0-100; 0=Extreme Fear, 100=Extreme Greed). Pass `days` (1-30) to also get recent F&G history + trend (improving/worsening/stable) + signal level. Optional `metrics` (['fng']) — omit for all. [Read-Only]. [Reasoning: Low].
PRIORITY: Default for market-sentiment / fear-and-greed questions. For social sentiment (trending coins, KOL signals, mention surge) use crypto-social; for funding rate / futures premium use data-derivatives.
Keywords: Fear and Greed Index, FNG, fear greed, market sentiment, crypto sentiment, sentiment trend, extreme fear, extreme greed, market mood
| Parameter | Type | Required | Description |
|---|
| metrics | array | optional | Optional subset. Currently only 'fng'. Omit (or 'all') for all. |
| days | number | optional | Daily F&G history points to also return (1-30). Trend & signal level are ALWAYS included regardless; this only adds the raw daily history array. |
data-event-token-unlock
[Market Data] Get upcoming token unlock events in the next 30 days, ranked by USD value, sourced from DefiLlama. Per event returns: token symbol, project name, unlock amount, USD value, date, and unlock size as % of circulating supply and % of total supply. Large cliff unlocks can signal near-term sell pressure. [Read-Only]. [Reasoning: Low].
Keywords: token unlock, vesting cliff, token release schedule, upcoming sell pressure, unlock calendar, unlock amount USD, percent of circulating supply, percent of total supply, cliff unlock, linear unlock, next 30 days unlocks
No parameters required.
whale-flow
[Research] Whale-sized trades — who bet/traded big, with direction. Covers TWO venues: Polymarket prediction markets (venue=poly) and tokenized US stocks on Solana (venue=us_onchain); omit venue to merge both. Every row has an explicit BUY/SELL side, USD notional, the market/ticker, the trader's wallet, and — for Polymarket rows — `outcome`: WHICH SIDE the money went on (Yes/No or the candidate name; null when the collector missed it, and null for US stocks). Group by `outcome` to answer 'which side are whales on', not just 'how much'. Use it for 'what are whales betting on', 'any big money on <market or ticker>', or 'what did <wallet> just do'. Filter by min_usd / days / subject / wallet / side. DB-prestored, no external call — collection lags by minutes, so this is NOT a live quote. [Read-Only].
| Parameter | Type | Required | Description |
|---|
| venue | string | optional | 场所:poly=预测市场 / us_onchain=代币化美股 / 不传=两者合并 |
| min_usd | integer | optional | 成交额下限 USD(底座入库门槛 Poly $10,000、美股 $5,000,这里只能更严) |
| days | integer | optional | 回看天数,默认 30,上限 90(保留期) |
| subject | string | optional | 只看某标的:Poly 传 conditionId,美股传 ticker |
| wallet | string | optional | 只看某个钱包地址的动作 |
| side | string | optional | 只看买入或卖出 |
| limit | integer | optional | 条数,默认 20,上限 50 |
| cursor | string | optional | 上次返回的 next_cursor,用于翻下一页 |
get_trade_quotes
Fetch and compare executable trade-route quotes for a single spot/futures trade intent across all supported venues in one call. Given a normalized trade intent (base/quote asset, side, amount, and one of scenarios: spot_market, spot_limit, futures_market, futures_limit; target_price required for *_limit), it queries on-chain DEX aggregators (0x, 1inch Fusion), Hyperliquid, and CEX tickers (OKX, Binance) in parallel and returns ranked candidates, each carrying route path id, estimated price, fees, USD notional, and execution metadata (in-app executable vs off-platform redirect, speed/risk/confidence). It also persists a short-lived quote snapshot and returns a quote_snapshot_id that must be passed to execute_trade. Read-only: places no orders. Call this first, before execute_trade, whenever the user wants to trade and you need price discovery or route comparison. Pass the same intent_hash to the later execute_trade call so quote and execution stay bound.
| Parameter | Type | Required | Description |
|---|
| intent_fingerprint | string | required | Stable fingerprint of user intent (correlation only; not a secret). |
| intent_hash | string | required | Canonical hash of normalized TradeIntent; must match execute_trade. |
| scenario | string | required | High-level trade scenario derived by the agent (PRD v6.4 §2.1). |
| base_asset | string | required | Base asset symbol (e.g. BTC, ETH). |
| quote_asset | string | required | Quote asset symbol (e.g. USDT, USDC). |
| side | string | required | Order side. |
| amount | string | required | Human-readable amount string (e.g. "0.1"). |
| target_price | string | optional | Limit-order target price (decimal string), required for *_limit scenarios. |
| spot_inst_id | string | optional | [Deprecated v6.4] Override CEX instrument id. If omitted, derived from base_asset + quote_asset. |
execute_trade
Execute a previously quoted on-chain trade route by producing a non-custodial browser signing page — never signs or custodies user keys server-side. Takes a route path id from a get_trade_quotes candidate plus its quote_snapshot_id, the matching intent_hash, and a client idempotency_key. Only on-chain DEX paths are supported: swap-full (0x swap) and smart-swap-create (1inch Fusion limit/swap); Hyperliquid and CEX routes are rejected here (Hyperliquid must be routed via hyperliquid-sign-trade / hyperliquid order tools, CEX is off-platform). Validates the quote snapshot (freshness, intent_hash, and issuing-user binding) and enforces idempotency to prevent duplicate submissions, then builds the signing payload and returns a preview_url that the user opens to review and sign the transaction in their own wallet, plus an execution_state and order_ref. Call only after get_trade_quotes, using a candidate whose path is in-app executable.
| Parameter | Type | Required | Description |
|---|
| path | string | required | Route path id (must match a quoted candidate). |
| idempotency_key | string | required | Client-generated idempotency key; stable across retries. |
| quote_snapshot_id | string | required | From get_trade_quotes response. |
| intent_hash | string | required | Must equal the intent_hash used for get_trade_quotes that produced the snapshot. |
| execution | object | optional | 0x: { sell_token, buy_token, sell_amount, taker, chain_id? }. 1inch Fusion: { sell_token, buy_token, sell_amount, target_price, wallet, expiry? }. Required for in-app swap routes. |
us-stock-financials
[Research] Financials of a tokenized US stock: earnings calendar (next_report_date, days_to_earnings) + recent beat_rate, revenue & revenue_cagr, gross/net margins, valuation (pe + historical pe_percentile, pb, ev_ebitda), financial quality (ROE/ROIC, ROIC-vs-WACC spread, FCF yield, leverage, Piotroski/Altman, quality verdict), base-case DCF intrinsic value & upside, plus optional last-8-quarters revenue sequence with YoY growth (include_quarters=true). In-pool names also carry the same three blocks the stock page shows: cashflow_bridge (net-income-to-cash bridge: CFO/net-income ratio + trend, FCF, buyback/dividends, and 5 red-flag observations, each {value,status} — a status other than "ok" means not-applicable / not-enough-sample, NOT a clean bill of health), balance_safety (quick ratio, net-debt-to-EBITDA, interest coverage EBIT-over-interest, short-debt coverage; each {value,status} with net_cash / no_interest_burden / no_short_term_debt / inapplicable-for-financials; net debt here = total debt minus cash and short-term investments, annual — a different caliber from quality.net_debt_to_ebitda which is TTM and cash-only, do not mix them in one sentence), and governance (highest-paid executive with pay mix and up-to-3-year total trend — proxy filings lag months, status stale / foreign_issuer / no_proxy_data; capital allocation buyback/dividends/net-debt-issuance; control = largest 13D/G holder filed within 3 years, where single_holder_majority=false only means the largest KNOWN filer is under 50%, NOT that there is no controlling shareholder).
Accepts ticker / name / token symbol. Judge cheap/expensive ONLY from pe_percentile (0-100); null = unknown, do NOT guess. Numbers pre-computed.
PRIORITY: Use when the user asks specifically about valuation, earnings, fundamentals, or financial quality/moat of ONE NAMED stock. This tool ALWAYS needs a ticker — for date-driven questions with no ticker (who reports today / tomorrow / this week) use us-stock-earnings-calendar instead. For DCF intrinsic value or assumption what-ifs use us-stock-dcf; for a full single-stock readout use us-stock-bundle.
[Read-Only]. [Reasoning: Low].
Keywords: valuation, PE, PB, EV/EBITDA, earnings, days to earnings, revenue growth, margins, beat rate, fundamentals, ROE, ROIC, FCF yield, Piotroski, Altman Z, quality, moat, DCF, intrinsic value, quarters, quarterly revenue, cash conversion, CFO to net income, accruals, red flags, receivables, inventory, payables, stock-based compensation dilution, solvency, quick ratio, interest coverage, net debt, short-term debt, can it pay its debts, governance, executive compensation, CEO pay, pay mix, buyback, dividend, capital allocation, controlling shareholder, largest holder, 13D 13G
| Parameter | Type | Required | Description |
|---|
| input | string | required | ticker / 名称 / token,如 NVDA / 英伟达 / NVDAx |
| include_quarters | boolean | optional | 是否返回近8季营收/利润序列(会增加 text 长度) |
us-stock-technicals
[Research] Latest EOD quote + price performance & technicals of a tokenized US stock (EOD close, NOT real-time/intraday). Returns: current price ($) and volume (daily / trailing-5-day / 5- & 20-day average), RAW/UNADJUSTED nominal close as shown on brokers; plus 1W/1M/3M/6M/1Y/YTD returns, 52-week high/low & position, MA50/MA200 relation, annualized volatility, 1Y max drawdown — these are split/dividend-ADJUSTED, so do NOT reconcile the price against the returns. Accepts ticker / name / token symbol. null = insufficient history.
PRIORITY: Use when the user asks about the current price ($), volume, price performance, returns, trend, or risk of one stock. For a full single-stock readout use us-stock-bundle. Gives the latest EOD close price/volume, NOT a live intraday quote.
[Read-Only]. [Reasoning: Low].
Keywords: price, current price, volume, share volume, quote, performance, returns, YTD, 52-week, moving average, MA50 MA200, volatility, max drawdown, technicals
| Parameter | Type | Required | Description |
|---|
| input | string | required | ticker / 名称 / token,如 NVDA / 英伟达 / NVDAx |
us-stock-onchain
[Research] On-chain premium/discount of a tokenized US stock vs its underlying, per platform, with where to buy / which chain. Returns platforms[] with token_symbol, chain, premium_pct, premium_mode, confidence, is_outlier. The differentiated web3 layer. Accepts ticker / name / token symbol. Read premium_mode: realtime = same-instant premium (US market open); offset = token vs the LAST close (off-hours), NOT a same-instant premium and partly overnight drift — don't treat it as a real liquidity premium (see underlying_close_date). confidence: high=realtime, low=offset, medium=bitget_reality@realtime. source_meta.dataAvailability: ok=realtime, stale=offset, no_data=no platform / not a US stock. Outside US market hours (incl. nights/weekends) low+stale is EXPECTED (comparison vs last close), NOT a data outage or source degradation; high+ok only during market hours with a fresh underlying quote. is_outlier=true = suspected anomaly (FX lag / thin liquidity), not a real signal. Empty = unavailable; on-chain exists for in-pool names only.
PRIORITY: Use when the user asks about the tokenized / on-chain side — premium or discount, where to buy, which chain. The only on-chain tool.
[Read-Only]. [Reasoning: Low].
Keywords: on-chain premium, discount, tokenized stock, xStocks, where to buy, which chain, premium discount, realtime vs offset
| Parameter | Type | Required | Description |
|---|
| input | string | required | ticker / 名称 / token,如 NVDA / 英伟达 / NVDAx |
us-stock-sector
[Research] US sector overview: whole-market GICS sector P/E & recent performance (FMP aggregate, NOT pool-limited) plus which pool stocks are tokenizable on-chain in that sector. sector_pe_rank / sector_ranking are sorted by P/E ASCENDING — rank 1 = lowest P/E = cheapest (payload carries rank_order="pe_asc"). Pass the user's raw words (e.g. semiconductors, financials); the tool maps to a GICS sector internally. matched=false ⇒ no standard sector ⇒ it's a theme (AI, robotics) → use web-search instead.
PRIORITY: Default for sector- or industry-level questions ("半导体板块怎么样" / how is the tech sector). Do NOT use for a SINGLE named stock — not its PE, price, or cheap-or-expensive ("NVDA 的 PE 是多少" / "NVDA 现在贵不贵"). Those belong to us-stock-analyze (depth=quick for one number; facet=full for cheap-or-expensive). us-stock-bundle is internal to that skill and is not a classifier target.
[Read-Only]. [Reasoning: Low].
Keywords: 板块怎么样, industry-level P/E ranking, GICS sector overview, sector performance, not a single-stock PE
| Parameter | Type | Required | Description |
|---|
| query | string | required | 用户原话,如 半导体 / 科技 / semiconductors / financial |
us-stock-bundle
[Research] One-shot single-stock bundle — the primary path for analyzing one tokenized US stock. Returns identity, valuation (pe + pe_percentile, pb, ps, ev_ebitda), financial quality verdict (ROIC vs WACC, Piotroski, Altman) + base-case DCF intrinsic value & upside, performance (1W/1M/3M/6M/1Y, 52-week position, MA50-vs-200), key resistance/support, next earnings & days_to_earnings, on-chain premium, profile (peers), analyst consensus under `company.analyst` (SAME block as us-stock-consensus: consensus/high/low target + upside vs last close, rating split with analyst count, and `forward` = the next TWO fiscal years ONLY, each with low/avg/high + analyst count + forward P/E and P/S, each carrying a status — never read a later-year row as the forward year), business mix under `company.segments` (SAME numbers as the stock page: revenue share %, YoY, trend and a largest/fastest/shrinking tag per segment, product & geography, top-3 + Other with shares recomputed after the merge; shares are over DISCLOSED segment revenue, not total revenue; `latest_partial=true` = newest period under-disclosed, do not draw share conclusions), and verdict (tri-score technical/fundamental + PE/DCF valuation dual-axis). Accepts ticker / name / token symbol. In-pool served from pre-stored data; out-of-pool is a live lite view (no on-chain). EOD prices, not real-time. Judge cheap/expensive ONLY from pe_percentile.
PRIORITY: Default for any single-stock question. Use financials / technicals / onchain only when the user asks about one specific dimension; use us-stock-dcf for DCF intrinsic value or assumption what-ifs; use us-stock-sector for industry-level queries.
[Read-Only]. [Reasoning: Low].
Keywords: stock analysis, tokenized stock, single stock overview, valuation, quality, moat, ROIC, DCF, intrinsic value, earnings, performance, on-chain premium, peers, analyst target, verdict, tri-score, PE axis, DCF axis, business mix, revenue by segment, revenue by geography, what does the company sell, where does revenue come from, segment growth, analyst consensus, price target, upside, rating split, forward PE, forward PS, forward estimates
| Parameter | Type | Required | Description |
|---|
| input | string | required | ticker / 名称 / token,如 NVDA / 英伟达 / NVDAx |
us-stock-dcf
[Research] DCF intrinsic value of a tokenized US stock: base-case intrinsic value & upside-vs-price, key assumptions (WACC / perpetual growth / revenue growth), terminal-value share, a bear/base/bull band, and a 3-lever sensitivity (revenue / discount / terminal) marking the main driver. Optionally override assumptions: revenue_growth_pct (live recompute), terminal_growth_pct & discount_rate_pct (instant, local); perpetual growth is auto-clamped below WACC. Banks / insurance / capital-markets are flagged not-applicable (no FCF-DCF). EOD prices. unavailable/null = do NOT guess.
PRIORITY: Use when the user asks what a stock is worth / intrinsic / fair value, or wants to adjust DCF assumptions (what-if). For relative cheap-or-expensive (PE percentile) use us-stock-financials; for a full readout use us-stock-bundle.
[Read-Only]. [Reasoning: Low].
Keywords: DCF, intrinsic value, fair value, discounted cash flow, WACC, terminal growth, upside, bear base bull, what-if, sensitivity
| Parameter | Type | Required | Description |
|---|
| input | string | required | ticker / 名称 / token,如 NVDA / 英伟达 / NVDAx |
| revenue_growth_pct | number | optional | 预测期年化营收增速假设%(覆盖 FMP 全部预测年份;改它触发一次实时重算) |
| terminal_growth_pct | number | optional | 永续增长率%,0–6,须显著低于折现率(否则自动钳制) |
| discount_rate_pct | number | optional | 折现率/WACC%,5–30 |
us-stock-consensus
[Research] Analyst consensus for one tokenized US stock: rating (strong-buy/buy/hold/sell/strong-sell) with analyst count, average price target & upside/downside %, forward estimates (EPS/revenue next quarter & fiscal year), revision trend (last month/quarter/year avg + direction), and recent analyst actions (firm, new target, title, date). Pre-computed from DB-stored analyst data; in-pool only.
Accepts ticker / name / token symbol.
PRIORITY: Use when the user asks about analyst ratings, price targets, Wall Street consensus, or earnings estimates. For actual reported earnings or financial quality use us-stock-financials; for a full single-stock readout use us-stock-bundle.
[Read-Only]. [Reasoning: Low].
Keywords: analyst, consensus, rating, price target, strong buy, buy, hold, sell, EPS estimate, revenue estimate, Wall Street, forward estimates, revision
| Parameter | Type | Required | Description |
|---|
| input | string | required | ticker / 名称 / token,如 NVDA / 英伟达 / NVDAx |
us-stock-events
[Research] Stock event feed for one tokenized US stock: recent news (title, source, sentiment sentiment label/confidence) + SEC filings (8-K, 10-K, 10-Q, etc. with form_type and URL), merged and reverse-chronological within a 90-day window. Sentiment only shown at high confidence (>=0.85, aligned with radar page). Returns top N headlines in text + full event list in structuredContent. In-pool only (DB-backed); out-of-pool returns empty.
Accepts ticker / name / token symbol.
PRIORITY: Use when the user asks about recent news, events, SEC filings, or what's happening with a stock. For earnings dates or financial fundamentals use us-stock-financials; for a full single-stock readout use us-stock-bundle.
[Read-Only]. [Reasoning: Low].
Keywords: news, events, SEC filing, 8-K, 10-K, 10-Q, sentiment, headlines, announcements, corporate events
| Parameter | Type | Required | Description |
|---|
| input | string | required | ticker / 名称 / token,如 NVDA / 英伟达 / NVDAx |
| limit | number | optional | 返回条数(默认 20) |
us-stock-radar-scores
[Research] Radar map scores for one tokenized US stock: momentum_score (pool percentile 0-100, 50=pool median, higher=stronger momentum), opp_score (opportunity percentile 0-100, 50=pool median), core_score (absolute composite, NOT percentile), rs_20d (stock − SPY 20-day excess return in pp), and rank_delta (prev rank − current rank, positive=moved up). Includes pool context (pool_rank / pool_size) from the current published snapshot run. Data comes from pre-computed metrics_snapshot table (no external calls). as_of is the snapshot trade date, caliber=daily.
Accepts ticker / name / token symbol.
PRIORITY: Use when the user asks "how strong is this stock in the radar map", "what's its momentum rank", "is it in the top quadrant", or "how does it compare to SPY recently". For full single-stock readout use us-stock-bundle; for sector-level ranking use us-stock-sector.
[Read-Only]. [Reasoning: Low].
Keywords: radar, scoring, momentum, opportunity, core score, percentile, ranking, relative strength, rs_20d, rank delta, pool rank, quadrant
| Parameter | Type | Required | Description |
|---|
| input | string | required | ticker / 名称 / token,如 NVDA / 英伟达 / NVDAx |
us-stock-smart-money
[Research] Smart-money / chip-side data for one tokenized US stock, by type: insiders=insider Form4 buys/sells last 90 days (P-Purchase buy, S-Sale sell, net summary + top transactions); beneficial=13D/G blockholder filings last 180 days (>5% ownership, subject-CIK filtered for direction); institutions=13F institutional holdings latest quarter (top 15 holders + summary: institution count, QoQ change, top adds/cuts). DB-backed, no external calls.
Accepts ticker / name / token symbol.
PRIORITY: Use when the user asks "who is buying/selling", "insider transactions", "institutional holdings", "13F", "blockholder", or "smart money flow". For full single-stock readout use us-stock-bundle; for real order-flow imbalance use us-stock-order-flow.
[Read-Only]. [Reasoning: Low].
Keywords: smart money, insider trading, Form 4, 13D, 13G, 13F, institutional holdings, blockholder, beneficial ownership, insider buys, insider sells, chip side, Vanguard, BlackRock
| Parameter | Type | Required | Description |
|---|
| input | string | required | ticker / 名称 / token,如 NVDA / 英伟达 / NVDAx |
| type | string | required | 数据类型 |
us-stock-lockup-events
[Research] 禁售期开放:IPO 发行前股东的解禁档位(日期/股数/占流通盘/折合几天量)+ 招股书条款原文片段。覆盖任意美股(不限于池内);上市超过两年、借壳上市、或招股书取不到时按状态码降级,**不会用「上市+180 天」推算日期**。Accept ticker / name / token symbol. [Read-Only].
| Parameter | Type | Required | Description |
|---|
| input | string | required | ticker / 名称 / token,如 SPCX / 英伟达 / NVDAx |
us-stock-order-flow
[Research] Real order-flow imbalance (lit market, aggressor-side directional) for one tokenized US stock: trade imbalance in USD, as % of volume, and as % of total eligible volume. Daily frequency, sourced from published snapshot run's daily_flow row. Positive = buyer-dominated, negative = seller-dominated. This is objective market microstructure data — NOT a scoring signal and does NOT feed into verdict.chips. Distinct from us-stock-technicals money_flow which is price-volume derived.
Accepts ticker / name / token symbol.
PRIORITY: Use when the user asks about "real order flow", "buy/sell imbalance", "who is dominating", "lit flow", or "order flow direction". For insider/institutional flow use us-stock-smart-money; for price-volume-derived money flow use us-stock-technicals.
[Read-Only]. [Reasoning: Low].
Keywords: order flow, trade imbalance, lit market, aggressor side, buy sell imbalance, flow imbalance, microstructure, buyer dominated, seller dominated
| Parameter | Type | Required | Description |
|---|
| input | string | required | ticker / 名称 / token,如 NVDA / 英伟达 / NVDAx |
us-stock-onchain-liquidity
[Research] On-chain liquidity for one tokenized US stock: TVL, 24h volume, holder count, token market cap, tradable tier (ample/thin/illiquid), and DEX pool info (dex, pool name, address). Sourced from GeckoTerminal + Jupiter, 30-min refresh. Fields showing as null/? mean upstream data unavailable (NOT zero liquidity — has_pool=0 or has_catalog=0 flags suppress false zeros). Distinct from us-stock-onchain which checks premium/discount vs underlying.
Accepts ticker / name / token symbol.
PRIORITY: Use when the user asks about "on-chain depth", "can I trade this token", "DEX liquidity", "TVL", "holder count", or "where to buy". For premium/discount vs stock price use us-stock-onchain; for full single-stock readout use us-stock-bundle.
[Read-Only]. [Reasoning: Low].
Keywords: on-chain liquidity, TVL, DEX, holder count, tradable, GeckoTerminal, Jupiter, pool, market depth, onchain, Solana, token liquidity
| Parameter | Type | Required | Description |
|---|
| input | string | required | ticker / 名称 / token,如 NVDA / 英伟达 / NVDAx |
xstock-market-snapshot
[Market Data · xStock] Unified page snapshot for a tokenized US equity: P_ref (cleaned CoinGecko then stock fallback), premium vs underlying, pool_health, true 24h change, NYSE session/holiday. Not the Jupiter execution price. Trading-desk detail pages should prefer this over composing xstock-pool-snapshot + us-stock-onchain. [Read-Only]. [Reasoning: Low].
| Parameter | Type | Required | Description |
|---|
| symbol | string | required | xStock symbol or mint, e.g. APPx / AAPLx |
us-stock-earnings-calendar
[Research] US earnings calendar BY DATE — which companies report on a given day. Answers "who reports today / tomorrow / this week" with NO ticker needed; this is the ONLY tool that can look up earnings by date (every other us-stock tool takes a single ticker). Two tiers, deliberately separated because their data depth differs: tracked-pool names carry consensus EPS, actuals and beat/miss comparison; ALL OTHER US companies come with session (pre/post-market) ONLY in the text you read — no consensus, no actuals. Market cap is used to order and truncate that list, not printed per row. Per-day totals are market-wide (earnings season peaks above 500 companies a day). The "others" list is ordered by market cap and truncated — names beyond the cut are NOT missing. When the user asks for the full list or for more names, CALL THIS TOOL AGAIN with limit=30 (or page with offset) — do not answer from the previous, truncated result, and NEVER tell the user the full list is unavailable. Params: ahead (default 1 = today+tomorrow, max 14), back (default 0, max 7), limit (default 8, max 30), offset.
PRIORITY: Use for ANY date-driven earnings question — 今天/明天谁发财报, 本周哪些股票发财报, 美股财报日历, 财报档期, 昨夜谁发了财报. Do NOT fall back to web-search for these. For ONE named stock's next report date use us-stock-financials instead (that one needs a ticker). CANNOT filter by sector or industry — upstream has no sector field for out-of-pool names; do not claim a sector-filtered list.
[Read-Only]. [Reasoning: Low].
Keywords: 财报日历, 财报档期, 今天谁发财报, 明天谁发财报, 本周财报, 发财报的标的, 财报标的, 盘前盘后发财报, 財報日曆, 財報檔期, 今天誰發財報, 明天誰發財報, 財報標的, 會公開財報的標的, 本週財報, earnings calendar by date, who reports today, who reports tomorrow, earnings this week, earnings schedule, reporting companies, earnings date lookup
| Parameter | Type | Required | Description |
|---|
| ahead | integer | optional | 未来几天(含今天),默认 1 = 今天+明天,上限 14 |
| back | integer | optional | 往回几天(看「昨夜谁发了」),默认 0,上限 7 |
| limit | integer | optional | 「其余」那段每天列几家(按市值降序),默认 8,上限 30 |
| offset | integer | optional | 「还有哪些」续页,默认 0 |