NBA:Contracts
| Reference | Contracts · Rosters · Salary Cap · League Spreadsheet |
| Transactions | Waivers · Trades · Options · Re-Signing · Draft · Free Agency · G League · Injured Reserve |
| Timeline | Off-Season · In-Season |
| Governance | League Structure · GM Responsibilities · Rule Changes |
| Tools | Re-Sign Calculator · Free Agency Bid Calculator |
Every player holds a contract: a salary paid for a certain number of seasons. This page describes how to read them.
Reading a contract
Jeff Malone (WAS - SG) $4,000,000 (2027)
| Part | Meaning |
|---|---|
Jeff Malone
|
Player |
(WAS - SG)
|
Real NBA team, then the positions he is eligible at. The team is optional — it helps tell apart players who share a name |
$4,000,000
|
Annual salary, the same every year of the contract |
(2027)
|
Guaranteed through the 2026-2027 season |
Years
A contract year is a single number, but an NBA season straddles two calendar years. (2028) means the 2027-2028 season — the league numbers seasons by the year they end in, and the player is a free agent that summer.
A contract is always written as it was originally signed. Years already played are not removed, so a 2nd-round pick keeps all his option years listed even after some have passed. The only exception is a draft-and-stash player.
Option years
An option year carries a trailing x and is a team option.
Xavier McDaniel (SEA - SF/PF) $2,606,200 (2026, 2027x) Mark Eaton (UTA - C) $495,000 (2025, ~2029x) Mark Eaton (UTA - C) $495,000 (2025, 2026x, 2027x, 2028x, 2029x)
The ~ covers the unbroken run of options from the year after the guaranteed year through the final year shown; writing them out in full is equally clear.
Options are decided one season at a time.
Re-sign tags
Re-signs are limited to 3 at a time, and the tags make that count checkable from the roster.
| Tag | Meaning | Uses one of your 3? |
|---|---|---|
[RS]
|
Re-signed by your team | Yes |
[RSBO]
|
Re-Sign By Other — re-signed by another team, acquired by trade | No |
Dennis Johnson (BOS - PG/SG) $10,900,000 (2029) [RS] Trent Tucker (NYK - SG/SF) $6,600,000 (2027) [RSBO]
When a re-signed player is traded, his tag becomes [RSBO] on his new team.
Notation is a convention, not a rule
The forms above are preferred and used throughout this wiki. Other formats appear on team rosters and are fine — TAB can read them.
What is required is that the information be there and be current: the salary, the years including any options, and whether he was re-signed.
Contract types
| Acquired by | Salary set by | Term | Written as |
|---|---|---|---|
| Free agency | Winning bid | 1–4 years | Caldwell Jones (HOU - C) $4,000,000 (2029)
|
| Re-signing | Formula | 3–5 years | Sleepy Floyd (GSW - PG) $10,100,000 (2028) [RS]
|
| 1st-round pick | Draft slot | 4 years + 1 option | Xavier McDaniel (SEA - SF/PF) $2,606,200 (2026, 2027x)
|
| 2nd-round pick | Draft slot | 1 year + 4 options | Mark Eaton (UTA - C) $495,000 (2025, ~2029x)
|
| Draft-and-stash | Draft slot | Set on arrival | Juan Nunez $495,000 (----)
|
| Trade | Inherited | Inherited | Salary and years carry over; [RS] becomes [RSBO]
|
Draft-and-stash
A drafted player who does not come to the NBA immediately is paid his draft-slot salary straight away, but his contract has no end date until he arrives:
Juan Nunez $495,000 (----)
When he comes over the dashes are replaced with real years — the only time a contract's written years change after signing. Before then he can still be waived.
See also
- Rosters — roster sizes, position slots, and how to post a roster
- Salary Cap — the cap and everything that counts against it
- Options — exercising and declining options
- Re-Signing — the 3 tags and the salary formula
- Draft — order, lottery, rookie salary scale, and draft-and-stash
- Free Agency — bidding and contract limits