Live Perpetual Intelligence for Agents

Market intelligence for trading agents on Binance and Bybit USDT perpetuals. Find unusual conditions with scan_market, then pull a filtered or full Trap Radar dump. Evidence of what the tape is doing — not a forecast and not investment advice. Not investment advice.

v1.1 · Binance & Bybit · MCP + HTTP llms.txt — start here Agent Skill JSON examples OpenAPI Agent Card

Recommended workflow

  1. get_supported_markets — markets, tickers, indicator filters (free). Alias: get_supported_symbols
  2. get_market_metrics — optional free 15m pulse on one ticker
  3. get_market_context — optional regime snapshot, only if it changes how you read a scan
  4. scan_market — cheap market-wide filter; read reasons[]
  5. get_instrument_state — depth on a candidate; pass indicators/windows to avoid the full dump
  6. historical_validation — evidence only; insufficient sample is a valid 200

Tools

Step 1
Free

get_supported_markets

Live USDT perpetual catalog, indicator filters (OI, CVD, liqs USD / liqs vs OI), scan conditions. Alias: get_supported_symbols.

GET https://crypto-resources.com/agents/v0/tools/get_supported_markets
Optional

get_market_context

Market-wide regime from cached heatmaps. Skip unless the background changes the scan.

POST https://crypto-resources.com/agents/v0/tools/get_market_context
Step 2
Free

get_market_metrics

15m price, OI, CVD, RSI plus 30m VWAP deviation. Enough for a quick read on one ticker.

GET https://crypto-resources.com/agents/v0/tools/get_market_metrics?symbol=BTCUSDT&exchange=binance
Step 3

scan_market

Ranks tickers for anomaly / divergence / trap / liquidation. Every hit includes concrete reasons, not just a score.

POST https://crypto-resources.com/agents/v0/tools/scan_market
Step 4

get_instrument_state

Full dump or a slice: indicators=oi,liquidations_oi,cvd returns every window for those families.

POST https://crypto-resources.com/agents/v0/tools/get_instrument_state
Step 5
Free until corpus

historical_validation

Observed statistics only. Today: sample.insufficient: true — a valid 200, not an error.

GET https://crypto-resources.com/agents/v0/tools/historical_validation

Indicator filters on get_instrument_state

Pass indicators to get every window for those families, not the full dump. Optional windows=15m,60m.

scan_market conditions

Read reasons[]. score is not a probability. Empty results = HTTP 200.

Data freshness

Live data (`data_mode: live`). Every live response includes `request_id`, `updated_at`, `freshness_seconds`, `ttl_seconds`, `is_stale`. `is_closed` means the event/candle finished; `is_stale` means the TTL expired. They are different. Some indicators include updated_at and is_closed. updated_at is the open time of the 1-minute candle included in that measurement. is_closed true means that 1-minute candle was already closed when the value was measured. Example: updated_at 2026-09-08T14:52:00Z with is_closed true means the last closed candle in this report is the 14:52 bar; freshness is 14:53:00 UTC. This is the candle clock, not delayed data.

Payment policy

Do not auto-pay

Do not spend USDC automatically. Require explicit user approval before signing any TransferWithAuthorization or retrying a paid call. Respect wallet spend limits, confirmation prompts, and your host application's payment policy. A 402 response is a quote, not permission to pay.

x402 on Base (3 steps)

Paid tools: scan_market (0.005), get_market_context (0.005), get_instrument_state (0.01). Network Base, asset USDC. No ETH for gas.

  1. Quote — POST with wallet + X-Agent-Wallet → HTTP 402 + accepts[0]
  2. Sign — EIP-712 TransferWithAuthorization for USDC (x402 spec)
  3. Retry — same POST + X-Payment header. Send Idempotency-Key so a retry does not charge twice.

Do not send the literal string X-Payment: x402. Full 402/200 payloads: https://crypto-resources.com/agents/v0/examples.json

Idempotency

Paid tools accept Idempotency-Key (header) or idempotency_key (JSON). The same key + same request body returns the cached paid answer and does not settle USDC again. Recommended on every paid retry. Missing key still works, but a network retry may charge twice.

API key vs subscription

Optional header X-CR-Api-Key (or X-Api-Key / Authorization: Bearer). Today the key is accepted but does not skip USDC — unpaid scan_market, get_market_context and get_instrument_state still return HTTP 402. Planned: an active Crypto Resources subscription will unlock paid tools without on-chain payment. Always call unpaid first: HTTP 200 means no USDC needed; HTTP 402 means follow x402.

Out of scope

This API does not place orders, read balances, stream order books, dump raw candles as a product, cover spot markets, or forecast prices. historical_validation never returns expected_price, forecast, or probability_of_profit.

Rate limits

Per client IP, 60s window, tool × tier. Unpaid = free column. After a payment header = paid column.

For machines