I don't understand who is trading for Rham at that contract, as it's that contract why we want to trade him.
You're factoring in signing bonus already paid. His contract from this point on for us and for a team trading for him would be...
2025 - $2.75M salary (guaranteed), $250K offseason workout bonus, $1M in per game roster bonuses (only paid if he plays)
2026 - $4.75M salary ($3.25M guaranteed), $250K offseason workout bonus, $1M in per game roster bonuses (only paid if he plays)
2027 - $8M salary in salary/bonuses but none guaranteed
2028 - $10M salary in salary/bonuses but none guaranteed
The cap numbers for all 4 years for our team are inflated by $1.6M per year because of the signing bonus he got last year, but that wouldn't transfer over to a new team. It would count as dead money for us if we traded him though, which further disincentives it.
Stevenson's contract for us, and for any acquiring team is effectively a 2 year, $8M deal (salaries plus workout bonus) with up to $1M extra incentives each year for games played to bring it to 2 years, $10M. It's hardly a big contract. At the RB spot in free agency, you kind of pick your poison... sign an older vet with better track record but bank on him staving off decline. Or someone less accomplished but in their physical prime. Stevenson is the latter and it's a very fair contract for him in that light.
Again, the $8M signing bonus last year doesn't look like something they really needed to do, but that just further disincentives trading him since it becomes dead money. And it inflates the cap number to make it look like someone worth moving on from, until you consider that it's on our cap either way and won't go to a new team. It's a sunk cost. Remove it from your consciousness when looking at his deal and only consider the figures I showed above because that's all that is relevant for us or any other acquiring team moving forward.