Apex Vipers 31, Pulse Jackals 24
Week 4 · Regular season · round 14 · Wednesday 21 October 2026
| Team | 1 | 2 | 3 | 4 | Final |
|---|---|---|---|---|---|
| APX Apex Vipers | 10 | 0 | 0 | 21 | 31 |
| PLS Pulse Jackals | 7 | 7 | 0 | 10 | 24 |
Game recap
The Apex Vipers held off the Pulse Jackals 31-24 in round 14 of Week 4. The lead changed hands 2 times. It was an upset: before kickoff the engine gave the Vipers only a 34% chance of winning.
The Vipers opened the scoring with a 3-yard touchdown run by Luther Banks with 2:38 left in the first quarter. At the break the Jackals were up 14-10. Then came the fourth quarter: a 12-yard touchdown pass from Mason Okafor-Reid to Ravi Castellano for the Vipers (3:17 left, 17-14); a 50-yard field goal by Roman Zamora for the Jackals (2:52 left, 17-17); a 15-yard touchdown pass from Mason Okafor-Reid to Wendell Garrow for the Vipers (1:44 left, 24-17); a 7-yard touchdown pass from Mason Okafor-Reid to Luther Banks for the Vipers (1:15 left, 31-17); a 1-yard touchdown pass from Rio Castellanos to Cassius Achebe for the Jackals (1:02 left, 31-24).
The play that tilted the game came with 3:17 left in the fourth quarter: a 12-yard touchdown pass from Mason Okafor-Reid to Ravi Castellano. It moved the Vipers' chance of winning from 40% to 68%.
Player of the game: Luther Banks (RB, Vipers), with 21 carries for 120 yards and 1 TD; 4 catches for 28 yards and 1 TD. Elsewhere, Rio Castellanos (Jackals) had 29 of 41 passing for 388 yards, 1 TD, 1 INT; 2 carries for 18 yards; Jace Albright (Jackals) had 16 carries for 74 yards and 2 TD; 3 catches for 48 yards; Cassius Achebe (Jackals) had 10 catches for 165 yards and 1 TD; Mason Okafor-Reid (Vipers) had 31 of 41 passing for 286 yards, 3 TD; 2 carries for -2 yards.
Before kickoff, the Jackals' game plan was on offense: attack the zones, take shots deep, target Cassius Achebe; on defense: bracket Wendell Garrow (Cassius Achebe finished with 10 catches for 165 yards and 1 TD). Meanwhile, the Vipers' game plan was on offense: attack the zones, stay underneath, target Wendell Garrow; on defense: bracket Tavi Nkemelu (Wendell Garrow finished with 9 catches for 114 yards and 1 TD).
The Jackals move to 6-8 and the Vipers to 9-2-3 this week.
Scoring summary
| Time | Team | Play | APX-PLS |
|---|---|---|---|
| Q1 2:38 | Vipers | A 3-yard touchdown run by Luther Banks (extra point) | 7-0 |
| Q1 1:35 | Jackals | A 6-yard touchdown run by Jace Albright (extra point) | 7-7 |
| Q1 0:32 | Vipers | A 33-yard field goal by Kasimir Eriksen | 10-7 |
| Q2 0:47 | Jackals | A 4-yard touchdown run by Jace Albright (extra point) | 10-14 |
| Q4 3:17 | Vipers | A 12-yard touchdown pass from Mason Okafor-Reid to Ravi Castellano (extra point) | 17-14 |
| Q4 2:52 | Jackals | A 50-yard field goal by Roman Zamora | 17-17 |
| Q4 1:44 | Vipers | A 15-yard touchdown pass from Mason Okafor-Reid to Wendell Garrow (extra point) | 24-17 |
| Q4 1:15 | Vipers | A 7-yard touchdown pass from Mason Okafor-Reid to Luther Banks (extra point) | 31-17 |
| Q4 1:02 | Jackals | A 1-yard touchdown pass from Rio Castellanos to Cassius Achebe (extra point) | 31-24 |
Team stats
| APX | PLS | |
|---|---|---|
| Total yards | 466 | 498 |
| Passing yards | 286 | 388 |
| Rushing yards | 180 | 110 |
| Completions | 31 of 41 | 29 of 41 |
| Offensive plays | 72 | 65 |
| Third downs | 7 of 13 | 4 of 9 |
| Fourth downs | — | — |
| Turnovers | 0 | 2 |
| Sacks allowed | 2 | 3 |
| Time of possession | 9:41 | 6:19 |
Apex Vipers box score
Passing
| Player | C/ATT | YDS | TD | INT |
|---|---|---|---|---|
| Mason Okafor-Reid | 31/41 | 286 | 3 | 0 |
Rushing
| Player | CAR | YDS | TD | LNG |
|---|---|---|---|---|
| Luther Banks | 21 | 120 | 1 | 18 |
| Nils Yardley | 6 | 62 | 0 | 16 |
| Mason Okafor-Reid | 2 | -2 | 0 | 0 |
Receiving
| Player | REC | YDS | TD | TGT |
|---|---|---|---|---|
| Wendell Garrow | 9 | 114 | 1 | 11 |
| Pavel Garrow | 9 | 86 | 0 | 12 |
| Ravi Castellano | 7 | 54 | 1 | 8 |
| Luther Banks | 4 | 28 | 1 | 5 |
Defense
| Player | TK | SK | INT | PD |
|---|---|---|---|---|
| Soren Falkner | 16 | 0 | 0 | 0 |
| Jonas Draven | 8 | 0 | 0 | 0 |
| Pavel Montague | 0 | 2 | 0 | 0 |
| Wendell Pellegrini | 6 | 0 | 0 | 0 |
| Hector Castellan | 6 | 0 | 0 | 0 |
| Fabian Lachance | 1 | 0 | 1 | 0 |
Kicking
| Player | FG | LNG | XP |
|---|---|---|---|
| Kasimir Eriksen | 1/1 | 33 | 4/4 |
Pulse Jackals box score
Passing
| Player | C/ATT | YDS | TD | INT |
|---|---|---|---|---|
| Rio Castellanos | 29/41 | 388 | 1 | 1 |
Rushing
| Player | CAR | YDS | TD | LNG |
|---|---|---|---|---|
| Jace Albright | 16 | 74 | 2 | 30 |
| Rio Castellanos | 2 | 18 | 0 | 10 |
| Fabian Lachance | 3 | 18 | 0 | 9 |
Receiving
| Player | REC | YDS | TD | TGT |
|---|---|---|---|---|
| Cassius Achebe | 10 | 165 | 1 | 12 |
| Anders Quarles | 8 | 88 | 0 | 9 |
| Adrien Esposito | 5 | 58 | 0 | 5 |
| Jace Albright | 3 | 48 | 0 | 6 |
Defense
| Player | TK | SK | INT | PD |
|---|---|---|---|---|
| Elio Oyelaran | 24 | 0 | 0 | 0 |
| Quentin Delacroix | 8 | 0 | 0 | 0 |
| Darius Draven | 6 | 0 | 0 | 1 |
| Orson Castellan | 6 | 0 | 0 | 1 |
| Quentin Norcross | 4 | 0 | 0 | 1 |
| Soren Sandoval | 0 | 1 | 0 | 0 |
Kicking
| Player | FG | LNG | XP |
|---|---|---|---|
| Roman Zamora | 1/2 | 50 | 3/3 |
Watch the replay
Every play of this game can be replayed on the big screen, with the play calls, the win probability and the commentary: replay Apex Vipers 31, Pulse Jackals 24 on Snapline. More about the teams: Pulse Jackals · Apex Vipers.