NBA:Re-Signing
| 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 |
Re-signing keeps a player whose contract is expiring, without sending him to free agency. The salary is fixed by formula — there is no negotiation — and each team may only do it 3 times at once.
When
The re-signing window runs in the off-season, after options and before the draft. For 2026 it was July 24 to August 7. See Off-Season.
Two things gate a re-sign:
- A current posted roster. Without one your re-sign thread is locked and no one will verify it. See GM Responsibilities.
- You may not decline an option and then re-sign that player. Declining sends him to free agency.
Your 3 tags
A team has 3 re-sign tags, always available. They are standing capacity, not a budget that expires — nothing is lost by leaving them unused.
| Event | Tag |
|---|---|
| You re-sign a player | Spent for the life of the contract |
| The contract expires | Returned to your pool |
| You trade the player away | Returned immediately. The tag does not follow him |
| You acquire a re-signed player by trade | Costs you nothing |
| You waive the player | Stays spent until the contract would have expired |
Waiving does not free a tag; trading does. If your aim is to reopen a tag, trade him.
There is no limit on how many re-signed players may sit on your roster — only on how many re-signs you may execute yourself.
Once a tag returns, the same player may be re-signed again. There is no cooling-off period.
On your roster
A player you re-signed carries [RS]; one acquired by trade carries [RSBO] and costs you nothing. Count the [RS] tags and you know how many of a team's 3 are in use. See Contracts for the notation.
Calculating the salary
Maximum re-sign contract: $11,500,000.
- Open the player's card on Fantrax and go to the Stats tab.
- Take his Fantrax score for the last 3 seasons. A season only counts if he played 40+ games — go back further until you have 3 qualifying seasons.
- Average the 3 scores.
- Read the average as a percentage — 76 becomes
.76. - Multiply by $11,500,000.
- Round to the nearest $100,000.
- If the average is below 85, subtract a $1,500,000 discount. At 85 or above, no discount.
If he has never had 3 seasons of 40+ games, use whichever season or seasons he did reach 40 games in, and calculate from those.
The 85 cutoff is set where it is because it represents roughly the top 30–32 players in the league.
There is a calculator that does these steps and builds the post.
Worked examples
| Fantrax scores | Average | × $11,500,000 | Rounded | Discount | Salary |
|---|---|---|---|---|---|
| 82, 86, 84 | 84 | $9,660,000 | $9,700,000 | −$1,500,000 | $8,200,000 |
| 74, 78, 76 | 76 | $8,740,000 | $8,700,000 | −$1,500,000 | $7,200,000 |
| 90, 94, 92 | 92 | $10,580,000 | $10,600,000 | — | $10,600,000 |
Contract length
3, 4, or 5 years, your choice — at any age.
The 35+ limit is a free agency rule only. It does not apply to re-signs.
Approval
One TAB member checks the math. That is the whole approval step.
There is no vote, no assessment of whether the price is fair, and no appeal — the formula sets the price, so there is nothing to argue about. A submission with incorrect math is not denied; it is corrected to the right number and approved.
How to post
Create a topic in the NBA: Re-Signing forum named for the player. Show the 3 scores, the average, and the offer, so TAB can check your arithmetic without repeating it:
Sonics offer Larry Bird 5 years (82, 86, 84 = 84) $8,200,000 (2031)
Then add him to your roster post with the tag:
Larry Bird (BOS - SF/PF) $8,200,000 (2031) [RS]
See also
- Contracts — the
[RS]and[RSBO]notation - Rosters — tracking
Re-Signs: X/3on your roster post - Option Years — why declining an option forecloses a re-sign
- Trades — how a trade moves a tag
- Waivers — why waiving does not return one