The introduction of the two-way contract helped teams like the Portland Trail Blazers both deepen their rosters and develop rawer prospects that needed a little more time. While the prospects weren’t guaranteed to become NBA players, the avenue allowed franchises to get more players into their system to see what they could do.
For those needing a refresher, two-way contracts currently allow NBA teams to carry three extra players — it was initially two — in addition to the 15 on their regular season
roster. Only players with fewer than four years of NBA experience can sign a two-way contract. They can move back and forth between the NBA and G League but remain under team control and can’t be poached by rival franchises.
The first two-way contracts were signed for the 2017-18 NBA season with the Blazers adding shooting guard CJ Wilcox who unfortunately never played a game due to a knee injury. Since then, another 14 players have represented the Blazers as a two-way player with the University of Arizona’s Caleb Love set to join their ranks this season.
Before the 2023-24 season, Portland’s two-way players were inconveniently sent to otherwise affiliated G League teams when they weren’t with the big club. The Blazers finally implemented their own affiliate in 2023, the Rip City Remix, allowing two-way players to play G League games five miles from the Moda Center at the University of Portland.
Today we go through each of the 15 names in a bid to establish who has had the biggest impact on the NBA franchise as a two-way player. While some also represented the Blazers on regular roster contracts, we’re only focused on their two-way tenure.
Given how little they play, it’s tricky to gauge impact but the below list is based loosely on their numbers but also on my own eye test and how effective their respective skillsets contributed to NBA basketball.
Two-way players
15. CJ Wilcox 2017-18
Stats: Did not appear in a game.
Current team: None
14. TJ Leaf 2020-21
Stats: 7 games, 1.7 points, 0.7 boards, 0.3 steals
Current team: Maccabi Tel Aviv
Brought in help the Blazers finish off the 2020-21 season, playing largely junk time.
13. John Butler Jr 2022-23
Stats: 19 games, 2.4 points, 0.9 boards, 0.6 assists
Current team: Wisconsin Herd
Really tall and skinny forward who showed promise with the three ball but never delivered in minimal court time.
12. Keljin Blevins 2020-22
Stats: 48 games, 1.0 points, 1.1 boards, 0.5 assists
Current team: Bima Perkasa Jogja (Indonesia)
A relative of Damian Lillard who manage to stay in town for two seasons. Not an NBA player, but was a beneficiary of nepotism.
11. Moses Brown 2019-20
Stats: 9 games, 1.2 points, 1.6 boards, 0.1 blocks
Current team: Denver Nuggets (Exhibit 10)
Only his first stint was under a two-way contract. I was lucky enough to be in the US for one of his games. Looked like a deer in the highlights despite being really big.
10. Jamaree Bouyea 2023-24
Stats: 6 games, 1.7 points, 1.7 boards, 1,3 assists
Current team: Milwaukee Bucks (two-way)
Played six semi-decent games before being waived early in the season.
9. Bryce McGowens 2024-25
Stats: 13 games, 1.0 points, 0.2 boards, 0.2 assists
Current team: New Orleans Pelicans (two-way)
Starred in the G League, participating in All Star weekend, but was unable to convert it with the bigger club. He’s a natural-born scorer when engaged and in the right situation.
8. Sidy Cissoko 2024-25
Stats: 5 games, 2.0 points, 2.2 boards, 1.8 assists
Current team: Portland Trail Blazers (two-way)
Remains on the team. The Frenchman has playmaking ability from the wing position. Needs to work on his shot but I have hope in his court sense and him eventually rising up this list.
7. Ibou Badji 2022-24
Stats: 22 games, 1.5 points, 2.3 boards, 0.9 blocks
Current team: La Laguna Tenerife (Spain)
Massive, but incredibly raw, big man who could protect the rim. Sadly, there was little else to his game.
6. Taze Moore 2024-25
Stats: 2 games, 3.0 points, 4.0 boards, 1.0 steals
Current team: Varese (Italy)
Athleticism and hops every day of the week. Not sure if he was an actual NBA player though.
5. Jaylen Hoard 2019-20
Stats: 13 games, 2.9 points, 2.5 boards, 0.3 assists
Current team: Maccabi Tel Aviv
Was serviceable in minimal minutes before going on to play decent basketball with the Oklahoma City Thunder.
4. Ashton Hagans 2023-24
Stats: 19 games, 4.2 points, 32.0% 3pt, 2.4 boards, 2.8 assists
Current team: Yet to sign
Handy break-glass-in-an-emergency guard to fill out a rotation when the team had no intention of winning.
3. Justin Minaya 2023-25
Stats: 57 games, 1.7 points, 1.4 boards, 0.6 assists
Current team: Orlando Magic (Exhibit 10)
A defense-first wing who is never disengaged. No real standout skill on offense but is working to continue his career with the Orlando Magic.
2. Trendon Watford 2021-22
Stats: 33 games as a two-way player, 4.5 points, 59% FG, 3.2 boards, 1.1 assists
Current team: Philadelphia 76ers
Watford wasn’t a two-way player very long. By February of his rookie year, the versatile forward had been added to the regular roster. Watford’s best days as a Blazer occurred after his deal was converted.
1. Brandon Williams 2021-22
Stats: 24 games, 12.9 points, 29.2% 3pt, 3.1 boards, 3.9 assists, 1.0 steals
Current team: Dallas Mavericks
Williams was obviously the beneficiary of the declining form of the then-Blazers, but was still able to put up real NBA numbers, which have been backed up by his recent form with the Mavericks.
Conclusion
The Blazers still have another two-way spot vacant before the start of the season. If they use it and are fortunate enough to get a Brandon Williams or a Trendon Watford, they’ll have added a near rotation-level player to the roster.
Two-way contracted players are those who went undrafted and were overlooked in free agency, and outside of Williams and Watford, the Blazers have – perhaps unsurprisingly – not found a two-way player they can rely on in regular NBA minutes.
If NBA teams are doing their due diligence during the scouting, draft and free agency process, two-way players shouldn’t be expected to do much. But every now and then a player takes a little longer to develop or needs the right place to thrive.