Skip to main content
Let’s cut the fluff and get you connected. Follow these four steps and you’ll be pulling live Polymarket alpha in less than a minute.
1

Grab an API Key

Head over to @chadsapibot on Telegram. Tap Get API Key, join our community channel, and select your tier.You’ll be handed a key that looks like pc_Kr_Ohz.... Copy it.
Grab the Pro tier. It’s free for 30 days and gives you real-time data and WebSocket access. Free tier has a mandatory 5-minute delay on all alerts.
2

Verify your connection

Let’s make sure the key works and check your limits. Drop this into your terminal:
curl -H "Authorization: Bearer YOUR_KEY_HERE" \
  https://polychadsbot.xyz/api/v1/me
If it works, you’ll get back a JSON payload showing your exact tier, what features are unlocked, and your daily request count.
3

Pull the latest alpha

Time for the good stuff. Let’s pull the 5 most recent insider alerts our engine detected.
curl -H "Authorization: Bearer YOUR_KEY_HERE" \
  "https://polychadsbot.xyz/api/v1/alerts/latest?limit=5"
You’re now looking at raw insider action — the wallet address, the market they bet on, exactly how much USDC they dropped, and our AI Signal Score rating the trade’s suspiciousness.
4

Optional: See what's trending (Hot Markets)

Want to know where the coordinated money is flowing right now? Hit the Hot Markets endpoint to see markets ranked by alert volume and signal strength.
curl -H "Authorization: Bearer YOUR_KEY_HERE" \
  "https://polychadsbot.xyz/api/v1/hot-markets?period=24h"
5

Go fully Real-Time (Pro/Enterprise Only)

Polling is slow. If you want alerts the literal millisecond we detect them, hook into our WebSocket stream.
const ws = new WebSocket(
  "wss://polychadsbot.xyz/ws/alerts?api_key=YOUR_KEY_HERE"
);

ws.onmessage = (event) => {
  const msg = JSON.parse(event.data);
  
  // We only care about the actual alert payloads
  if (msg.type === "alert") {
    const data = msg.data;
    console.log(`🚨 INSIDER ALERT: ${data.event_title}`);
    console.log(`Action: ${data.side} ${data.outcome}`);
    console.log(`Size: $${data.usdc_value} @ ${data.entry_price}¢`);
    console.log(`Signal Score: ${data.signal_score}/100`);
  }
};

// Don't forget your keep-alive ping!
setInterval(() => {
  if (ws.readyState === WebSocket.OPEN) ws.send("ping");
}, 25000);

You’re wired in. What next?

Now that the data is flowing, here is where you should look to build out your integration:

The Alert Object

Understand exactly what every field in our JSON payload means.

Signal Scores Explained

How we calculate the 0-100 score and what thresholds you should care about.

Full API Reference

Deep dive into pagination, filtering, and historical queries.

Filter Presets

Save your complex filter criteria directly to your API key.