> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ironflow.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Whale Alerts

> Detect large trades on any Hyperliquid market and pipe them to Slack or Discord.

Large prints move markets. This guide polls the trade tape, filters by notional size, and forwards hits to a webhook.

## Implementation

```python theme={null}
import asyncio, time
import httpx
from ironflow_sdk import Ironflow

MARKET = "BTC-PERP"
MIN_NOTIONAL = 250_000  # USD
WEBHOOK = "https://hooks.slack.com/services/..."

async def watch():
    async with Ironflow("if_your_api_key") as client:
        last_seen = int(time.time() * 1000)
        while True:
            page = await client.trades(MARKET, from_=last_seen, limit=200)
            for t in page.data:
                notional = float(t.price) * float(t.size)
                if notional >= MIN_NOTIONAL:
                    async with httpx.AsyncClient() as http:
                        await http.post(WEBHOOK, json={
                            "text": f"{MARKET}: {t.side.upper()} "
                                    f"${notional:,.0f} @ {t.price}"
                        })
                last_seen = max(last_seen, t.timestamp + 1)
            await asyncio.sleep(2)

asyncio.run(watch())
```

## Watch all markets

Omit `market` to scan the full tape across native and builder markets in one query. Tier query-window limits apply more aggressively without a market filter — see [Rate Limits](/concepts/rate-limits).

```python theme={null}
page = await client.trades(from_=last_seen, limit=500)
```

## Historical whale activity

The same filter works over history — find every six-figure print in a window and see what followed:

```bash theme={null}
curl "https://api.ironflow.sh/v1/trades?source=hyperliquid&market=BTC-PERP&from=1754000000000&to=1754086400000&limit=1000" \
  -H "Authorization: Bearer $IRONFLOW_API_KEY"
```

Filter client-side on `price * size` — the tape carries every participant's fills, so nothing is sampled away.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.