He wasn't bad with praise exactly just overwhelmingly, catastrophically flustered by it. The problem wasn't that he was shy. Not really. The real problem was that he was good at playing the shy role. A little too good. He used it like a crutch, like a shield, like a second skin.
Which was why the universe found it so funny to curse him with friends who were all naturally chaotic little shit-stirrers.
"Bro, you don't get it," Felix said for what felt like the tenth time that night as they played league together, mics open, banter easy. "You'd make bank."
"Shut up," Chan muttered, voice soft, tinged with his Aussie accent. His cheeks were already warm, and he could feel heat pooling at the tips of his ears. "You guys are being dramatic."
"No, but like—really," Hyunjin chimed in. "People would pay actual money just to hear you breathe."
"Stop," Chan whined, dragging out the vowel too long.
Big mistake.
They latched onto it instantly.
"Oh my god, do it again," Lix cackled. "Do the little whimper thing."
"Wh— I didn't whimper!"
"Yes you did," Seungmin sang. "You always do when you're flustered. You sound like a baby."
"Shut up," he hissed again, though his voice had already cracked into something breathier, embarrassed. "I don't sound like—like—"
"Like a cam boy?"
Hyynjin delivered the line with the comedic timing of a professional.
Chan choked on his spit.
"WHAT?!"
"Oh my god," Felix wheezed. "Imagine—just imagine—you, in that cute lil hoodie, sitting under those pink lights, doing your shy voice—"
"I DO NOT HAVE A SHY VOICE—"
"'Hi guys... it's my first time... please be gentle...'"
"I'm leaving the call."
"No you're not," Seungmin said, and Chan could practically hear his grin. "You're too busy blushing."
"I'm not—!"
Chan's camera was off, thank God, but he still covered his face with both hands, groaning.
The worst part?
The absolute worst?
A tiny part of him deep, buried liked the teasing.
A tiny part of him liked being imagined like that.
Liked the idea of being watched.
Liked the fantasy of being wanted by people who couldn't even see his face.
It made something warm bloom deep in his stomach despite his embarrassment.
He ignored that part.
For now.
The teasing should have faded after a few nights.
It should've been a bit. A joke. Something stupid between friends.
But it stuck.
Persistent.
Insistent.
And Chan found himself thinking about it at all the wrong times.
Like when he brushed his teeth at night, leaning over the sink, catching sight of his chest in the mirror.
Or when he changed shirts and saw how the LED lights softened the shape of his torso.
Or when he rewatched clips from his own Twitch streams and heard his voice slip into that breathy register without meaning to.
He didn't mean to be cute.
He just was.
Unintentionally. Horrifyingly.
He'd always had that innocent face, that soft-boy energy, that natural submissive tilt to everything he did.
And yet beneath the surface, he was a freak.
A quiet one.
A secret one.
Someone who could talk the sweetest filth into a pillow but would combust the moment someone else tried it on him.
That contradiction alone should've warned him off.
But one Friday night, after too much overthinking and maybe two drinks, he cracked.
He opened an account.
A new one.
Minimalist.
User: onlychans
Icon: a simple crescent moon.
No face.
No name.
No identifying marks.
Just him.
Just chan.
The first post he uploaded wasn't even that bad.
Just a shot of his torso hoodie shrugged off one shoulder, collarbone glowing faintly under the LEDs, breath caught mid-exhale.
Faceless.
Teasing, but still innocent.
Within an hour:
12 followers.
Within three hours:
27.
By morning:
54.
The numbers made his stomach turn in a slow, hot roll.
He posted a second time.
A video this time only his hand, fingers tracing the inner line of his thigh over sweatpants, moans almost barely audible.
That one got comments.
your voice?? holy shit
the way you breathe omg
stream someday?? pls??
He slammed his phone down and hid under his blanket.
His body felt too warm.
Too aware.
Too charged.
He didn't know if he was terrified or thrilled.
Maybe both.
He chose Sunday because it felt quiet.
Like the world slowed down just enough for him to breathe.
He spent the whole afternoon cleaning his room, rearranging his bed, fluffing the blankets, and wiping down his desk.
The pink and blue lights glowed against his walls muted, dreamy, sensual without meaning to be.He liked the way they looked on camera.
Soft.
Inviting.
Like the room itself was shy on his behalf.
He set up the webcam. Tested angles.
Made sure the frame stayed from his shoulders down. His face would not be seen.
Not tonight. Maybe not ever.
When he finally sat on the edge of the bed, laptop open, dashboard ready, he froze.
25 people waiting.
25.
Already in the chat.
Idle.
Excited.
His heart went ballistic. He rubbed his palms on his thighs, breath breaking against the back of his throat.
"You said you'd do it," he muttered to himself. "You said you'd try. Just try. Just once. Just—"
He clicked Go Live before he could chicken out.
The screen faded into the soft glow of his bedroom. Only his shoulders down showed:
his thighs, the hem of his hoodie, his hands nervously twisting the drawstrings.
The chat erupted instantly.
chat: HE'S REAL
chat: omg chan is LIVE
chat: your room is so cute wtf??
chat: hi baby boy
Chan's breath hitched audibly.
"Uh... h-hi," he whispered.
The chat detonated.
chat: THE VOICE
chat: NO WAY THAT'S HIS VOICE
chat: he's so soft i'm gonna cry
chat: sweetheart you sound nervous
He covered his face with both hands even though no one could see him.
"I-I'm not nervous," he lied, voice cracking into a tiny squeak.
The chat ate him alive.
chat: yes u are 😭
chat: it's okay sweetheart we're gentle
chat: we'll be soft w u baby
Baby.
He felt that word in every nerve ending. He inhaled sharply accidentally and it came out as a high little trembled sound. A sound dangerously close to a whimper.
He froze.
The chat didn't
chat: OH MY GOD
chat: did u HEAR that??
chat: he whimpers?!?
chat: i knew it
Chan's entire face went hot. He let out another sound unintentional, breathy somewhere between a sigh and a soft moan of embarrassment. His thighs pressed together. Not enough. Not nearly enough.
"This is insane," he whispered. "I'm literally shaking."
He was. He put a hand on his thigh. Just to steady himself. But the camera saw the motion as something else entirely. The chat spiraled.
chat: slow down baby
chat: touch yourself nice n gentle
chat: we're right here
chat: you're doing so good sweetheart
chat: be a good boy for your stream
He choked on his own breath.
Good boy.
Good boy.
His brain melted.
"I-I don't know what I'm doing," he whispered, voice embarrassingly small.
chat: you're doing perfect
chat: sweetheart breathe
chat: you're safe
chat: mommy's here
That word hit him like lightning.
Mommy. His legs trembled. His breath came out in a sharp, strangled gasp.
His hoodie slipped off one shoulder.
He didn't mean to say it.
Didn't plan to.
Didn't even think it.
But a tiny, broken whine escaped him:
"M-mommy"
His hand flew to his mouth.
The chat combusted.
chat: OH MY GOD
chat: he SAID IT
chat: he's a mommy's boy
Chris felt dizzy.
His whole body pulsed with heat, his skin prickling, nerves lit up like sparks skittering beneath the surface. He slid his hand up his thigh without thinking fingers trembling, breath shaky.
A soft moan escaped him.
Barely-there.
But there.
His hips shifted.
Just a little.
But enough.
"I-I shouldn't..." he breathed, head falling back. "This is—oh my god—this is crazy—"
chat: shhh sweetheart
chat: go slow
chat: you're doing so well
chat: show mommy where it hurts
He whimpered.
Actually whimpered.
High.
Helpless.
Completely undone.
His hand moved again, desperately rubbing himself through his sweats. His legs shook. His breath came in stuttered bursts gasps that caught on the edge of moans, trembling whines he tried and failed to hold back.
Drool gathered at the corner of his mouth as his lips parted. He tasted heat. Electricity.
"I... f-feels—ah—feels too good..." he whispered, barely coherent. The chat responded like worshippers at a shrine.
chat: good boy
chat: that's it baby
chat: let mommy hear you
chat: use your voice sweetheart
chat: shake for us
Shake. He did. His thighs trembled violently; his body arched off his chair; his breath dissolved into helpless little moans he couldn't swallow down.
"Too much," he cried softly. "M-Mommy, too much—" The word fell out of him again without permission.
chat: there he goes 😭
chat: baby's overstimulated already
chat: let it happen
He sobbed out a moan tiny, broken, desperate hand moving faster. He wasn't seeing the chat anymore.
Just feeling.
Drowning.
Unraveling.
"I c-can't—"
Drool dripped down his chin, warm and humiliating and perfect.
chat: yes baby drool for mommy
chat: sweetest boy
chat: you're so fucking cute like this
He cried out.
A high, trembling moan pure and unfiltered echoed through his mic.
His free hand clawed weakly at the arm of the chair. His back arched again, body shaking harder.
He was gone.
Totally.
Beautifully.
Shamelessly.
His hips jerked.
Once.
Twice.
"Please," he whined. "Please—mommy—need—need—"
He didn't know what he was begging for. Didn't need to. The chat gave him everything he wanted.
chat: that's it baby
chat: let go for mommy
chat: pretty boy's so close
chat: you sound so good baby
chat: cum for us sweetheart
He sobbed a choked, gasping moan and the world tunneled.
White heat.
Shaking legs.
A cry so high and broken it almost wasn't a sound at all. His body seized. Trembled violently.
And then Release.
Raw, overwhelming, body-crushing release. He slumped, chest heaving, sweat dampening his face and neck.
Legs twitching.
Breath broken.
Drool dripping onto his hoodie.
The chat erupted in praise.
chat: good FUCKING boy
chat: you're so sweet when you break
chat: rest baby, mommy's proud
chat: holy shit that was beautiful
Chan couldn't speak.
Could barely breathe.
He let his head fall back, whimpering softly as aftershocks rippled through him. His voice was a whisper cracked, ruined, trembling:
"Th... thank you... mommy..."
The chat melted.
chat: oh baby
chat: sweetest boy alive
chat: stream again next week?
we'll wait for you, sweetheart
Chan only managed one final, breathless whine. Then he ended the stream, before collapsing sideways onto his pillows.