Blave Quant Skill

v1.6.1

Use for: (1) Blave market alpha data — 籌碼集中度 Holder Concentration, 多空力道 Taker Intensity, 巨鯨警報 Whale Hunter, 擠壓動能 Squeeze Momentum, 市場方向 Market Direction, 資金稀...

1· 397·0 current·0 all-time
Security Scan
Capability signals
CryptoRequires walletCan make purchasesRequires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description (Blave market data + multi-exchange trading) matches the required and optional environment variables and the provided examples. Only blave_api_key and blave_secret_key are required for the core data capability; exchange keys are optional and map to the trading features described.
Instruction Scope
SKILL.md and examples instruct the agent to read .env and call Blave and various exchange APIs directly (including sample Python snippets). This is expected for a data + trading skill, but the docs also require adding broker/affiliate headers (e.g., X-BM-BROKER-ID, referer, X-SOURCE-KEY, Bitfinex aff_code) which will be attached to requests — these are legitimate affiliate attributions but worth noticing. The skill tells the agent not to reuse cached alpha_table results for screening (explicit freshness policy). No instructions request unrelated local files or hidden exfiltration.
Install Mechanism
There is no install spec and no code files to execute (instruction-only); risk from install-time downloads is absent.
Credentials
Only blave_api_key and blave_secret_key are required for the stated primary capability. A long list of optional exchange API credentials is present and is proportional to the added trading features. Users should be aware these keys will be used by the agent to make network calls; the docs explicitly recommend limiting permissions and enabling IP whitelisting.
Persistence & Privilege
always is false and there is no installable code that requests persistent system privileges. The skill is instruction-only and will act only when invoked (agents can call it autonomously per platform default).
Assessment
This is a documentation-only skill that instructs your agent to call Blave and (optionally) exchange APIs using keys you store in .env. Before enabling: - Only provide blave_api_key/blave_secret_key if you need Blave data; add exchange keys only for the exchanges you actually plan to trade. - Create dedicated API keys with the minimum permissions (read-only for data; trade-only for order placement). Do NOT enable Withdraw on exchange keys unless you fully trust and understand the automation. - Enable IP whitelisting on exchange keys if supported. Consider time-limited or constrained keys for automation. - Note the skill's documentation instructs the agent to include partner/broker attribution headers and an affiliate code on some exchange requests; these are likely intended by the author for attribution/affiliate tracking — remove or override them if you do not want those headers sent. - Because this is instruction-only, there is no bundle-level malware risk from downloads, but the agent will transmit your keys to third-party endpoints when performing API calls. Only proceed if you trust the endpoints and are comfortable with automated trading using those credentials. If you want a lower-risk test, try Blave data calls first with a read-only Blave key and without adding any exchange keys; only add trading keys after you confirm behavior and the exact requests the agent will make.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

📊 Clawdis
Envblave_api_key, blave_secret_key
latestvk976ynrb3x4mh6jc7jcxwf73mn852st7
397downloads
1stars
43versions
Updated 1d ago
v1.6.1
MIT-0

Blave Quant Skill

Eight capabilities: Blave market alpha data, BitMart trading, OKX trading, Bybit trading, BingX trading, Bitget trading, Binance trading, Bitfinex trading & funding.

Examples

Workflow templates for common use cases. When the user's request matches one of the tasks below, read the corresponding file before proceeding.

FileWhen to read
examples/hyperliquid-copy-trading.mdUser wants to find traders to follow / copy trade on Hyperliquid
examples/blave-alpha-screening.mdUser wants to screen or find high-conviction / small-cap tokens
examples/backtest-holder-concentration.mdUser wants to backtest a strategy using Blave alpha signals
examples/truth-social-trump-monitor.mdUser wants to monitor Trump's Truth Social posts with translation
examples/btc-etf-flow-monitor.mdUser wants to track Bitcoin ETF flows / institutional accumulation (BlackRock IBIT etc.)
examples/bitfinex-auto-lending.mdUser wants to auto-lend on Bitfinex (rate-adaptive period + ladder offers)

Output Rule — Chart Auto-Send

Whenever you generate a chart or visualization, send it through the user's notification channel (e.g., Telegram) if and only if the user has explicitly configured one in their environment. Only send to the channel the user themselves set up — never infer or guess an endpoint. If no channel is configured, display the chart inline as usual.


PART 1: Blave Market Data

Setup

No API key or 401/403 → guide user to:

Add to .env: blave_api_key=... and blave_secret_key=...

Auth headers: api-key: $blave_api_key | secret-key: $blave_secret_key

Base URL: https://api.blave.org | Support: info@blave.org | Discord

Limits

ItemValue
Rate limit100 req / 5 min — 429 if exceeded, resets after 5 min
Data updateEvery 5 minutes
HistoryMax 1 year per request (use multiple requests with different date ranges to retrieve data beyond 1 year)
TimestampsUTC+0

Usage Guidelines

  • Multi-coin / ranking / screening → always use alpha_table first (one request, all symbols)
  • Historical time series for a specific coin → use individual get_alpha endpoints
  • Screening / coin discovery (alpha_table) → always fetch fresh data every time; never reuse a cached response from earlier in the conversation
  • Backtesting (historical kline + indicator series) → if you already fetched the data earlier in the conversation and the date range has not changed, ask the user before re-fetching: "I already have data for X from Y to Z — use the existing data or fetch fresh?"

Endpoints

GET /price — Current price + 24h change

symbol (required) → {"symbol": "BTCUSDT", "price": 95000.0, "change_24h": 2.5}

GET /alpha_table — All symbols, latest alpha, no params

Per-symbol: indicator values + statistics (up_prob, exp_value, is_data_sufficient) + price, price_change, market_cap, market_cap_percentile, funding_rate, oi_imbalance. "" = insufficient data. → Full field reference: references/blave-api.md


GET /kline — OHLCV candles

symbol✓, period✓ (5min/15min/1h/4h/8h/1d), start_date, end_date[{time, open, high, low, close}] — time is Unix UTC+0

period format: {number}{unit} — unit: min / h / d. Examples: 15min, 1h, 4h, 1d, 7d, 30d.

Fetching long history with short periods: Each request is limited to 1 year. For short periods (e.g. 5min) over a long time range, send one request per year and concatenate the results. Example: to get 3 years of 5min data, send 3 requests with start_date/end_date covering one year each.

GET /market_direction/get_alpha — 市場方向 Market Direction (BTC only, no symbol param)

period✓, start_date, end_date{data: {alpha, timestamp}}

GET /market_sentiment/get_alpha — 市場情緒 Market Sentiment

symbol✓, period✓, start_date, end_date{data: {alpha, timestamp, stat}}

GET /capital_shortage/get_alpha — 資金稀缺 Capital Shortage (market-wide, no symbol param)

period✓, start_date, end_date{data: {alpha, timestamp, stat}}

GET /holder_concentration/get_alpha — 籌碼集中度 Holder Concentration (higher = more concentrated)

symbol✓, period✓, start_date, end_date{data: {alpha, timestamp, stat}}

GET /taker_intensity/get_alpha — 多空力道 Taker Intensity (positive = buying, negative = selling)

symbol✓, period✓, timeframe (15min/1h/4h/8h/24h/3d), start_date, end_date

GET /whale_hunter/get_alpha — 巨鯨警報 Whale Hunter

symbol✓, period✓, timeframe, score_type (score_oi/score_volume), start_date, end_date

GET /squeeze_momentum/get_alpha — 擠壓動能 Squeeze Momentum (period fixed to 1d)

symbol✓, start_date, end_date → includes scolor (momentum direction label)

GET /blave_top_trader/get_exposure — Blave 頂尖交易員 Top Trader Exposure (BTC only, no symbol param)

period✓, start_date, end_date{data: {alpha, timestamp}}

GET /sector_rotation/get_history_data — 板塊輪動 Sector Rotation, no params

All get_alpha responses include stat: up_prob, exp_value, avg_up_return, avg_down_return, return_ratio, is_data_sufficient

Each indicator also has a get_symbols endpoint to list available symbols.


Screener

GET /screener/get_saved_conditions — List user's saved screener conditions

No params. Returns {data: {<condition_id>: {filters: [...], ...}}} — a map of condition IDs to their filter configs.

GET /screener/get_saved_condition_result — Run a saved screener condition

condition_id✓ (integer) → {data: [<symbols matching filters>]}

Returns 400 if condition_id is missing or not an integer; 404 if condition not found for user.


Hyperliquid Top Trader Tracking

Full response formats: references/hyperliquid-api.md

EndpointParamsCache
GET /hyperliquid/leaderboardsort_by (accountValue/week/month/allTime)5 min
GET /hyperliquid/traders
GET /hyperliquid/trader_positionaddress✓ → perp positions, spot balances, net_equity15 s
GET /hyperliquid/trader_historyaddress✓ → fills with closedPnl, dir60 s
GET /hyperliquid/trader_performanceaddress✓ → {chart: {timestamp, pnl}} cumulative PnL60 s
GET /hyperliquid/trader_open_orderaddress✓ → open orders60 s
GET /hyperliquid/top_trader_position— → aggregated long/short across top 1005 min
GET /hyperliquid/top_trader_exposure_historysymbol✓, period✓, dates
GET /hyperliquid/bucket_stats— → stats by account size bucket; 202 while warming up~5 min

TradingView Signal Stream (SSE)

Receive TradingView alerts in real time via Server-Sent Events.

Endpoint: GET /sse/tradingview/stream?channel=<ch>&last_id=<id>

Event format: data: {"id": "1712054400000-0", ...alert_fields}

  • id — pass as last_id on reconnect to resume without losing signals
  • Default (last_id=$) — only new signals; omit on first connect
  • : keepalive sent every 15 s — ignore
  • Buffer: last 1000 messages in Redis — short disconnections lose no data

Full Python example with reconnect loop: references/tradingview-stream.md

Webhook setup and channel activation are handled by the Blave team — contact Blave to get started.


Python examples: references/blave-api.md Indicator interpretation: references/blave-indicator-guide.md


Exchange Trading

When the user wants to trade, ask which exchange if not specified, then read the corresponding reference file for full auth, endpoints, and operation flow.

Exchange.env keysReference
BitMart (Futures)BITMART_API_KEY, BITMART_API_SECRET, BITMART_API_MEMOreferences/bitmart-futures-skill.md
BitMart (Spot)same as abovereferences/bitmart-spot-skill.md
OKXOKX_API_KEY, OKX_SECRET_KEY, OKX_PASSPHRASEreferences/okx-skill.md
BybitBYBIT_API_KEY, BYBIT_API_SECRETreferences/bybit-skill.md
BingXBINGX_API_KEY, BINGX_SECRET_KEYreferences/bingx-skill.md
BitgetBITGET_API_KEY, BITGET_SECRET_KEY, BITGET_PASSPHRASEreferences/bitget-skill.md
BinanceBINANCE_API_KEY, BINANCE_SECRET_KEYreferences/binance-skill.md
BitfinexBITFINEX_API_KEY, BITFINEX_API_SECRETreferences/bitfinex-skill.md

Workflow for all exchanges:

  1. Verify credentials from .env — if missing, STOP
  2. READ → call, parse, display
  3. WRITE → present summary → ask "CONFIRM" → execute
  4. After order → verify status

Comments

Loading comments...