A trader who wins one league is a specialist
Sports skill is local. A trader who reads NFL injury news before the market does has no special view on a Tuesday night in the NHL. Someone who has watched every SEC game for a decade prices college football better than the NBA. Tennis traders live on a different clock altogether, with matches across every time zone and prices that turn on a single service break. The best Kalshi sports traders know where their edge is and mostly stay there.
That is why the table splits by league, and why a sports bot should too. When you copy a trader with the markets filter set to their best league, you take the bets that built their record and leave the ones they place for fun. Every Kalshi profile splits the record by sport, so before you build, open the trader and look at the line for the league you plan to copy: profit there, bets settled there, the price they usually pay there. If the league line is thin, the overall record is borrowing from somewhere else.
The same split protects you from a different mistake: copying a strong all-round trader into a league where they are merely busy. A trader with a big month on soccer and a flat month on the NBA is a soccer trader this month, and a soccer bot on them is the trade worth making.
Game day timing is the reason to automate
Sports markets on Kalshi follow the schedule, and the schedule is brutal for anyone with a job. NFL Sundays run from the early window into the night game, with the biggest bets landing in the hour before kickoff when inactives come out. College football Saturdays are wider still: dozens of games spread from noon to past midnight Eastern. NBA and NHL slates arrive most nights of the week, with tip-off and puck drop stacked in a two-hour window. Soccer finishes its European games before most of America has had breakfast.
The traders on the table do not wait for you to wake up. A bot does not need to. It watches the Kalshi feed around the clock, copies a followed trader within seconds of their fill, and logs every trade it took or skipped so you can read the whole Sunday on Monday morning. If you want it in the moment, the bot can message you about every trade in the app and on Telegram, or send one summary a day.
Game lines and player props need different bots
Kalshi sports markets come in a few shapes: moneylines on who wins, spreads on the margin, totals on combined points, and player props on a single player's line. They trade differently, and the setup that works on one rarely suits the other.
- Game lines draw the deepest books and the largest single bets. A signal bot on game lines can afford a higher bar for trade size, because the trades that move a moneyline are big ones. Copying a game-line trader is copying a read on the whole game.
- Player props are thinner and more numerous. A busy NBA night can carry hundreds of them, and a prop trader may place a dozen bets before tip-off. Props are where the over and the under of one line both get bought, and where a slate fills your account fastest. Both new settings on this page were built for exactly that.
Running them as separate bots lets each one keep its own bet size and caps. A trader bot keeps to a kind of market through its markets filter. A signal bot adds keywords matched against the market title and a list of specific markets, so you can aim it at the kind of line you trust.
One side only: no bot holding both sides of a game
Good sports traders change their minds. A trader who bought the over on a player's points at tip-off sees the first quarter, decides the line was wrong, and buys the under. On their account that is a hedge or a reversal. On a bot copying them, without a rule against it, it is a bot that now owns both sides of one market and is guaranteed to lose the fee and the spread on one of them.
The setting is called Both sides of a market, and on One side only the bot never holds both. While it holds one side, a buy of the other side is skipped and written to the copy log with the reason. It sits beside the other copy rules on a trader bot and beside the trade filters on a signal bot, and in sports it belongs on almost every bot you build. Leave it on Allow only when the trader you copy genuinely trades both sides on purpose and you want their whole book.
Max in open bets: a cap for a full slate
A per-day amount limits what a bot spends in a day. It does not limit what is sitting in open positions at the same time, and in sports that is the number that matters. A Saturday with fifty college football games, or a Sunday with a full NFL slate and props on every game, can put a whole day's budget on the table before the first game ends.
Max in open bets is a dollar cap on money in open positions for a live bot. Past it, the bot skips new buys until one of its bets sells or settles, then picks up again with the money that came back. On a busy slate that means it spreads your money across the afternoon instead of spending it all at noon, and when the early games settle the late games still get their share. Set it to a few times your bet size and the bot can never be more exposed than you planned, however many games are on.
Price bands for favorites and underdogs
The price a trader pays is the clearest fingerprint in sports. Favorites trade at 60 cents and up, and a trader who lives there wins most bets but needs to: at 75 cents you have to be right three times in four to break even. Underdog traders buy at 20 to 45 cents, lose more often than they win, and get paid for it when they hit. Both styles work. Mixing them in one bot makes its record hard to read.
Every Rivo sports bot takes a buy price range. On a trader bot it is the Buy price rule: set 55 to 85 cents to copy only a trader's favorites, or 20 to 45 to copy only their underdogs. On a signal bot it is the price band on the trade. Two bots on the same league, one per band, tell you within a few weeks which half of the market the large money there is actually right about.
Prices swing during the game
A Kalshi sports market is open while the game is played, and the price follows the score. An early touchdown can take a moneyline from 50 cents to 70 in one drive. A red card in the first half can settle a soccer total before halftime. In-game trades are some of the best bets on the board and some of the worst, because the trader who places them is reacting to something you are not watching.
The bot copies an in-game trade within seconds, at a price close to the trader's. When a trade is too old to copy at a sensible price, it skips it instead of chasing, and the copy log says so. If you would rather copy only pregame reads, use New positions only so the bot takes a trader's first bet on a game and leaves their adds as the score moves.
Settled at the final whistle
Sports is the fastest way for a bot to earn a record. A game settles once the result is final, so a bot built on Thursday has a weekend of graded bets by Monday. Paper bots are scored the same way: every paper position settles with the real game, and the bot's page shows its record, its return and its open bets as the slate plays out. With a trader bot, Rivo also replays copying the trader at your stake on games that already settled, so you start with a record instead of a guess.
When the paper record holds up, the same bot goes live through your Kalshi API key without being rebuilt. Paper results are not a promise of live results: fills on a thin prop can land a little above the trader's price, and a trader can lose their touch in the second half of a season.
Three sports bots worth building first
Copy the top NFL trader on game lines
Pick the NFL leader from the table, set the markets filter to NFL, New positions only, and One side only. Add Stop after with a bets-a-day count so a fifteen-game Sunday cannot turn into forty copies. It copies the reads that put the trader on top, once per game.
A Kalshi NBA bot on large underdog buys
Build a signal bot, choose Kalshi, tick Sports and then the NBA league chip, set the price band to 20 to 45 cents and a trade size floor you consider serious. Turn on Skip losing traders so the bot leaves out accounts that are down over the last 90 days. It buys when big money backs an underdog on an NBA night.
A college football Saturday bot with a cap on open money
Copy the best college football trader with Their bet size set to their larger bets only, then give the live bot a Max in open bets of four or five bets. Saturday has more games than any slate in sports. The cap makes sure the 8pm kickoffs still get money after the noon games tie it up.
Live on your own Kalshi account, inside your limits
A live sports bot places every order through your own Kalshi API key, encrypted at rest and wiped when you disconnect it. Your balance stays in your Kalshi account. Each live bot carries a per-trade amount, a per-day amount, a Stop if it loses limit that starts at half the per-day amount, and the optional cap on open bets. At the loss limit you choose whether it stops buying and keeps its positions or also sells what it bought. On a trader bot, Sell when the trader sells follows the trader out of a position. You can pause any live bot from its page at any time.
The bot is part of the Rivo subscription at $9 a week or $15 a month, with no charge per bot and no cut of your winnings. Run one bot per league or ten. Kalshi's own trading fees apply to every order and go to Kalshi. For bots outside sports, see the Kalshi trading bot, and for copying one trader across every market, the Kalshi copy trading bot. Every league's full monthly ranking is on the Kalshi sports leaderboard.
Frequently asked questions
What is a Kalshi sports trading bot?
A Kalshi sports trading bot places sports bets on your Kalshi account for you, by rules you set. In Rivo it either copies a named Kalshi trader inside one league, or buys after large trades in the league you pick, with your price band, your bet size and your daily caps. It runs on paper first and goes live through your own Kalshi API key.
Can I run a Kalshi NFL bot and a Kalshi NBA bot separately?
Yes, and it is the setup we recommend. Each bot carries its own markets filter, so one bot can copy only NFL trades and another only NBA trades, each with its own bet size, daily cap and loss limit. A bad week in one league then stops one bot and leaves the other running.
Who are the best Kalshi sports traders to copy?
The table on this page lists them by league: the four most profitable named Kalshi traders of the last 30 days in each busy league who carry an A or B copy grade, with their profit, settled bets and win rate in that league alone. It is rebuilt every hour from Rivo's record of their trades.
What happens when the trader I copy switches sides on a game?
With "Both sides of a market" set to "One side only", the bot never holds both sides of one market. While it holds the over on a player prop, a buy of the under is skipped, and the skip is logged with its reason. Set it to Allow and the bot buys whatever the trader buys.
How does a live bot handle a full slate of games?
Set "Max in open bets" on the live bot. It caps the money sitting in open positions at once. When a slate fills that amount, the bot skips new buys until one of its bets sells or settles, then picks up again. It works beside the per-trade amount, the per-day amount and the loss limit.
Does the bot copy trades placed during a game?
Yes. A trade made while the game is on is copied like any other, within seconds of it appearing in the Kalshi feed. A trade that has aged past the copy window is skipped rather than chased, because the price of a live game can move a long way in a minute.
Does Rivo hold my money?
No. A live bot places orders through your own Kalshi API key, stored encrypted and wiped when you disconnect it. Your balance stays in your Kalshi account and Rivo has no way to withdraw it.
Can I test a sports bot before it uses real money?
Yes. Every bot starts on paper, filling against real Kalshi trades as the games happen and scored when they settle. A trader bot also replays copying the trader on markets that already settled, so you see the record at your stake before the first paper bet.