# TradeSonar dYdX Crowding Signals API

> TradeSonar dYdX Crowding Signals API is a paid API for AI agents from api.tradesonar.io, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-10).

Returns long/short ratio, whale concentration, squeeze direction and score, and open interest breakdown for a dYdX perpetual market.

## Facts

- Endpoint: GET https://api.tradesonar.io/v1/markets/%7Bticker%7D/crowding?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tradesonar-dydx-crowding-signals-api-8e627ad0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qbMSAYQF4QCSdei1Caq61

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tradesonar-dydx-crowding-signals-api-8e627ad0
```

Example prompt: What are the crowding signals for BTC-USD on dYdX right now — specifically the long/short ratio, squeeze score, and how concentrated whale holders are?

## When to prefer this

Choose this endpoint when you need on-chain crowding and positioning intelligence for dYdX perpetual markets — specifically long/short ratio, squeeze risk, and whale concentration — rather than price or funding rate data. Ideal for trading bots, risk monitors, and dashboards that need to detect crowded trades or squeeze setups on dYdX.

## Known failure modes

- Unknown or unsupported ticker symbol — returns 404 or empty data
- Replica lag too high causing stale data — freshness timestamp will reflect lag
- Payment not provided or insufficient — x402 payment required error
- Rate limiting if too many calls per second
- Network or upstream dYdX node unavailability causing 503

## How this service works

TradeSonar: dYdX on-chain smart-money, funding and crowding signals. Every response is stamped with data_as_of freshness (block height + replica lag).

## Output

A JSON object containing: ticker symbol, squeeze direction (squeezeDir), squeeze score (squeezeScore), top holder percentage (topHolderPct), top 5 holder percentage (top5HolderPct), long/short ratio (longShortRatio), long notional in USD (longNotionalUsd), short notional in USD (shortNotionalUsd), and total open interest in USD (openInterestUsd). Each response is timestamped with a data_as_of field indicating block height and replica lag for freshness tracking.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "properties": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {
   "ticker": "...",
   "squeezeDir": "...",
   "squeezeScore": "...",
   "topHolderPct": "...",
   "top5HolderPct": "...",
   "longShortRatio": "...",
   "longNotionalUsd": "...",
   "openInterestUsd": "...",
   "shortNotionalUsd": "..."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tradesonar-dydx-crowding-signals-api-8e627ad0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.tradesonar.io](https://www.zero.xyz/host/api.tradesonar.io/llms.txt)
