It's already done. Green check. Hash locked. You can see it on the treasury dashboard, USDT, settled, stamped with that sub-second finality PlasmaBFT does, that thing where the block closes before accounting even opens their laptop. Final. Over. Gone.
But.
09:00. ERP import. Same CSV template, same columns, same red asterisk next to “Fee” that means you don’t get to improvise. Plasma export. Three cells filled and one just… empty. Fee: —
Import failed.

Red banner. "Missing required field: transaction_fee." You refresh. Like staring might make a number appear. Like Plasma suddenly grew a fee because you asked nicely.
You check the detail pane. Stablecoin-first gas. Rail: Plasma. Status: final. Amount matches. Timestamp exact. No pending, no dust, no residue. Just done. Too done.
"Where's the network cost?"
You hear yourself ask it. Sounds petty even as it leaves your mouth. Treasury swivels the monitor. "There isn't one. It's gasless USDT transfers'.
Silence. Then quieter silence. Someone scrolling through the Plasma export, not believing the empty cell. The ERP doesn’t know “none.” The schema wants something to classify. Even zero needs a source, a lineage, a reason for being zero instead of just… not.
You type "0.00." Save. Re-import.
"Fee currency required."
"0.00 USDT."
"Fee currency must match network fee token."
Dash. Rejected. Blank again, out of spite. Same banner. The ERP isn't asking if the payment happened. It's asking what got burned. On Plasma, nothing did. Bitcoin-anchored security, EVM compatible, Reth-based, all of it working exactly as designed—finality without friction, settlement without sacrifice.
Your system wants sacrifice.
You pull up last month’s file. Same template. Same asterisk. Every row has a fee, even tiny ones, especially tiny ones. The column exists because the ERP needs residue. Something to hang policy on. This Plasma payment row has none. This row is clean in the wrong way.

Plasma Finance manager walks over. Looks at the red. Says what you're all thinking.
"Can't you just put zero?"
You try. ERP UI this time, not CSV. Network dropdown. No Plasma. You pick "Other." Demands token symbol. "N/A." Rejected. Of course rejected.
Support chimes in. Different thread, same shape. "User asking why receipt shows no fee."
Of course they are.
The receipt, clean, trustable, wrong, shows only amount sent. No minus column. No breakdown. Just paid. Accounting wants the minus. Accounting wants the burn.
You draft an exception. "Transactions settled via Plasma may not generate external network fees due to stablecoin-first gas model." Hover over Save. Change "may not" to "do not." Change it back. Cursor blinking like it's waiting for you to admit this isn't an exception anymore. This is the new normal. This is what gasless looks like when your schema wasn't built for "nothing."
ERP still red. One line in limbo while the batch closes around it. Treasury ledger: posted. Balanced. Done. ERP side: rejected. Not wrong. Just missing something the schema decided must always exist.
You open configuration. Type a rule. "If network = Plasma, fee = 0, bypass validation."
Not a fix. An override with a shaky voice. You hover over Save.
Another USDT line arrives on treasury. Settled fast. Final under sub-second finality. Fee column blank like a dare.
Import queue still shows one line waiting.

