HIS SECRET OBSESSION
Adrian is a star hockey player by day and a secret OnlyFans creator by night. When his biggest online crush, a faceless but dangerously alluring creator, finally messages him for a collaboration, he jumps at the chance.
But when they meet, Adrian is stunned to discover his mystery crush is none other than Julian Callahan—his biggest rival on the ice. Furious and embarrassed, he’s ready to walk away, but Julian refuses to let him go.
What starts as a clash of pride and dominance soon turns into something far more dangerous. As tension rises and their secret meetings grow more intense, Adrian finds himself trapped between the rivalry he’s always known and the desire he never saw coming. But when their secret threatens to be exposed, he must decide—stay in the game or risk it all for the one man he swore to hate.
Read
Chapter: CHAPTER 13The door opened slowly. Adrian didn’t move. Julian stood in the doorway, shadowed by the dim hallway light, one hand still on the handle. His expression was unreadable—somewhere between cautious and defiant. The kind of look someone wore when they had just taken a leap they weren’t sure they’d survive. He stepped inside without waiting to be invited. Adrian’s mouth was dry. “You just filmed that.” Julian’s eyes didn’t leave his. “Yeah.” “You were outside my door.” Julian nodded. “Still am.” A silence settled between them like a fog. Heavy. Dense. Unrelenting. Adrian looked away first, heart pounding so hard it felt like something was trying to claw its way out of his chest. “What do you want from me?” he asked, voice low. Julian stepped closer, slow and deliberate. “I don’t want anything from you. I want you.” Adrian’s throat tightened. “You don’t get to say that like it’s simple.” “It is simple,” Julian said, his voice softer now. “You’re just afraid it might be real.” A
Last Updated: 2025-04-03
Chapter: CHAPTER 12Adrian didn’t move. The door opened just wide enough for someone to slip through. For one suspended second, no one came in. Then Julian stepped inside. Same hoodie he wore at practice. Same confident posture. But this wasn’t the version of him that tossed insults across the ice or smirked in the locker room. This Julian was quieter. More dangerous. Like the air shifted when he crossed the threshold. Adrian’s breath caught. Julian shut the door behind him without saying a word. Then he leaned back against it, like he had all the time in the world. “You watched it,” he said. Adrian swallowed. “Yeah.” Julian’s gaze swept over him. “And?” Adrian crossed his arms, as if that could hold everything in. “You showed up at my door.” “You said you wanted real.” “I didn’t mean tonight.” Julian pushed off the door, taking one slow step forward. “You didn’t say that.” “Julian,” Adrian warned. “I’m not here to make a move, if that’s what you’re panicking about.” Julian stopped in the ce
Last Updated: 2025-04-02
Chapter: CHAPTER 11Chapter 11 Adrian didn’t sleep. He lay on his back, staring at the ceiling, his phone on his chest like a weight he couldn’t get rid of. The voice message played on loop in his head. The way Viper had said his name. The breath. The heat behind the words. The way it had sounded exactly like— No. He still couldn’t say it. Couldn’t let that thought settle. But the fear was no longer about being wrong. It was about being right. At some point near dawn, he got up and took a cold shower. He didn’t want to feel warm. He didn’t want to feel anything. He dressed slowly, hoodie over his head, eyes heavy, limbs tight. Everything felt too loud, too bright, too close. As he crossed campus, he typed a message. Then erased it. Then typed again. We need to talk. In person. He stared at the screen for a long time before hitting send. It didn’t take long. Where? The bleachers. After practice. Come alone. He didn’t wait for a reply. He couldn’t. — Practice was unbearable. Julian acted li
Last Updated: 2025-04-01
Chapter: CHAPTER 10Adrian stared at the screen long after it had gone black. He’d watched the video twice, then a third time, pausing at the exact frame where the duffel bag appeared—barely lit, sitting innocently in the background of MidnightViper’s latest upload. But it wasn’t innocent. Not to Adrian. Not when it had the same faded team sticker from their locker room, the one only their equipment manager used. He’d seen that bag before. Every damn day. Adrian slammed his laptop shut, chest tight. “No,” he whispered. “No, this can’t—” He didn’t finish the sentence. Didn’t want to say the name echoing in his head. The possibility alone made his skin crawl with heat and confusion. Because if Julian Carter was MidnightViper… He stood abruptly, knocking over his chair in the process. He needed air. Space. Sanity. ⸻ Practice was hell the next morning. Adrian skated like he had concrete in his skates, missing passes, fumbling shots he could usually land in his sleep. Coach barked at him three times
Last Updated: 2025-04-01
Chapter: CHAPTER 9Adrian couldn’t breathe. The phone screen stared back at him, mocking his denial. The bracelet in Julian’s blurry group photo—thin, braided black leather—was identical to the one MidnightViper had worn in last night’s video. Same curve. Same clasp. Same subtle silver accent at the end. It could be coincidence. Had to be. But it wasn’t the first time his gut had twisted like this. And no matter how hard he tried to ignore it, Julian kept pulling at threads he didn’t know existed. “Get a grip,” Adrian muttered, tossing the phone onto his bed. It bounced once, landing face down like even it was ashamed of him. He paced the small dorm room, hoodie half-zipped, heart pounding against his ribs like it was trying to break out. He’d been following MidnightViper for months now—watching, subscribing, obsessing. There was no way Julian Carter, of all people, could be the man behind those videos. The universe wasn’t that cruel. And yet… Julian’s voice had slipped out raw and deep during tod
Last Updated: 2025-04-01
Chapter: CHAPTER 8The film room buzzed with lazy energy—half the team slouched in their chairs, fiddling with their phones, pretending to care about game footage. The projector lit up the dim space in pale blue, highlighting frozen frames of last night’s game. Adrian sat in the second row, elbows on his knees, barely blinking. Not because he cared about the analysis—but because Julian Carter was sitting one chair over. Close. Too close. Their legs brushed once. Julian didn’t move. Coach rewound the same clip for the third time. “Here—see this? Reed fumbles the pass under pressure. Julian, why does that happen?” Julian didn’t even glance at Adrian. “He hesitated. Thought too much.” A few of the guys chuckled. Coach nodded. “Exactly. You play fast, or you don’t play at all.” Adrian gritted his teeth. Julian had said it casually, but it stung. Not just because it was true—but because it sounded exactly like something MidnightViper had said in a recent post: “Hesitation kills momentum. You either
Last Updated: 2025-04-01