What league settings actually do, what their real limits are, and how HexMetrics prices a player once it knows your format. Answers about other platforms cite their source.
League formats
A superflex league adds one flex seat that a quarterback may fill, so most teams start two quarterbacks every week.
The seat accepts a quarterback, running back, wide receiver or tight end, which is the only difference from an ordinary flex. The consequence is arithmetic rather than opinion: in a 12-team superflex league up to 24 quarterbacks start each week against 32 NFL starters, where a one-quarterback league of the same size starts 12. That is what moves quarterback value, not any particular ranking.
A 2QB league REQUIRES two quarterbacks in the starting lineup; a superflex league merely allows a second one in the flex.
The distinction matters in exactly one situation, and it is the one that decides drafts: when a manager has only one healthy quarterback. In superflex that seat can be filled by a running back or receiver, so a bye week or an injury costs points rather than forfeiting the slot. In 2QB it cannot be filled at all. Superflex is the softer version of the same idea.
TE premium adds a per-reception bonus that only tight ends receive, on top of whatever PPR the league already uses. A half-point bonus in a full-PPR league makes a tight end worth 1.5 points per catch.
It exists because tight end is the thinnest position in fantasy football: the gap between the best tight end and a replacement one is small in raw points, so the position is rarely worth an early pick under normal scoring. The bonus widens that gap deliberately. In Sleeper it is the bonus_rec_te scoring key and the amount is whatever the league sets, not a fixed figure. Because it is a scoring rule rather than a roster rule it stacks with superflex, so a league can be both.
A taxi squad is a set of extra roster slots in a dynasty league for stashing young players, and those players do not count against the roster limit.
On Sleeper a league can give between 0 and 10 taxi slots. Players cannot be added to taxi directly: a waiver or free agent pickup goes to the active roster or bench first and is moved to taxi afterwards. Eligibility is capped by years of experience, settable from 1 to 4 years or to no maximum, and a commissioner can set a deadline after which nobody new may be moved onto taxi. A player can always be moved OFF taxi during the season, but once the deadline passes he cannot go back.
No. Sleeper states that players on injured reserve and on the taxi squad are not counted against the position limit, and that taxi slots do not count against the roster limit either.
The two halves of that come from two different pages, which is worth knowing if you are checking it yourself: the positional-limits article covers IR and taxi together, while the roster limit is stated only in the taxi article. Sleeper separately tells teams that are over the limit they may move eligible players to IR and taxi, which is the same rule seen from the other side. The practical consequence is that a roster capacity worked out by adding every slot together overstates the active roster, and that is a common way for a trade or waiver tool to let a manager add a player they have no room for.
The maximum roster size in fantasy football is set by the platform rather than by the sport, and the published ceilings are far apart: MyFantasyLeague publishes the highest at 90 roster spots, ESPN allows 30 slots in any combination, and Yahoo ships a default maximum of 15 that a private-league commissioner can change.
Sleeper publishes no hard cap on total roster size and builds a roster from its roster_positions array plus separate taxi_slots and reserve_slots settings, so a deep dynasty league passes 30 in total once both shelves are counted. Team counts diverge just as widely: MyFantasyLeague runs to 100 teams, Sleeper to 32, ESPN to 20. Any tool that hard-codes a ceiling has quietly picked one platform and assumed the rest match it.
The number of IR slots is set per league rather than fixed: Yahoo ships two by default, and on Sleeper the count is the reserve_slots setting rather than anything in the roster layout. Sleeper does not publish a cap on it, so read the number off the league instead of assuming one.
That middle part catches out anyone reading a Sleeper league programmatically. IR never appears in roster_positions, so a tool that builds a roster only from that array reports a league with six IR slots as having none. Sleeper also carries four separate switches, reserve_allow_out, reserve_allow_doubtful, reserve_allow_na and reserve_allow_sus, that decide which injury designations may occupy a slot, and they are independent of one another: a league can allow Out and Suspended while refusing Doubtful and NA. Sleeper lists the eligible designations as Out, Suspended, PUP, NA, DNR, Doubtful, or an actual NFL injured reserve placement.
FLEX, REC_FLEX and WRRB_FLEX are three different flex seats on Sleeper: FLEX takes a running back, receiver or tight end; REC_FLEX takes a receiver or tight end only; WRRB_FLEX takes a running back or receiver only.
The one that surprises people is WRRB_FLEX, which excludes tight ends despite being the seat most often described loosely as "a flex". SUPER_FLEX is the fourth and widest, adding quarterbacks to the FLEX set. Getting these confused is not cosmetic: a tool that treats REC_FLEX as a general flex will happily start a running back in a seat the league forbids it in.
Sleeper describes a lineup as a repeated list of slot codes in roster_positions: QB, RB, WR, TE, K and DEF for dedicated seats, FLEX, REC_FLEX, WRRB_FLEX and SUPER_FLEX for the flexes, DL, LB, DB and IDP_FLEX for individual defensive players, and BN for each bench spot.
One entry appears per seat, so a lineup with two running back slots lists RB twice. Taxi and IR are not in this array at all: they are the taxi_slots and reserve_slots settings. A slot code that a reader does not recognise should be counted rather than dropped, because roster capacity is the sum of the seats and dropping one understates how full a team is.
waiver_type is a bare integer in the Sleeper league settings object, and Sleeper documents the mapping in no official place. The value 2 is FAAB bidding; any other value is one of the non-FAAB systems.
Sleeper does document the systems themselves, just not the numbers: it supports exactly three waiver types, rolling waivers as the default, reverse standings, and FAAB bidding. So the reading above is the one the evidence carries, and assigning a specific meaning to each possible integer claims more than that. Do not infer FAAB from the presence of a budget either, because Sleeper returns a waiver_budget on leagues that run no budget at all: the key is a default sitting in the settings object rather than evidence of anything. HexMetrics treats any value other than 2 as non-FAAB, because the error is asymmetric. Calling a priority league FAAB invents a bidding economy and changes how claims settle, while the reverse only ignores bids that were never placed.
Sleeper states it directly in settings.type, where 0 is redraft, 1 is keeper and 2 is dynasty.
It is worth naming because the obvious shortcut is wrong. Guessing dynasty from the presence of taxi slots misses every dynasty league that runs none, and the cost of that mistake is not cosmetic in a valuation tool: a dynasty league read as redraft loses its age curve entirely, so a 21 year old and a 29 year old are priced the same.
HexScore rates a player against others at his own position on a 0 to 100 scale; HexValue is what he is worth compared to players at every other position, in your league.
They answer different questions and are not interchangeable. "Is this the better running back" is a HexScore question. "Should I trade this running back for that tight end" is a HexValue question, because it crosses positions, and crossing positions depends on how many of each your league starts. The same player carries the same HexScore in every league and a different HexValue in each one.
Yes, substantially. The same quarterback is worth far more in a superflex league than in a one-quarterback league, because twice as many quarterbacks start every week.
HexMetrics reads the shape of your league rather than assuming one: how many of each position start, how many flex seats there are and which positions each accepts, how deep the bench runs, how many teams are in the league, and in a dynasty league an age curve per position. A ranking that ignores all of that is describing a league you are probably not in.
HexMetrics does not rank individual defensive players, so an IDP league imports correctly and keeps its roster shape, but its defensive seats are shown empty rather than valued.
The site covers offence: quarterbacks, running backs, receivers, tight ends, kickers and team defenses. An IDP league is still worth importing, because the defensive seats count toward roster capacity and getting that number wrong is what lets a waiver tool add a player there is no room for. Being explicit about the gap is better than filling those seats with a number that means nothing.