How to Rosters

A guide for committee members with the rosters role. Covers how to record transactions, edit team data, and manage player records on the site.

On this page

  1. Your token
  2. Recording transactions
  3. Editing team pages
  4. Player records
  5. Cap & league settings

1. Your token

Your bearer token is what identifies you as a rosters member. You receive it once via Discord DM from an admin. Keep it private — it gives write access to the whole league.

To activate edit controls on any team page or the transactions page:

1

Open any team page (e.g. /teams/ATL/).

2

Click the Edit button next to the Roster section header. A token prompt appears.

3

Paste your token and confirm. It is saved to your browser's local storage — you won't be asked again on this device unless you clear storage or your token is revoked.

Token lost or revoked? Message an admin on Discord. Tokens can be re-issued instantly.

2. Recording transactions

All league transactions are recorded on the Transactions page. Use this for any official roster move — signings, trades, releases, options, and two-way conversions. Each transaction updates the relevant roster CSVs and player bio automatically.

FA Signing

Use when a free agent signs a new contract with a team.

Required fields

  • Player — start typing a name to search unsigned players
  • Team — the signing team
  • Signing method — Cap Space, Bird Rights, NTMLE, TMLE, Room Exception, BAE, or Sign-and-Trade
  • Contract — salary per season (e.g. 25-26: $5,000,000) and cap hold type for the year after the contract ends

Signing via NTMLE sets the team's hard cap to First Apron. Signing via TMLE sets it to Second Apron. Both are tracked automatically.

Release

Use when a team waives a player. The player is removed from the roster. Any remaining guaranteed salary becomes dead cap on that team's page automatically.

Dead cap is calculated from the player's contract at the time of release. Non-guaranteed years count only if the release date is on or after the guarantee date. TEAM_OPT, UFA, and RFA cap hold years are never dead cap.

Trade

Use for any trade between two or more teams. Each transfer specifies a from team, a to team, and a list of assets (players or picks). Multi-team trades use multiple transfers.

Pick assets

Identify picks by year, round, and originating team (e.g. "2027 R1 NYK"). Protection and swap rights can be updated on the pick at the same time.

Option exercise / decline

Use when a player or team exercises or declines a contract option.

Two-way conversion

Use to convert a player from a two-way contract to a standard contract. You provide the new full contract terms at the time of conversion.

Draft pick signing

Use when a drafted player signs their rookie scale deal. Select the draft pick (year / round / originating team) and provide the contract terms.

3. Editing team pages

Team pages have several inline edit sections accessible to rosters members after entering your token. These are for corrections and manual adjustments that don't go through the transactions system.

Roster

Click Edit next to the Roster heading to enter edit mode. You can change each player's OVR and contract type (player / two-way). To add or remove players, use the Transactions page instead — the roster CSV is managed by transactions.

Draft picks

Click Edit next to Draft Picks to manage the team's pick inventory. You can add new pick rows, change the originating team, update protection, or remove picks that have conveyed.

Dead cap

Click Edit Dead Cap below the roster table to manage dead cap entries. Each entry is a player slug plus the dollar amount owed per season (e.g. 25-26: $3,960,000).

Team state

Click Edit Team State to set per-team flags that affect cap display:

FieldWhat it does
Hard CapSets whether the team is hard-capped at the First or Second Apron. A red banner appears on the team page when set.
Hard Cap ReasonShort description shown in the banner (e.g. "NTMLE signing: Player Name").
MLE Used ($)Cumulative salary committed via MLE signings this season. Used to calculate remaining MLE space in the exceptions panel.
BAE UsedCheck if the team has used their Bi-Annual Exception this season. Prevents BAE from appearing as available.
Hard cap and BAE flags are set automatically when you record a signing via NTMLE, TMLE, or BAE on the transactions page. You only need to set them manually if correcting an error.

Jersey numbers

Each player row in the roster has an editable jersey number cell (the # column). Click the cell to edit inline. No save button needed — it saves on blur.

4. Player records

Player bios live at the Players page. Each player has a permanent slug (e.g. curry-stephen) that ties together their bio, roster entries, OVR history, stats, and awards.

Creating a new player

New players need to be created before they can be signed. On the Players page, click New Player (visible when logged in). Fill in:

Editing a player bio

On any player's profile page, click Edit Bio to update their details. Salary and cap hold fields are managed by transactions — edit them manually only to correct errors.

OVR ratings

OVR ratings are updated via the parse-ovrs skill in Claude Code (ask the NBN bot). Each update is appended to the player's OVR history with a date stamp; the roster table always shows the most recent rating.

5. Cap & league settings

Global salary cap thresholds and exception amounts live in League Office → Cap Settings. These apply league-wide across all team pages.

SettingWhat it affects
Salary CapThe soft cap threshold. Teams below this can use cap space to sign players.
1st ApronHard cap level for NTMLE signings and certain trade restrictions.
2nd ApronHard cap level for TMLE signings. Most restrictive tier.
NTMLE / TMLE / BAE amountsDollar values shown in each team's cap exceptions panel.

Cap levels are set once per season. The Rookie Scale page (also under League Office) shows first-round contract amounts by pick number and draft year.