We have a similar style of contracts in our NL-only league:
1. 23 man roster, $260 salary cap. Keep up to 10 players each year.
2. Each player is "signed" for three years at their auction value or at $10 for an undrafted or called up player (each team has 3 minor league spots).
3. During the season, players auctioned for more then $14 must be kept on the roster for the entire season (but can be released in the off-season).
4. Going into the 3rd year, each team can extend the player for $5/year (i.e. add $5/year for a 4th year, $10/year for a 4th and 5th year, and $15/year for a 4th, 5th, and 6th year). For example, Tim Lincecum was a minor leaguer two years ago and called up during the season, so he was a $10 player. Going into last season, the team decided to extend a max contract on Timmy, so he cost the team $25 last year, $25 this year, and $25 for two more seasons.
5. Any player with an extended contract can not be dropped during the season AND can not be released in the off-season, so it can be a double edged sword if the player gets hurt or gets demoted (i.e. demoted from the closer role).
Another league I'm in is a 14 team roto league, and each team just gets to keep five players, no contracts.
Hope this helps.