// DocsPremium guide
ContentsPremium guide
✦ Premium guide

Picks that grade themselves

Everything Premium adds to a server, in the order you’ll meet it: set up a capper profile, post picks and cards, let the bot grade them, run your record, offers and sponsor from one place. $5/month or $50/year per server, $2 for the first week.

New: the ✦ Slip Scanner reads a bet-slip screenshot, matches every leg to our lines and tracks the slip live — free on every Premium server until Nov 22, then a $5/month add-on per server: Slip Scanner guide.

New: ✦ Parlaybot hands members ready-made 2 to 5 leg parlays priced at their books — an add-on to Premium: Parlaybot guide.

Rather have the whole server built for you? We set up a capper’s Discord, rooms, alerts, Capper Picks and record page included, for $100 one time: Discord server setup for cappers.

// Start here

What Premium is

Premium turns on the odds layer for this server and gives you Capper Picks: your own picks feed with your banner, your colours and your join link, graded automatically against the closing line. It also lifts the free plan’s 2-rule cap to unlimited alert rules. Everything else the free bot does stays free. Premium covers this server only.

  • Capper Picks — post from the dashboard (phone-friendly), lines and odds autofill from the books, one embed per pick, VIP teasers to your free channel. The US leagues and soccer (Premier League, La Liga, Serie A, Bundesliga, MLS, Brasileirão, Ligue 1, Eliteserien, Allsvenskan, Liga Portugal, UEFA Champions League, UEFA Europa League and the UEFA Conference League), every soccer pick graded on 90 minutes.
  • The Premium panel — /sportdataiq becomes your server’s own home: brand, record, open picks with tail/fade, every tool one tap away.
  • Member tools — /props, /hitrate with its alt-line ladder, /ladder ($100 a rung on a player’s alt lines), price alerts (/pricealerts), /ftd, /fbnba, /fbwnba, /odds, /parlay, live prop trackers, second-half lines, receipts on scoring alerts, lines on /scores and the digest.
  • Unlimited alerts — as many alert rules as you want (free servers get 2); rules paused over the free 2 switch back on by themselves.
  • Premium alert rules — Steam, Arb, +EV of the Day, Grand Salami, live Win Probability and News, listed under ✦ Premium alerts at the bottom of the League dropdown of a new alert rule. Market signals and our news, not picks.
  • No partner offers — Free Cash and partner promo rows are hidden on Premium servers. DataStreak’s Edges of the Day is optional: an alert rule you switch on or off, and on Premium each post is graded.
Not adviceOdds and lines are market data from PropLine. SportDataIQ doesn't make picks for your server and never posts in your picks channel unless you do. Must be 21+ where legal.

Quick start (10 minutes)

  1. Open Premium → Profile & branding. Set your display name, a handle and your accent colour, then Save profile. (In a hurry? /premium setup in Discord asks for your name, join link and channels and creates the profile in about a minute — everything else is in the dashboard.)
  2. Upload a banner (1200×400) and a logo (square). The preview (on the right, or behind Preview card on a phone) updates as you go.
  3. Open Public page and paste your DubClub URL (or Whop / Telegram / website) under How to join. The button appears under every pick and on your page.
  4. Pick a free picks channel and, if you run one, a VIP channel. Optionally a role to ping on drops.
  5. Go to Compose: single, parlay or other → league → market → game or player → tap the line → units → Post. It lands in Discord within a few seconds.
  6. Open Public page, write a headline, add three reasons and your Discord invite, then Publish. Put sportdataiq.com/c/yourhandle in your bios.
TipLeave Public record off until you want results shown on picks. Grading runs either way, so your analytics are complete from day one.

Everything above is on one page: the Premium tab runs top to bottom through Profile & branding, Public page, Ledger, Analytics, Offers & sponsor and this guide, with Compose a pick at the top and a Jump to index that stays in view. The ? next to Compose replays a short tour of it.

Step 1–4 · Profile & branding
Step 5 · Compose

Billing

$5/month or $50/year per server, or a one-week trial, $2 for the first week (one per server), that continues monthly unless cancelled. Payments run through Stripe; we never see your card.

  • Manage billing on the Premium tab opens the Stripe portal: change plan, update the card, cancel, download invoices.
  • Cancelling keeps Premium to the end of the paid period. Your profile, picks and ledger are kept; posting pauses until Premium is back on.
  • When Premium ends (cancelled, or a payment that never goes through), the server goes to the free plan at once: its 2 oldest alerts keep running, the rest pause (not deleted), and each channel that lost an alert gets one note saying so. Renew and every alert resumes exactly as it was, within a minute.
  • Failed payment — Stripe retries for a few days and we allow a 3-day grace period from the missed date, then Premium switches off. Update the card in the portal to restore it.
  • Refunds and disputes end Premium immediately. Trial fees are non-refundable.
  • “Why did Premium turn off?” — check the Premium tab: it shows the status and the date. It is nearly always a lapsed or failed payment.
  • Complimentary Premium — some servers (partners, cappers we are onboarding) get Premium on the house. The Premium tab then reads Complimentary — on the house with the end date if there is one, there is no billing portal to manage, and everything else works exactly like a paid server. While it runs, the Premium tab shows a Keep Premium after <date> box: a member with Manage Server can subscribe monthly or yearly any time before the end date, so nothing pauses. Billing starts the day you subscribe; the free days left aren't credited.
// Your picks

Posting picks

What a VIP pick looks like
The teaser in the free channel
After the final: result, closing line, CLV

Compose works the same on desktop and phone: the form on the left (or top), the live Discord preview on the right (or in a slide-in sheet). Choose the type first — single pick, parlay or other — then the league and market. Typing is only for a search, a title or the write-up.

Types and markets

  • Single pick — spread, moneyline, total, team total or player prop. Choose the game from the slate (today and tomorrow; the whole week for football); the lines load from the books with the best price. Pick one and odds and book fill in. For a prop, search the player, pick the stat, then the line — their headshot goes on the card.
  • Parlay — add legs one at a time: switch the league for each leg, add a game line or a prop, then enter the parlay odds your book gave you. A slip that crosses leagues is headed with all of them (“MLB + WNBA parlay”) and the legs list under the write-up.
  • Other — futures, exotics, anything the books don't list. You describe it and you grade it.

Soccer picks

Thirteen competitions sit under Soccer in the League list: Premier League, La Liga, Serie A, Bundesliga, MLS, Brasileirão, Ligue 1, Eliteserien, Allsvenskan, Liga Portugal, UEFA Champions League, UEFA Europa League and the UEFA Conference League. The slate is the coming week’s fixtures, home side first (“Arsenal vs Chelsea”), and every soccer line settles on 90 minutes plus stoppage time: extra time and penalties never count. Soccer on SportDataIQ: free First Goal and Anytime Goal alerts in all thirteen competitions (own goals labelled, and they don't count for goalscorer bets; the first-goalscorer odds receipt is ✦ Premium), free /scores and /standings (the live minute, half-time and full time; the table with goal difference and points), Final Score posts with every scorer and minute, a weekly table post and soccer matches in the morning Game-Day Digest, and, on Premium, capper picks, player props included (the soccer emoji packs are free). Game threads, stat leaderboards, Pick'em, and the members' odds tools (/odds, /props, /hitrate, /ladder, /ftd, /parlay, price alerts) cover the NFL, NBA, MLB, NHL, WNBA and college football.

  • Team markets — match result (1X2) with the Draw, double chance, draw no bet, both teams to score, total goals, team total goals and Asian handicap on half and whole lines, plus the 1st-half result, total goals and Asian handicap. On the match result a team loses on a draw and the Draw wins; draw no bet pushes on a draw.
  • Player props — anytime goalscorer, first goalscorer, 2+ goals, shots on target, shots, assists and goal or assist. There's no player search for soccer: pick the match, then the stat, then the player from that match’s lines.
  • Parlays — soccer legs mix with any league. Same-game soccer legs are priced by the books themselves (FanDuel, DraftKings, BetRivers, Unibet), and the slip grades leg by leg on 90-minute rules.
  • Not postable yet — quarter-goal lines (±0.25, ±0.75, 2.25…), 2nd-half lines and 1st-half player props.

Grading, the live tracker and the few soccer picks that need a hand grade: see Grading and Live pick tracker. Soccer picks count on your record, your public page and the Soccer leaderboard.

Now, later, or on a card

  • Post now — the card lands in the channel within seconds.
  • Schedule — pick a time (your clock, up to two weeks out, before kickoff). The pick waits in the Ledger as Scheduled, fully editable, with Post now and Cancel; the bot posts it to the minute.
  • Cards — Add to card collects up to 8 picks into one message under your banner: a title, every play with its price and units, Tail / Fade per pick (buttons up to 4 picks, two pick menus on bigger cards), the join and offer buttons once. Post the card now or schedule it; picks grade individually and the card re-renders with each result and a combined line. A VIP card posts a teaser to the free channel like a single pick.
Compose — type first, then league and market; post now, schedule, or add to a card
A card in Discord

Odds, units, book, feed

  • Odds prefill from the market. Change them to what you actually got. If they're far from the market or the line differs, the pick shows unverified odds with the market price beside it — allowed, just labelled. A line no US sportsbook in our feed posts (a few props) comes from another source — a pick’em app is tagged as one (Underdog · pick’em); its price verifies only a pick filed at that same source, never one at your book.
  • Units run from 0.25 to your max (set in Profile). Default units and your usual book are prefilled.
  • Free or VIP decides the channel. VIP picks can post a locked teaser to the free channel — matchup and time only, never the selection.
  • Join button — the link on every card (DubClub, Whop, Telegram or your own site) can be switched right here on the compose form: pick the platform, paste the link, change the button text, Save. It saves to your profile, so the preview, every future card and your public page all follow. Leave the link empty to post cards without a join button.

After posting

  • You can edit odds, units and the write-up for 15 minutes after posting, so the line on the record is the one that was shared. After that, retract and post again. Scheduled and card picks stay editable until they post.
  • Retract strikes the Discord message through and voids the pick; the row stays in your ledger. Cancelling something that hasn't posted just removes it.
  • Every open pick carries a Bet at {book} button — a deep link into the sportsbook you posted at — and, while it’s open, a best now line whenever another major sportsbook (FanDuel, DraftKings, BetMGM, Fanatics, Hard Rock, theScore Bet) is paying more for the same selection — offshore prices never headline it (refreshed every 15 minutes until kickoff; the button switches to that book when it has a link). Bet clicks get their own tile in Analytics next to join, offer and sponsor clicks. Below Tail / Fade, up to three sportsbook tail links open the pick at the best-priced books, and 🛒 Shop the line shows a member every book’s price for the pick.
  • Market at post — one line on the card: the consensus line and price for your exact selection across regulated US books the moment you posted, and what you got against it (“0.5 pt better, 6¢ worse”). It is closing-line value before the fact, stored with the pick, never edited. Spreads, moneylines and totals; props and team totals don’t have a consensus line.
  • Every open pick shows Line locks in … — a live countdown to kickoff. Turn on discussion threads in Profile & branding and every post opens a thread that archives after a day.
  • DMs to you (Profile & branding): a pick we couldn't grade a day after its game, a line move of a point or more (or 3 points of implied probability on a moneyline) on an open pick inside 24 h of kickoff, a sponsor campaign or offer ending within three days.

/pick — post from Discord

Post a pick without opening the dashboard. /pick (or Compose a pick on the /sportdataiq panel) works anywhere in the server, from a phone, and the card that lands in your channel is the same card compose makes — same grading, same closing line, same Tail / Fade. It works like a sportsbook bet slip: nothing joins the slip until you tap ➕ Add to slip, and nothing posts until you tap Post pick. Private to you the whole time.

  1. Type /pick — or /post, the same command: /po + Enter gets you there without scrolling past /pickem. The slip opens on Add a leg: tap Find a game (moneyline, spread, total, game props) or Find a player (their props) and enter a team, matchup or name. One match opens the lines straight away; several give you a list. The step bar at the top (Find › Line › Add) shows where you are.
  2. Choose a line. It waits in Selection with its odds and sportsbook — your slip doesn’t change yet. Filter with the market menu (All lines, Hits, Total bases…), page with ‹ Prev / Next ›, change your mind with Clear, or step out with Back / Cancel — the slip is kept.
  3. Tap ➕ Add to slip (it shows the price). One leg posts as a single at that line’s book.
  4. Set units (up to your server max) and the feed — Free, VIP, or both — add a write-up if you want one, and tap Post pick. The button shows the price and the book you’re posting at; the reply tells you where it landed and the Ledger has it within seconds.

Parlays. Tap ➕ Add leg and find another line — any game, any league, up to 10 legs — or use ⚡ Add from a game on your slip for a same-game leg. Before you add it, the Selection shows what the whole slip would pay with it: one sportsbook’s real price for every leg (same-game legs at that book’s own same-game quote), so the number on your record is one a member could actually get. If no single book will price the slip, you see why, book by book — doesn’t offer that line, won’t combine these legs, or pricing unavailable right now — so you can swap the leg before you add it. A slip no single book prices can still post: from a scanned slip at the slip’s own total (📸 price from slip, counts fully), or with Enter price at the price you got — that one counts in your record and win rate, not your units. A parlay price you type (here or on the dashboard) counts in units only when one sportsbook prices the whole parlay and your price is within 5% of its quote; otherwise it’s W/L only. 🗑 Remove a leg… marks a leg and asks you to confirm (Post waits until you do); 🔄 Re-price refreshes the slip, and prices older than 10 minutes re-price on Post. The card grades leg by leg and counts on your record like any pick; members can Tail it and track it in their DMs. Built a slip in /parlay? 📣 Post as my pick turns it into a draft.

Soccer. Find a game takes soccer fixtures too (the coming week’s, in Premier League, La Liga, Serie A, Bundesliga, MLS, Brasileirão, Ligue 1, Eliteserien, Allsvenskan, Liga Portugal, UEFA Champions League, UEFA Europa League and the UEFA Conference League): type a club and pick the match. Its lines open on the 90-minute markets (1X2 with the Draw, double chance, draw no bet, both teams to score, goals, Asian handicap); the market menu adds the 1st-half lines and the match’s player props (goalscorer, shots on target, assists…). Find a player is for the US leagues: for a soccer prop, find the match first. Every soccer leg settles on 90 minutes plus stoppage time.

Every book’s version of a prop. Books post the same bet in different shapes — FanDuel’s “1+ Hits” is DraftKings’ “Over 0.5 Hits”, a Yes on a home run is Over 0.5 — and the lines list shows each bet once, with every book that offers it, so the best price is always in the running.

  • Who can use it — Manage Server, or anyone with the picks role set in Profile & branding. Everyone else gets a polite no. It is a Premium feature: on a server without Premium the command explains that and stops.
  • What it can’t do (yet) — “other” picks, scheduling and cards stay in the dashboard. A game that has already started is refused.
  • Drafts — a draft lives 30 minutes; Discard or run /pick again to start over.
Choose a line — it waits for ➕ Add to slip
A parlay leg no book will combine — and why
The card, with the market check

Grading

Every pick is graded automatically — you never have to settle anything, and the same rules apply to every capper.

  • Spread / ML / total / team total — from the official final score. Exact numbers push.
  • Player props — from the official box score (PropLine). Over/Under, N+ rungs and yes/no props all grade; a player who never appears is void.
  • Soccer (Premier League, La Liga, Serie A, Bundesliga, MLS, Brasileirão, Champions League) — on 90 minutes plus stoppage time; extra time and penalties never count. On the match result (1X2) a team loses on a draw and the Draw wins; draw no bet pushes on a draw. Soccer results are cross-checked against the books' own settlement — anything that doesn't line up waits rather than posting a wrong result.
  • Parlays — leg by leg, the way a book settles: any loss = loss; a pushed or voided leg drops out and the slip pays at the product of the surviving legs (the Ledger notes it); nothing left = push.
  • Other (futures, exotics) — yours to grade from the Ledger; it shows as self-graded.
  • Closing line & CLV — at kickoff we record the closing price for your exact side (your book first, then DraftKings/FanDuel, then any regulated sportsbook) and CLV = your price vs the close. Positive means you beat the market.
  • Timing — picks grade within a minute of the final; a catch-up sweep runs every 15 minutes. Refresh results in the Ledger forces it now.
  • Overrides — Set result… in the Ledger changes a grade (postponed game, bad line). It's audited and counts as self-graded on a public record. Void is always allowed.
Soccer picks that need a hand gradeA few soccer picks can't be settled automatically. SportDataIQ grades them by hand instead: they stay Open with “Being graded by SportDataIQ” in the Ledger until we do, and our grade never counts as self-graded, so SDIQ Verified stays. Nothing for you to do; you can still void one from the Ledger. The cases:
  • Shots, shots on target, assists and goal-or-assist on a match that went to extra time (cup knockouts, Champions League knockouts, MLS playoffs). The stat feed only has full-match totals with extra time in, so there's no 90-minute number to grade on. Goals and goalscorers still grade automatically.
  • A match the odds feed never settles (rare). After 48 hours it's graded by hand rather than voided, since it may have been played. A postponed or cancelled match still voids automatically.
  • Results the books disagree on, or that don't match the final score — held rather than posted.
  • A player prop the books voided while a player with that name appears in the box score (a name mismatch, not a no-show).
  • Anything else still ungraded 48 hours after kickoff (a result the feeds never post, a suspended match), or 7 days if a feed is down.
Not postable at all: quarter-goal lines (±0.25, ±0.75, 2.25…), 2nd-half lines and 1st-half player props.

Live pick tracker

Once a game starts, the pick card stops showing the lock countdown and starts showing where the pick stands: the score, the clock and a line in plain words, with a gauge that fills toward the number. It is edited in place, so the card members opened is the one that moves. At the final, grading takes over exactly as before.

Chiefs −6.5
−110 · 2u to win 1.82u · DraftKings
Live · IND 14 – KC 24 · Q3 4:12 · covering by 3.5
+3.5 vs the number
  • Spreads — “covering by 3.5” / “needs 4 more” / “on the number”, with a two-sided LED bar that lights green to the right when you are covering and red to the left when you are not (level: one amber light in the middle).
  • Moneylines — “leading by 10” / “trailing by 3” / “tied”.
  • Totals and team totals — “38 pts · Over needs 10 more” with a bar that fills toward the number (), coloured by pace: green when the count is where it should be by now, amber when it’s close or too early to tell, red when it’s behind; Won Over hit the moment the score passes it (that cannot reverse). Unders read “Under has 9.5 to spare” and turn Lost only if the number is passed.
  • Player props — from the live box score: “Judge 1 TB · needs 1 more”, Won when the line is cleared.
  • Soccer — home team first with the minute (“Arsenal 1 – 1 Chelsea · 2H 67'”), on 90-minute rules: a team bet that is level reads “a draw loses this bet”, draw no bet “pushes on a draw”, double chance stays green while the result is one of its two, BTTS reads “needs Chelsea to score”. A 1st-half bet says so after half-time, and extra time reads “settles on the 90-minute score”. Player props show the player’s live count when the match’s live stats are in.
  • Parlays — one line per leg: Won hit, covering or on pace, level (or pushed), behind, not started, Lost lost.
  • How often — the tracker checks every minute and edits a card only when something changed, never more than once every 45 seconds per message (Discord’s edit budget). Scores come from the same feed as your alerts (about 30 seconds behind the broadcast).
  • Honest by design — a trailing pick shows trailing. The record is honest; the card should be too, and the comeback lands harder when the room watched it.
  • Off switch — Profile & branding → Live pick tracker. Off, cards go quiet from kickoff to the final. The Ledger shows the same live line on pending rows, and your public page says “N plays live right now”.

Your record & SDIQ Verified

/record — the card members see

Grading runs whether or not anyone sees it. The Public record toggle in Profile & branding → Record decides what members see.

Private (default)

  • Picks post as normal; no results on them, no /record, no weekly post.
  • Your Ledger shows everything: units, W-L-P, ROI, CLV, streak — for 7 days, 30 days or this season.

Public

  • Each pick's card updates with Won WON / Lost LOST / ➖ PUSH and the closing line, and gets the matching reaction.
  • /record shows the record card in Discord (anyone can run it; other cappers' records by handle if they're public).
  • A record card posts to your free channel every Monday (switch it off in Record settings).
  • SDIQ Verified — the card states that every pick was graded automatically; if you overrode any, it says how many (“3 of 84 self-graded”). Facts only, no judgement.
  • Record starts — set a start date once; picks before it stay out of the public numbers. Everything else is all-or-nothing: no per-pick exclusions.
SwitchingTurning Public on back-fills from your start date. Turning it off hides results immediately; nothing is deleted, so you can turn it back on later with full history.

Sharing it

  • Share image — every posted pick in the Ledger has a Share image button: a 1200×675 PNG with your name, the play, the result, closing line and CLV, marked Graded by SportDataIQ. Sized for X and Instagram. Images expire from our side after 7 days — save the file.
  • Monday recap — the weekly record post carries a recap image (record, units, ROI, CLV, best play) so it can be screenshotted or reposted as is.
  • Streak milestones — with a public record, “🔥 DeepSix is 5-0 in their last 5” posts to the free channel at 3, 5, 7, 10, 15 and 20 straight wins, once per milestone per streak. Members can ask any time with /streak. Switch it off in Record settings.
  • Export — Analytics has Export picks CSV (every pick with result, closing line, CLV, tails) and Export clicks CSV for the window you’re looking at.
Share image — one tap from the Ledger
The Monday recap image

Picks Analytics

Analytics is the manager-only view of the record. Pick a window (7 days, 30 days, this season) and you get:

  • Tiles — units (with private $ when a unit size is set in Profile), record, ROI, win %, average CLV, how often you beat the close, current streak, posts in the window.
  • Equity curve — cumulative units by graded day, one bar per day.
  • Breakdowns — by league, market, feed (Free / VIP) and sportsbook, each with record, units risked and ROI.
  • Best and worst — the five biggest winners and losers by net units.
  • The business row — people the bot sent to your join link (from pick cards, teasers and /record), bet-button clicks (sportsbook tail links included), offer clicks and sponsor clicks. These come from signed tracking links that only count for this server.
PrivateNothing on this page is visible to members, whatever the public-record setting. The record card and /record show only the public numbers.
Analytics
Ledger — the public side of the same numbers

Tail / Fade

Every pick card carries two buttons while the pick is open: 👍 Tail and 👎 Fade. A member taps one, the count on the card updates, and their private reply confirms it. Tapping the same side again removes it; the other side switches. Buttons lock at kickoff (or at grading for picks without a game) and the counts stay on the card as a footer line.

  • What members get — /mytails: their own record tailing and fading your picks, 1u flat per pick — tails at the posted odds, fades at the other side’s price as it was when you posted (−110 assumed for parlays and “other” picks, and the card says how many) — how often their tails beat the close, and their recent taps. Private to them.
  • What you get — counts on each card and in the Ledger, and an Engagement row in Analytics: total tails and fades, taps per post, how many picks got a tap, and the aggregate tail record. Never who tailed — that stays with the member.
  • Turning it off — Profile & branding → Record. Existing counts stay on old cards; new cards post without the buttons.
  • Result DMs — when a pick is graded, everyone who tailed or faded it gets a DM: “Your tail cashed — Chiefs −6.5 · −112 · +0.89u”, with the final score, priced the same way as /mytails (1u flat; fades at the other side’s price). On by default; a member turns it off from /mytails → DM results. Sent once per pick, after automatic or manual grading; nothing goes out when tail tracking is off.
  • Tailer leaderboard — /tailers ranks members by units on your picks (last 30 days or this season) and a “best tailer of the month” posts to your free channel on the 1st. Members appear only after they opt in from /mytails; you can switch the whole thing off in Record settings.
Why counts onlyCards show counts, never names — a visible tail list becomes a reason to chase the room. The leaderboard is the one place names appear, and only for members who opted in themselves; everyone else keeps their record private in /mytails.
Tail · Fade, then the links
The result DM at the final

🛒 Shop the line

Every open pick carries a 🛒 Shop the line button beside Tail / Fade. A member taps it and gets a private reply (only they see it): the price for that exact pick at every regulated US sportsbook right now, best first, the book you posted at marked, and what the best price is worth in dollars — “+148 at Fanatics pays $148.00 on $100 — $57.09 more than the posted −110”. Up to five buttons open the bet at a book.

  • Exact line only — a book quoting a different number (Over 8 when you posted Over 7.5) is left out, never shown as the same bet. If the market has moved past the price you posted, the reply says so.
  • Parlays — each book’s price for the whole slip, only from books that carry every leg. Same-game legs are priced at the book’s own same-game quote, never by multiplying single prices.
  • Pre-game only — it closes at kickoff (for a parlay, the first leg’s), and once the pick is graded or retracted. Live prices never sit beside a pregame pick.
  • VIP stays VIP — on a VIP pick only members who can see your VIP channel get the prices. Never on teasers.
  • Links — DraftKings, FanDuel and BetMGM open with the bet on the slip (log in first); the other books show their price without a button when the book doesn’t publish a link. Clicks count as shop clicks in Analytics.
  • Regulated US books only — no offshore books, exchanges or DFS. Prices are market data, not betting advice; 21+.
// Your brand & business

Profile & branding

  • Banner — 1200×400, PNG/JPG/WebP up to 2 MB, on top of every pick. Until you upload one we generate a banner from your name, colour, logo and tagline. Swap it any time for a promo or sponsor; a separate VIP banner is optional.
  • Logo — square; it goes into the generated banner (a custom banner replaces it).
  • Accent colour — the embed's side stripe.
  • Handle — unique across SportDataIQ, used by /record <handle> and a future public page.
  • Time zone — game times on picks and scheduling. Defaults to the server time zone.
  • Odds format — American, decimal or fractional, applied to everything we render for your server.
  • Unit size ($) — private. Only your own analytics use it.

Your public page

Every Premium capper gets a page at sportdataiq.com/c/yourhandle (and /@yourhandle): your logo, banner and colour, the SDIQ Verified record with live numbers, the last eight graded picks, how many plays are open right now, your reasons to join, and the join button. It is the link for your X bio, your Instagram, your DubClub description — the thing a prospect checks before they pay.

  • Set up in five minutes — Premium → Public page. Write a headline (6–10 words: who you are), keep the tagline, add three reasons (Use examples gives you a start), paste your Discord invite and socials, pick a theme. The preview on the right is the real page, updating as you type — switch it between phone and desktop.
  • Publish — needs a handle (Profile & branding). Publish makes it live; Unpublish makes the address return not found. Everything else saves without changing that.
  • The record on the page follows your Public record switch exactly like /record: private record → no numbers, just the pitch. The numbers are pulled live from your graded picks; nothing on the page is typed in by hand, which is the point of showing it.
  • Buttons and clicks — the join button, price line and pitch line are set right here under How to join (they are the same ones on your Discord cards); the Discord button is the invite you paste next to them. Both are tracked and count under Sent to your join link in Analytics, so you can see what the page brings.
  • Themes and colours — Noir (black), Paper (light, editorial) and Neon (your colour everywhere), plus two page colours: Accent (buttons, badge, logo ring) and Glow (the hero wash and the closing card). Both default to your brand colour; change them here without touching your Discord cards. Logo and banner come from Profile & branding.
  • Sharing — the link unfurls on X, Discord and iMessage with a generated card: your name, tagline and the four headline numbers (from 11 graded picks; before that it shows your progress). It regenerates when the record changes.
  • Record widget — Public page → Record widget gives you a live badge or a full record card for your own website, email signature or forum profile: dark, light or your colour, with copy-paste code for WordPress, Wix, Squarespace, Carrd and Gmail. All-time record, graded automatically, updated after every graded pick; a click opens this page. Views, clicks and joins from it show in Analytics.
  • Search — published pages are in our sitemap with your name, handle and record in the page title and description, a canonical URL and schema.org ProfilePage / Person markup (leagues, socials, recent picks). A page with a real record and an About paragraph ranks for your name within days.
  • AI assistants — ChatGPT, Perplexity, Claude and Google AI are allowed to read the page. Each page carries a one-sentence record summary they can quote (“X is 61-42 for +18.4 units…”), a plain-text twin at /c/yourhandle/llms.txt, and a listing in the site’s llms.txt. Nothing to set up — it is on from the moment you publish.
  • Make it rank — set your Leagues in Profile & branding (the summary then says “NFL, NBA picks” instead of “sports picks”), write the About paragraph in your own words, and put the link in every bio — inbound links from your X and Instagram are what move a name query.
What it never showsOpen picks (only the count), members’ names, your private $ unit size, or anything from a private record. Offers appear only if you turn them on.

The cappers board

sportdataiq.com/leaderboard ranks verified cappers by ROI — units, win rate, closing-line value and a sparkline on every row — with league boards for NFL, NBA, MLB, NHL, college football, WNBA and soccer (one board for every competition), rebuilt every 10 minutes. It is written for bettors looking for someone to follow: every row links to the capper’s page and join button, and the visitors it sends are counted in Analytics.

Getting listed

Listing is on by default and switches itself on the moment every check is green. The checklist lives in Public page → Cappers board:

  • Premium on · public page published · record public (units, ROI and CLV all shown — hide one and you are off the board).
  • SDIQ Verified — nothing self-graded. A manual grade removes the badge and the listing until the record is clean again.
  • 10 graded picks and 5 with a closing line; a graded pick in the last 30 days; no record reset in the last 30 days.
  • League boards need 10 graded picks in that league. Under the line you show in Rising — same grading, unranked, still linked.

What you get

  • A #N on the board chip on your public page and a rank line on your /record card.
  • Your row on the main board and every league board you qualify for, each with structured data, an OG image and a plain-text twin — inbound links to your page from pages built to rank.
  • /cappers in any server the bot is in shows the top five with links; This week’s movers highlights who climbed.
  • Opt out any time with the toggle. Your page and record are unaffected.
Why ROI, and why so strictBettors are choosing between you and a screenshot. The board only works as a reason to follow you if nobody on it can hide a number — so it ranks the honest metric, shows CLV next to it, and delists on the first self-grade. That strictness is the sales pitch.
sportdataiq.com/leaderboard
Public page → Cappers board

Join on DubClub

On Picks → Public page → How to join, paste your DubClub store URL (e.g. https://dubclub.win/YourName/). We validate it's a DubClub link, show it as @YourName on DubClub, and put a Join on DubClub button under every pick, teaser and record embed. Whop, Telegram and plain websites work the same way.

  • Button label — change the wording if you like.
  • Price line and pitch line — one short line each, shown under the button on teasers.
  • VIP teaser — when a VIP pick posts, the free channel gets “🔒 VIP play posted · Join on DubClub” with the matchup and kickoff. Turn it off, or override the text.

Offers (affiliates)

On a Premium server DataStreak’s Free Cash is gone; Offers puts your own promo codes and affiliate links in its place. You keep whatever the affiliate program pays — we take nothing and never touch the money.

Adding an offer

  1. Brand, the affiliate link (https, no shorteners — your parameters pass through untouched), an optional promo code, and one offer line (“Bet $5, get $150 in bonus bets”).
  2. Pick the sportsbook the offer belongs to. Any pick you post at that book carries a “Code X at Book” button automatically.
  3. Choose the feed (Free, VIP or both), optional regions (display only) and an end date. The switch on each row hides an offer without deleting it; move it up or down from its ⋯ menu.

Where members see them

  • /sportdataiq — an entry named by you (“Dante’s Deals”) appears once you have at least one offer.
  • /offers — a private reply for any member. Managers get Post to channel to drop the public card in a channel (pin it).
  • Pick cards — the matching-book button next to Join.

Every link is a tracked redirect signed for this server: clicks are counted per offer (30 days on the Offers page, the window you choose in Analytics), links stop working if Premium lapses, and nothing is shared with any other server. The compliance line in the footer is required and editable; up to 15 offers.

Offers page
/offers in Discord
The matching-book button on a pick
// Your members' tools

The Premium panel (/sportdataiq)

On a Premium server /sportdataiq no longer opens the generic menu — it opens your panel. It is private to whoever ran it (“Only you can see this”), it edits in place as they move around, and every screen has a Home button back to it.

  • Home — your logo, name and accent colour; your verified record (only if Public record is on); how many picks are open, which are live and the next kickoff; the member’s own tails; what’s live in the server; and the sponsor slot.
  • Picks — the open picks with 👍 Tail / 👎 Fade on each (disabled once a game starts). My tails and Tailers are the same screens as the slash commands. Record switches between 7 days, 30 days and this season.
  • Parlays — the member’s tracked parlays (see Tracked parlays below): what’s live, a leg-by-leg standing, and New parlay to build one. The home screen shows their count and a “2 live · 1 leg hit so far” line while games are on.
  • Odds · Props · Hit rates · Futures — the market tools, opened straight from the panel. Props and 🎯 Hit rates ask for a league and a player in a small form (several matches show a “Did you mean…” list); Odds and Futures open on the league most likely to have a board today and let you switch.
  • Live — links to this server’s open game threads (scoring plays, prop trackers) and Pick’em threads.
  • Compose a pick and Site (your dashboard) — shown only to the server owner, Manage Server, and the picks role. Regular members never see them; they get Guide and your join link instead. Cancel brings you back to the panel.
  • Buttons sit in short rows with short labels so the grid stays a grid on a phone: your feed (Picks · Record · Tailers), the member’s own stuff (My tails · Parlays · Live), the tools (Odds · Props · Hit rates · Futures), then the links.
  • Sponsor slot — when a sponsor campaign is running it’s credited on the home screen; when it isn’t, only you (not members) see a reminder that the space is for sale in Premium → Sponsor slot.
  • The free bot’s screens (Scores, Recaps, Standings, Leaderboards, Transactions, Edges of the Day) sit in the dropdown at the bottom — no partner offers on a Premium server.
/sportdataiq — the Premium panel (home)
Record — in place, with 7d / 30d / season / all-time
Props — the modal asks for a player, the board opens in place

Tracked parlays (live in DMs)

A member builds a slip with /parlay (or from Parlays → New parlay in the panel), taps 📌 Track, optionally types a stake in units, and the bot sends them a tracker card in their DMs. From then on the card edits itself once a minute while the games are on — the same idea as the Pick’em line tracker, one gauge per leg:

  • Spreads and moneylines — a track with the number in the middle and a dot showing how far the team is ahead of or behind it (“covering by 6.5”, “needs 3 more”).
  • Totals and player props — a bar that fills toward the line (“187 of 249.5”). An Over grows toward it; an Under is hoping it stays short (“9.5 to spare”), and shows busted the moment it can’t.
  • Under the card, short replies land only on events: the first game goes live, a leg hits, a leg busts, and the final result — so the DM reads like a thread, card on top and the timeline beneath, with no clock spam.
  • Grading is the same engine as your picks: game lines from the final score, props from the official box score. Any lost leg loses the slip immediately; a pushed or void leg drops out and the rest pays at reduced odds, exactly like a book.
  • Limits — three tracked parlays per member at a time, across all servers; settled ones move to a private history (last 10). Legs on games that already finished can’t be tracked.
  • Your parlay picks — when a member tails one of your parlay pick cards, the confirmation offers 📌 Track in DMs, so they can tail it and watch it live at your posted price. Same three-slot limit.
  • Managing — Parlays on the panel home (or /tracked) lists what’s tracked with a one-line standing per leg; View shows the full card with Open DM and Stop tracking (asks once); History shows the settled ones with the running record. The DM card has its own Stop tracking button.
  • Bet buttons — until the first game starts, the DM card carries up to three sportsbook buttons for books that carry every leg.
  • If the member’s DMs are closed for the server, the panel says so and how to fix it (Allow direct messages from server members); nothing is lost — they track it again once DMs are open.
LoadTracking is cheap on purpose: a slip is only checked once its first game has started and never after it settles, every game is read once per minute no matter how many members track it, and a DM is only edited when something on the card changed.

⚡ Slate & 🏆 Survivor

Two free-to-play games that live in your server. No odds, no units, nothing to buy — they exist to give the room a reason to show up on a Tuesday. Both are on the panel (⚡ Slate and 🏈 Survivor) and both work as their own commands. Opened from the panel they carry a 🏠 Home button back to it and show three games a page.

⚡ Slate — pick the winners of the day

/slate opens a private card: every game on a league’s day, two buttons each, four games to a page. Tap a winner in each, hit Submit, and each pick locks at its own kickoff. One point per correct winner — no spreads, no odds, nothing to work out. The board runs for the slate, the last 7 days, the last 30 days and all time. NFL runs by week: Thursday night, Sunday and Monday night on one card, headed by day.

🏆 Survivor — one NFL team a week

/survivor is the season-long pool: back one team a week, never the same team twice, two strikes and the entry is out. A loss is a strike, so is a tie, so is a week you forgot. Everyone gets two entries, each with its own used teams and strikes. Weeks settle themselves, and nobody sees your live pick before kickoff.

Survivor picks go public at kickoff — hidden while they can still change, on the board the moment the game starts. Each closed week gets a write-up under the board (who went out, what the room backed, how many are left), and the last entry standing is crowned and the pool closed, after which a manager can start a new pool with all 32 teams back in play.

Anyone with Manage Server gets a Post button on either card: a public card in the channel with a join button, edited in place as the scores come in — the slate shows the leaders, the survivor board shows who is alive, who has strikes and who went out.

/slate — one tap per game, a page at a time
/survivor — one team a week, never the same team twice
TipA postponed game is never scored: the slate leaves it out and a survivor pick on it waits for the make-up game instead of costing a strike.

/props, /odds, /parlay

Three slash commands any member can run in any channel of a Premium server. Replies are private to the person who ran them (“Only you can see this”), so a picks channel stays clean. Prices come from the major sportsbooks only (FanDuel, DraftKings, BetMGM, Fanatics, Hard Rock, theScore Bet) — offshore books, exchanges, sweepstakes sites and DFS apps are filtered out. Boards close once a game starts.

/odds <league>

Every game on the slate at the market’s main line — both sides of the spread and total at the same number, never one side’s alternate — with the consensus price on each side. A price in brackets is the best available when a book beats the consensus by a real margin, with the book carrying it. Buttons switch league or refresh the board.

/props <league> <player>

Type a name — autocomplete searches the live rosters. You get every market the books post for that player’s next game (points, rebounds, hits, strikeouts, passing yards, anytime TD…), each with the best price and how the line compares across books. Football looks a full week ahead; other leagues today and tomorrow. If nothing comes back, the books simply haven’t posted lines for that game yet (MLB props usually land late morning).

/parlay

Opens a private slip. + Player adds a prop (search, then pick the line); + Game lines adds a spread, total or moneyline from any game. Legs from one game are priced as a real same-game parlay by each book; legs across games as a straight parlay. Price it shows every book’s payout for the slip, best first, with up to three sportsbook buttons for books that carry every leg. It works for a single leg too — one prop or line gets every book’s price and buttons for the three best. 📣 Post shares the priced slip in the channel — with the book buttons, so anyone can tail it; use Discord’s Forward to send it anywhere else. Up to 10 legs; the slip is kept for 30 minutes and survives bot restarts.

/odds — consensus line, best price, book
/props — every market, every book
/parlay — same-game legs priced by the book
TipMembers don’t need any role. If a command is missing from the slash menu, the server owner can re-invite the bot (commands register per server) — see Troubleshooting.

/hitrate — player hit rates

A player’s record against the line: in how many recent games they went over that game’s own line, per stat, with the current streak, the average against the line and — when they play soon — how they’d have done at tonight’s number. Any member can run it in any channel of a Premium server; the reply is private (“Only you can see this”).

/hitrate <league> <player> [stat] [flavor]

  • league — NFL, College Football, NBA, WNBA, NHL or MLB. player — start typing and pick from the suggestions (the same search as /props and /follow); a typed name without picking takes the best match.
  • stat (optional) — any market for the league; the player’s own markets come first. Left empty, the card opens on their busiest one.
  • flavor (optional) — Books (default: each game’s sportsbook line) or PrizePicks Standard, Goblin and Demon lines, which are graded for MLB, WNBA and college football. Anywhere else the card shows the books and says so.

What the card shows

  • Overview — the player’s markets, most active first, each with a bar, the over count, the current streak (🔥 overs, 🧊 unders) and the average vs the line.
  • The chosen stat — over in x of the last n for L5, L10, L20 and L50, always as a count (“7 of last 10”, or “1 of 2” early in a season), never a bare percentage. A window appears only once the player has enough graded games for it. Yes/no markets (anytime TD, home run, double-double…) read “Hit in x of n”.
  • At tonight’s line — when the player has a game coming up, the main line the books post for that stat, and their own recent box scores re-graded at that number. A ⚠️ note appears when the line their history was graded against is far from tonight’s.
  • Last season — before a league’s opener the card says plainly that the rates are from last season. A player with no graded history yet gets a short note, not an error.

Buttons

  • Switch stat, the L5 · L10 · L20 · L50 windows and the Books · Standard · Goblin · Demon toggle (a flavor we already know is empty for that player is greyed out).
  • 📣 Share posts the card publicly in the channel with an Open my own button, so anyone can run it for themselves. It needs Send Messages there; one share per 30 seconds.
  • 📊 Lines at every book opens the player’s /props board; 📜 Last 10 games shows their recent games (pro leagues; college cards skip both).
  • Only the member who opened a card can change it; anyone else who taps gets a private pointer to /hitrate.
  • 🪜 Alt-line ladder opens the ladder for the stat in focus (below).
  • From the Premium panel: 🎯 Hit rates opens a small form (league + name) — one clear match opens the card in the panel, several show a “Did you mean…” list.

🪜 Alt-line ladder

The card grades one line; the ladder grades them all. It lists every line the sportsbooks post for the stat tonight — Over 0.5, 1.5, 2.5, 3.5 shots and so on — with the player’s record at that exact number, the best price for it and the probability that price implies (vig included), so “8 of 10 over 1.5 at −240” sits right above “6 of 10 over 2.5 at +115”.

  • ▸ marks the main line. ◆ marks the line whose record sits furthest above its price’s implied probability — at least 5 points, on 5 or more games — with an Open button for the book with that price. When nothing clears that bar the ladder says so rather than picking a line.
  • Overs · Unders switch sides (Unders appear only where books post them) and L5 · L10 · L20 switch the record window; ↩️ Back to card returns to the hit-rate card with the same window.
  • 🔔 Price alert sets a price alert on the line, pre-filled from the ladder.
  • Pregame only, over/under stats only (a yes/no market has one line). A book that has stopped updating is never shown as the best price. The ladder costs no extra lookup — it’s built from what the card already loaded.
LimitsCards are cached, so a player someone already looked up today loads instantly. To keep the data flowing for everyone there is a per-minute limit per member and per server, and a daily allowance shared across servers — if a server uses its share, cards already looked up today keep working and new ones reopen after 00:00 UTC. The bot says so in plain words when it happens.
Not adviceHit rates are graded by PropLine against each game’s reference line: history, not a prediction, and not betting advice. 21+ where legal.

Price alerts — /pricealerts

A member names a player prop or a game line and the price they want — Leo Carlsson Over 1.5 shots at −220 or better, Pistons −3.5 at −105 or better — and the bot DMs them once when one of the regulated sportsbooks we track posts it, before the game. Any member of a Premium server can set them; each member manages their own.

Setting one

  • Open a player with /hitrate, tap 🪜 Alt-line ladder, then 🔔 Price alert. A short form opens filled in: side, line, and a target one step better than the current best price. Change any of it — an alt line not posted yet works too — and submit.
  • A game line — a spread, total or moneyline: /pricealerts → 🎯 Game line (or 🎯 Price alert under /odds), then the league, the game and the bet, each shown with its main line and best price now. A better number counts too (−3 covers a −3.5 alert, never −4; an Over fires at a lower total, an Under at a higher one); a moneyline is price only.
  • Prices are American odds (-220, +150, even). “Or better” means a bigger payout: −210 beats −220, +160 beats +150.
  • If a book is already at that price, the bot says so with a button to the book instead of setting an alert. An Under on a line books only post as “2+” is refused, since it could never fire.

What the member gets

  • A hit — one DM with the price, the book, their target and what it was when they set it, and a button that opens the book.
  • The game starts first — the alert closes with one DM showing the best price we saw. Alerts are pregame only.
  • Prices are checked every couple of minutes (every 15 for games more than 6 hours away). An alert only fires on fresh prices from books that are updating — never a stale book, never a combo bet that carries the same number.

/pricealerts

A member’s running alerts — soonest game first, with the current best price — and the last few that closed, each running one with a Cancel button. The DM’s 🔔 My price alerts button opens the same list. Up to 10 running per member (props and game lines together) and 300 per server; setting the same bet again just changes the target. If the server’s Premium ends, running alerts stop quietly.

Not advicePrices move — members should always check the slip before betting. Market data from PropLine, not betting advice. 21+ where legal.

/ftd — best First TD price

Find the best First Touchdown Scorer price across the sportsbooks in one command. /ftd lists a player’s First TD odds at every book, each with the book’s logo, best first, shows how much the best sportsbook price pays over the rest of the market, and opens that book in one tap. Any member can run it in any channel of a Premium server. The card posts publicly in the channel, so you need permission to send messages there; if something goes wrong, only you see the error.

/ftd — the best First TD price across the books

/ftd <player> [league]

  • player — start typing and pick from the suggestions; a typed name without picking takes the best match.
  • league (optional) — NFL (default) or College Football.

What the card shows

  • The player — 🏈 First Touchdown, then their name, position and age (when ESPN lists it), with their headshot, team logo and team name.
  • The game — the matchup and kickoff, shown in your own time zone, with a countdown.
  • Top Book Edge — how much the best regulated-sportsbook price pays over the sportsbooks’ median price. It needs at least 3 sportsbooks, and it’s conservative: the median still includes each book’s margin (the vig).
  • The odds list — every book’s First TD price for that player, best first. ⭐ marks the best sportsbook price, and a book’s name links to the book when we have a verified link for it.
  • For reference only — exchanges and prediction markets (Kalshi, Polymarket, Novig…), offshore books (Bovada…) and sweepstakes books (Fliff) are listed and tagged, but never set the edge or the ⭐. DFS pick’em apps aren’t listed.

Buttons

  • A button opens the best sportsbook for that price.
  • 🔄 Refresh Odds — anyone in the channel can tap it to re-price the card. After a refresh the prices are at most about 30 seconds old; each card refreshes at most once every 20 seconds, and a very busy server may get the last saved prices for a while.
  • At kickoff the First TD market closes: the card keeps its last prices, says the market has closed, and the refresh button turns off.
TipBooks usually post First TD odds a few days before the game. “No First TD odds posted yet” means exactly that — try again closer to kickoff.
Not advicePrices come from PropLine. Market data, not betting advice. 21+ where legal.

/fbnba, /fbwnba — best First Basket price

The basketball version of /ftd: find the best value on First Basket across the sportsbooks in one command. /fbnba (NBA) and /fbwnba (WNBA) list a player’s First Basket odds at every book, each with the book’s logo, best first, show how much the best sportsbook price pays over the rest of the market, and open that book in one tap. Any member can run them in any channel of a Premium server. The card posts publicly in the channel, so you need permission to send messages there; if something goes wrong, only you see the error.

/fbwnba — the best First Basket price across the books

/fbnba <player> · /fbwnba <player>

  • player — start typing and pick from the suggestions; a typed name without picking takes the best match. The command picks the league: /fbnba for the NBA, /fbwnba for the WNBA.

Two ways books settle First Basket

Books don’t all settle this bet the same way, so the card keeps the two apart and never compares prices across them:

  • First Basket (the main list) — the first points of the game; free throws count. Today that’s DraftKings, FanDuel and Hard Rock. ⭐, the best-book button and Top Book Edge come from this list only.
  • First field goal (its own section, “free throws don’t count”) — books that settle on the first made shot. Today that’s Fanatics. Listed on its own, never compared with the main list.

What the card shows

  • The player — 🏀 First Basket, then their name, position and age, with their headshot, team logo and team name.
  • The game — the matchup and tip-off, shown in your own time zone, with a countdown.
  • Top Book Edge — how much the best regulated-sportsbook First Basket price pays over the sportsbooks’ median price. It needs at least 3 sportsbooks, and it’s conservative: the median still includes each book’s margin (the vig).
  • The odds list — every book’s First Basket price for that player, best first, each with the book’s logo. ⭐ marks the best sportsbook price.

Buttons

  • A button opens the best sportsbook for that price.
  • 🔄 Refresh Odds — anyone in the channel can tap it to re-price the card. After a refresh the prices are at most about 30 seconds old; each card refreshes at most once every 20 seconds.
  • At tip-off the First Basket market closes: the card keeps its last prices, says the market has closed, and the refresh button turns off.
TipBooks usually post First Basket odds on game day. “No First Basket odds posted yet” means exactly that — try again later in the day.
Not advicePrices come from PropLine. Market data, not betting advice. 21+ where legal.

Premium alert rules

Unlimited alerts. A free server can have up to 2 alert rules (switched-off ones count). With Premium there is no cap: add as many rules as the server wants in Alerts. A server that had more than 2 before the cap keeps its 2 oldest switched-on rules posting; the rest wait, paused, and switch back on by themselves when Premium turns on.

In New alert rule, pick one of the six under ✦ Premium alerts at the bottom of the League dropdown — its description shows under it, and a Which league box asks where it applies — every league the books price for Steam and Arb (an out-of-season league just stays quiet until its lines return), MLB or NHL for Grand Salami, NFL, college football, MLB, NBA or WNBA for Win Probability, and none for +EV of the Day or News because they cover every league (News can be narrowed to the leagues you tick). One rule per league. They are market signals, not picks, and the market ones carry the disclaimer footer.

  • ✦ Steam alerts (per league) — posts when several sportsbooks move a line the same way before a game: at least four books, half the market or more, with the books that moved, how far, and a plain-language line on what following or fading it means. Checked every 15 minutes; each move posts once.
  • ✦ Arb alerts (per league) — when the best prices on both sides of a main-line moneyline or total at real sportsbooks add up to a guaranteed margin (capped at 8% to filter stale prices). Both sides, both books, the margin.
  • ✦ +EV of the Day (all leagues) — once a day at the hour you choose (server time zone): the day’s largest gaps between a book’s price and the fair line, per book. The fair line is Pinnacle’s no-vig price; a line Pinnacle doesn’t price is skipped.
  • ✦ Grand Salami (MLB, NHL) — one bet on the total runs (or goals) across every game of the day. The morning post lists each game with its O/U and adds them up into the day’s number; a Final reply under it shows the runs scored and whether the day went OVER or UNDER. The morning numbers are stored, so the final always grades against what was posted.
  • ✦ Win Probability (NFL, college football, MLB, NBA, WNBA) — live: posts the moment a team’s win chance crosses the line you pick — “📉 Bills’ win chance just dropped below 25% · now 22% (was 31%)” with the score and clock. Choose drops below, rises above or crosses and a line from 10% to 90%; Filters narrow it to your teams. Each team posts once per game for that line and direction, so a team hovering on it never floods the channel. Checked on every play while the game is live, and it only counts once the chance is clearly past the line (1.5 points), so a flicker either side never posts; preseason games included. Each alert carries the live moneyline: the best in-play price for each team at the regulated US books that have priced it in the last 90 seconds, buttons to those books, and the model next to the market — “ESPN gives the Saints 28% · the market has them at 28% (7 books, margin removed)”, the market being the median across those books. A book lagging the play is left out; when no book has a fresh price the alert posts without odds. ESPN’s live model — an estimate, not a prediction or betting advice. No NHL (ESPN has no live win probability for hockey).
  • ✦ News (every league, or the ones you tick) — posts every SportDataIQ news story as it goes out — the headline, one sentence on what happened, the cover slide and a button to the full story on Instagram. Give it a #news channel; tick leagues to narrow it, or leave them all unticked for every story (soccer, CFL and other sports included). Each story posts once per channel.
✦ News alert
Grand Salami — the final reply
Steam alert

Like every rule they take a channel, optional role ping and the server’s quiet hours. Send test posts a sample so you can see the format before it goes live.

New alert rule — the ✦ markets

Getting DMs from the bot

Tail results, tracked parlays, /follow alerts and your own grading reminders all arrive as DMs from the bot. Discord blocks them for anyone who has Direct Messages turned off for your server — nothing errors on their side, the DMs just never come.

  • 📩 Connect DMs — on the /sportdataiq panel (DMs, red Fix DMs when a DM to them failed lately), or run /dms. The bot sends a test DM: “… can reach you here” means they’re set; if Discord refuses it, they get the exact switch to flip and a Try again button. One test per member every 30 seconds.
  • The switch — desktop: right-click the server name → Privacy Settings → Direct Messages on. Phone: tap the server name → Settings → Privacy (or Privacy Settings) → Direct Messages on.
  • Automatic nudge — when a result or tracked-parlay DM to a member fails, the bot remembers it for 30 days. The next time they tap Tail or Fade it shows them the 📩 Connect DMs prompt privately, at most once a week. Cappers get the same nudge when they open /pick.
  • For you — Analytics → Result DMs counts how many members who tailed in the last 30 days can’t get DMs (a count, never who), with a line to copy into your server.
What we can't seeThe bot only learns DMs are closed when one fails, so a member who has never been sent a DM shows as fine until then. 📩 Connect DMs is the way to check for sure.

Lines, receipts & live threads

Premium also upgrades things members already use, without any setup:

  • Receipts on scoring alerts — a touchdown, home run or goal alert shows the closing price the books had on that scorer (“Anytime TD was +150 DK · +145 FD · best +165”), best book first.
  • Banner goal alerts — the Banner goal alert style (Server settings → Goal alert style): a banner in the scorer’s team colors with the player cut out and a score box. Free servers pick Scoreboard, Corner photo or Ticker.
  • Lines on scores — /scores, /game and the Game-Day Digest carry the consensus spread and total for pre-game matchups, plus starting pitchers, umpire and weather for baseball. The digest lists games under their start times; anything underway shows the score and inning or clock, and the ✦ line sits under each pre-game matchup.
  • Live threads — a prop tracker inside each live game thread follows the posted lines during the game, and second-half / third-period lines post at the break.
  • Pick’em projections — Pick’em threads show the market’s projected values next to the questions.
  • /follow result DMs — a member who follows a player gets their game line graded against the closing props in the DM.
A scoring alert
Pick'em thread (free)
// Reference

Command reference

Premium (registered on this server)

  • /record [handle] [range] — the record card: units, ROI, win %, avg CLV, streak; ranges 7d · 30d · this season. Private reply when the record is private.
  • /odds <league> — consensus and best price for tonight’s slate.
  • /props <league> <player> — a player’s lines at every book.
  • /hitrate <league> <player> [stat] [flavor] — how often a player went over each game’s line (L5 · L10 · L20 · L50), the streak and the record at tonight’s number, plus the 🪜 alt-line ladder; more.
  • /ladder <league> <player> <stat> [book] [rungs] — a player’s alt-line ladder: the main line and evenly stepping alt lines above it, each with its price, what $100 pays and how many of the last 10 games (and the last 5 meetings with the opponent) cleared it, then what comes back from $100 on every rung. Pregame, private reply; more.
  • /pricealerts — a member’s price alerts: one DM when a book hits their price on a player prop or a game line; props set from the ladder’s 🔔, game lines from 🎯 Game line here; view and cancel here; more.
  • /ftd <player> [league] — a player’s First Touchdown odds at every book, best first, with Top Book Edge and 🔄 Refresh Odds; NFL or College Football; posts in the channel; more.
  • /fbnba <player> · /fbwnba <player> — an NBA or WNBA player’s First Basket odds at every book, best first, with Top Book Edge and 🔄 Refresh Odds; first field goal prices listed separately; posts in the channel; more.
  • /parlay — the slip builder; 📌 Track on a priced slip saves it and watches it live in the member’s DMs.
  • /tracked — a member’s tracked parlays: live gauges per leg in their DMs, view, stop tracking, history. Up to three at a time. (Was /parlays.)
  • /pick (or /post) — cappers: build a pick or parlay slip in Discord (find a game or player → choose a line → ➕ Add to slip → units, feed → Post pick).
  • /cappers [league] — anyone, any server: the top five on the public board with links.
  • /mytails — a member’s own record tailing and fading your picks. Private to them; Show me on /tailers opts in to the leaderboard and DM results turns the result DMs on or off.
  • /tailers [range] — the tailer leaderboard: opted-in members ranked by units on your picks.
  • /units [set] — a member sets their own unit size once (/units set:25) and gets your open picks in their dollars: “1u = $25 · this card risks $75 to win $68”. Private, per server.
  • /streak — your current run in words, the last ten results and the month.
  • /premium setup — managers: create the profile from Discord (name, join link, channels).
  • /offers — your promo codes; managers get Post to channel.
  • /premium — status and a link to this page.

Free (every server)

  • /sportdataiq — the panel: scores, recaps, standings, leaderboards, transactions.
  • /scores [league] [day] · /game <league> <team> · /recaps · /standings <league> · /leaders <league> [category] · /transactions <league> · /futures <league> [market]
  • /follow player|team · /following · /unfollow — personal DM alerts.
  • /dms — anyone: checks the bot can DM them and shows the switch to flip if not (more).
  • /pickem <league> <game> (hosts) · /rank — Pick’em thread and leaderboard.
  • /edges — DataStreak's top 3 streaks, on request (works on Premium too, and the daily Edges of the Day alert rule can post and grade it in a channel). /freecash — partner offers; switched off on Premium servers.

Posting picks, branding, channels and the ledger live in this dashboard — there is no slash command for them on purpose: lines and odds autofill here, and the preview shows exactly what posts.

Data & privacy

  • What we store — your capper profile (name, handle, colours, channels, join link), uploaded banner and logo, every pick with its snapshot of line, odds, units, book and time, the graded result, closing line and CLV, and the Discord message ids of posted cards so they can be edited in place.
  • Scope — all of it is keyed to this server. Nothing is shared with, or visible from, another server, even one you also manage.
  • Payments — Stripe holds the card and the subscription; we store the subscription status and period end only.
  • Visibility — the public-record toggle controls whether results and the record card are visible to members. Server managers always see the ledger.
  • Leaving — if the bot is removed from the server, picks, profile, images and settings are deleted 30 days later. Cancelling Premium keeps everything; posting resumes when it is back on.
  • Odds data — lines and prices come from PropLine and are market data, not advice. 21+ where legal.

Troubleshooting

  • “The edit window has closed” — odds, units and the write-up are editable for 15 minutes after posting. Past that, retract the pick and post it again; the retracted row stays in the ledger as void.
  • The pick didn’t post — the ledger row says post failed: the bot can’t see or write in that channel. Give it View Channel, Send Messages, Embed Links and Attach Files, then retract and post again.
  • “Unverified odds” on a pick — the odds you typed were more than ~6% off the market price (or the line differed). The pick still posts and grades; the badge is only about how the odds were entered.
  • Still pending after the game — grading runs at the final and again every 15 minutes; a box score sometimes lands late. Refresh results on the ledger forces a pass. A game that never goes final can be marked void from the ledger.
  • No games in the compose slate — football shows the whole week; other leagues today and tomorrow. Live games are not listed once they start.
  • /props says no lines — the books have not posted that game’s props yet. Try again closer to game time.
  • /hitrate says “resting” or the server has used today’s lookups — the daily allowance for new lookups is used up; cards already looked up today still load, and new ones reopen after 00:00 UTC. “No graded history yet” just means PropLine hasn’t graded that player against a line.
  • A price alert hit but no DM arrived — the member’s DMs are closed to the bot (Discord → the server → Privacy Settings → Direct Messages on). /pricealerts still shows it under Recently closed.
  • /ftd says “No First TD odds posted yet” — the books haven’t posted a First Touchdown market for that player’s game; they usually do a few days before it. After kickoff the market is closed and the card keeps its last prices.
  • /fbnba or /fbwnba says “No First Basket odds posted yet” — the books haven’t posted a First Basket market for that player yet; they usually do on game day. After tip-off the market is closed and the card keeps its last prices.
  • A book is missing from the First Basket list but shows under “First field goal” — that book settles on the first made shot (free throws don’t count), a different bet, so its price is listed on its own and never compared with the main list.
  • A sportsbook button opened the game page, not a filled slip — log in to that book first (app or browser), and check you’re in a state where it operates. Some books only ever open the game page. No buttons on a parlay means no single book carries every leg.
  • Premium commands missing from the slash menu — they register per server when Premium switches on; Discord can take a minute. If they never appear, re-invite the bot from the dashboard and reload Discord (Ctrl/Cmd-R).
  • Banner looks stretched or blurry — upload 1200×400 (or larger at 3:1). The logo should be square, at least 256×256.
  • Premium turned off — the Premium tab shows why (lapsed, failed payment, cancelled). Nothing is deleted.

Links marked “dashboard” open your server once you sign in. Questions: the support Discord in the footer.