1<!DOCTYPE html><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/b652392d48cf7a31.css" crossorigin="" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-2e6be951e5eefd17.js" crossorigin=""/>
1<script src="/_next/static/chunks/fd9d1056-4aa506cd6bcf506d.js" async="" crossorigin=""></script>
1<script src="/_next/static/chunks/938-1a4464f76a065b20.js" async="" crossorigin=""></script>
1<script src="/_next/static/chunks/main-app-de30f16239b4d982.js" async="" crossorigin=""></script>
1<script src="/_next/static/chunks/123-4791625314ad9618.js" async=""></script>
1<script src="/_next/static/chunks/563-c1209c26f5e12d39.js" async=""></script>
1<script src="/_next/static/chunks/135-b0954dda00214aa7.js" async=""></script>
1<script src="/_next/static/chunks/app/fr-simulator/page-74873b549257ea61.js" async=""></script>
1<script src="/_next/static/chunks/396-bdfda04fca26f9f8.js" async=""></script>
1<script src="/_next/static/chunks/856-929f74d7f8043902.js" async=""></script>
1<script src="/_next/static/chunks/app/layout-abf442add9a496fe.js" async=""></script>
1<title>eBattery Analytics | Energy Storage Platform</title><meta name="description" content="Professional Battery Energy Storage Analytics Platform by eBattery.energy"/><meta name="next-size-adjust"/>
1<script src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js" crossorigin="" noModule=""></script>
1</head><body class="__className_f367f3"><div class="flex h-screen" style="background:linear-gradient(135deg, #0a0f1f 0%, #0e152d 50%, #111827 100%)"><button class="lg:hidden fixed top-4 left-4 z-50 p-2 rounded-lg bg-slate-800/80 backdrop-blur-sm border border-slate-700/50 hover:bg-slate-700/80 transition-colors" aria-label="Open menu"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu w-5 h-5 text-slate-300"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg></button><div class=" 2 fixed lg:relative inset-y-0 left-0 z-50 3 transform transition-transform duration-300 ease-in-out 4 -translate-x-full 5 lg:translate-x-0 6 "><button class="lg:hidden absolute top-4 right-4 z-10 p-1.5 rounded-lg bg-slate-800/80 hover:bg-slate-700/80 transition-colors" aria-label="Close menu"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x w-4 h-4 text-slate-400"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button><div class="flex h-full w-56 flex-col" style="background:linear-gradient(180deg, #0e152d 0%, #0a0f1f 100%)"><a href="https://ebattery.energy" target="_blank" rel="noopener noreferrer" class="flex h-16 items-center px-4 border-b border-slate-800/50 hover:bg-slate-800/30 transition-colors group"><div class="flex items-center gap-2"><div class="relative"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-battery h-7 w-7" style="color:#00ffd1"><rect width="16" height="10" x="2" y="7" rx="2" ry="2"></rect><line x1="22" x2="22" y1="11" y2="13"></line></svg><div class="absolute inset-0 blur-sm opacity-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-battery h-7 w-7" style="color:#00ffd1"><rect width="16" height="10" x="2" y="7" rx="2" ry="2"></rect><line x1="22" x2="22" y1="11" y2="13"></line></svg></div></div><div class="flex flex-col"><span class="text-sm font-bold tracking-tight"><span style="color:#00ffd1">e</span><span class="text-white">Battery</span><span class="text-slate-400">.energy</span></span><span class="text-[9px] text-slate-400 uppercase tracking-widest">Analytics Platform</span></div></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link w-3 h-3 text-slate-400 ml-auto opacity-0 group-hover:opacity-100 transition-opacity"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" x2="21" y1="14" y2="3"></line></svg></a><div class="px-4 py-2 border-b border-slate-800/50 flex items-center justify-between"><div class="flex items-center gap-2"><div class="status-dot status-live"></div><span class="text-[10px] text-slate-400 uppercase tracking-wider">Live Data</span></div><span class="text-[10px] font-mono" style="color:#00ffd1">RO</span></div><nav class="flex-1 space-y-1 px-2 py-4"><div class="text-[10px] uppercase tracking-widest text-slate-400 px-3 mb-2">Analytics</div><a class=" 7 flex items-center px-3 py-2.5 text-sm font-medium rounded-lg transition-all 8 text-slate-400 hover:text-white hover:bg-slate-800/50 9 " style="border-left:2px solid transparent" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-home mr-2.5 h-4 w-4" style="color:#64748b"><path d="m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>Dashboard</a><a class=" 10 flex items-center px-3 py-2.5 text-sm font-medium rounded-lg transition-all 11 text-slate-400 hover:text-white hover:bg-slate-800/50 12 " style="border-left:2px solid transparent" href="/pzu"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bar-chart3 mr-2.5 h-4 w-4" style="color:#64748b"><path d="M3 3v18h18"></path><path d="M18 17V9"></path><path d="M13 17V5"></path><path d="M8 17v-3"></path></svg>PZU Analysis</a><a class=" 13 flex items-center px-3 py-2.5 text-sm font-medium rounded-lg transition-all 14 text-white 15 " style="background:linear-gradient(135deg, rgba(0, 255, 209, 0.15) 0%, rgba(0, 255, 209, 0.05) 100%);border-left:2px solid #00ffd1" href="/fr-simulator"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap mr-2.5 h-4 w-4" style="color:#00ffd1"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
15FR Simulator</a><a class=" 16 flex items-center px-3 py-2.5 text-sm font-medium rounded-lg transition-all 17 text-slate-400 hover:text-white hover:bg-slate-800/50 18 " style="border-left:2px solid transparent" href="/investment"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trending-up mr-2.5 h-4 w-4" style="color:#64748b"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"></polyline><polyline points="16 7 22 7 22 13"></polyline></svg>Investment</a><a class=" 19 flex items-center px-3 py-2.5 text-sm font-medium rounded-lg transition-all 20 text-slate-400 hover:text-white hover:bg-slate-800/50 21 " style="border-left:2px solid transparent" href="/investor-summary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-printer mr-2.5 h-4 w-4" style="color:#64748b"><polyline points="6 9 6 2 18 2 18 9"></polyline><path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"></path><rect width="12" height="8" x="6" y="14"></rect></svg>Investor Quick-Look</a><a class=" 22 flex items-center px-3 py-2.5 text-sm font-medium rounded-lg transition-all 23 text-slate-400 hover:text-white hover:bg-slate-800/50 24 " style="border-left:2px solid transparent" href="/methodology"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open mr-2.5 h-4 w-4" style="color:#64748b"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg>Methodology</a></nav><div class="px-3 py-3 border-t border-slate-800/50"><div class="text-[10px] uppercase tracking-widest text-slate-400 mb-2 px-1">Market Status</div><div class="space-y-1.5 px-1"><div class="flex items-center justify-between text-xs"><span class="text-slate-400">DAM (PZU)</span><span style="color:#00ffd1">Open</span></div><div class="flex items-center justify-between text-xs"><span class="text-slate-400">aFRR</span><span style="color:#00ffd1">Active</span></div><div class="flex items-center justify-between text-xs"><span class="text-slate-400">mFRR</span><span class="text-slate-400">Standby</span></div></div></div><div class="border-t border-slate-800/50 p-3"><a class="flex items-center px-2 py-1.5 text-xs font-medium text-slate-400 rounded hover:bg-slate-800/50 hover:text-slate-300 transition-colors" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings mr-2 h-3.5 w-3.5"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg>Settings</a><div class="mt-3 px-2 text-[10px] text-slate-400"><p class="flex items-center gap-1"><span>Powered by</span><a href="https://ebattery.energy" target="_blank" rel="noopener noreferrer" class="hover:underline" style="color:#00ffd1">eBattery.energy</a></p><p class="text-slate-400 mt-0.5">Romanian Energy Markets</p></div></div></div></div><main class="flex-1 overflow-auto"><div class="p-4 pt-16 lg:p-6 lg:pt-6">
24<div class="space-y-4 sm:space-y-6 max-w-[1600px] mx-auto px-3 sm:px-0"><div class="flex flex-col sm:flex-row sm:items-center sm:justify-between border-b border-slate-800 pb-3 sm:pb-4 gap-3 sm:gap-0"><div class="flex items-center gap-2 sm:gap-3"><div class="p-1.5 sm:p-2 rounded-lg" style="background:linear-gradient(135deg, #00ffd1 0%, #00d4aa 100%)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap w-5 h-5 sm:w-6 sm:h-6 text-slate-900"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg></div><div><h1 class="text-lg sm:text-2xl font-bold text-white">aFRR Revenue Simulator</h1><p class="text-xs sm:text-sm text-slate-400">Transelectrica Balancing Market ⢠DAMAS</p></div></div><div class="flex items-center gap-2 sm:gap-4"><div class="flex items-center gap-2 px-2 sm:px-3 py-1 sm:py-1.5 rounded-lg bg-slate-800/50 border border-slate-700"><span class="w-1.5 h-1.5 sm:w-2 sm:h-2 rounded-full bg-green-500 animate-pulse"></span><span class="text-[10px] sm:text-xs text-slate-400">DATA SOURCE</span></div><div class="px-2 sm:px-3 py-1 sm:py-1.5 rounded-lg bg-[#00ffd1]/10 border border-[#00ffd1]/30"><span class="text-xs sm:text-sm text-[#00ffd1] font-mono">RO-TSO</span></div></div></div><div class="grid grid-cols-1 lg:grid-cols-3 gap-3 sm:gap-4"><div class="lg:col-span-2 bg-gradient-to-br from-slate-900 to-slate-900/50 border border-slate-700 rounded-xl p-3 sm:p-5"><div class="flex flex-col sm:flex-row sm:items-center gap-2 mb-3 sm:mb-4"><div class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity w-4 h-4 sm:w-5 sm:h-5 text-[#00ffd1]"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg><h2 class="text-base sm:text-lg font-semibold text-white">Romanian aFRR Market Overview</h2></div><span class="text-[10px] sm:text-xs text-slate-400 sm:ml-auto">source pending</span></div><div class="grid grid-cols-2 gap-2 sm:gap-3 md:grid-cols-4 md:gap-4 mb-3 sm:mb-4"><div class="bg-slate-800/50 rounded-lg p-2 sm:p-3"><p class="text-[9px] sm:text-[10px] uppercase tracking-wider text-slate-400 mb-1">aFRR+ Avg Price</p><p class="text-base sm:text-xl font-bold text-[#00ffd1] font-mono">175.0<!-- --> â¬</p><p class="text-[9px] sm:text-[10px] text-slate-400 mt-0.5 sm:mt-1">per MWh activated</p></div><div class="bg-slate-800/50 rounded-lg p-2 sm:p-3"><p class="text-[9px] sm:text-[10px] uppercase tracking-wider text-slate-400 mb-1">aFRR- Avg Price</p><p class="text-base sm:text-xl font-bold text-amber-400 font-mono">-33.0<!-- --> â¬</p><p class="text-[9px] sm:text-[10px] text-amber-500 mt-0.5 sm:mt-1">Negative = You GET PAID!</p></div><div class="bg-slate-800/50 rounded-lg p-2 sm:p-3"><p class="text-[9px] sm:text-[10px] uppercase tracking-wider text-slate-400 mb-1">% Negative Prices</p><p class="text-base sm:text-xl font-bold text-amber-400 font-mono">41<!-- -->%</p><p class="text-[9px] sm:text-[10px] text-slate-400 mt-0.5 sm:mt-1">of DOWN activations</p></div><div class="bg-slate-800/50 rounded-lg p-2 sm:p-3"><p class="text-[9px] sm:text-[10px] uppercase tracking-wider text-slate-400 mb-1">Data Range</p><p class="text-base sm:text-lg font-bold text-white font-mono">639<!-- --> days</p><p class="text-[9px] sm:text-[10px] text-slate-400 mt-0.5 sm:mt-1">2024-01<!-- --> â <!-- -->2025-10</p></div></div><div class="grid grid-cols-2 gap-4"><div class="bg-slate-800/30 rounded-lg p-3"><div class="flex items-center justify-between mb-2"><span class="text-sm text-[#00ffd1] font-medium flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right w-4 h-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg> aFRR+ (UP)</span><span class="text-xs text-slate-400">Discharge to grid</span></div><div class="flex items-center gap-2 text-xs"><span class="text-slate-400">Min:</span><span class="font-mono text-white">50<!-- -->â¬</span><span class="text-slate-400 mx-2">|</span><span class="text-slate-400">Max:</span><span class="font-mono text-white">450<!-- -->â¬</span></div><div class="mt-2 h-2 bg-slate-700 rounded-full overflow-hidden"><div class="h-full bg-gradient-to-r from-[#00d4aa] to-[#00ffd1]" style="width:75%"></div></div></div><div class="bg-slate-800/30 rounded-lg p-3"><div class="flex items-center justify-between mb-2"><span class="text-sm text-blue-400 font-medium flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-down-right w-4 h-4"><path d="m7 7 10 10"></path><path d="M17 7v10H7"></path></svg> aFRR- (DOWN)</span><span class="text-xs text-slate-400">Charge from grid</span></div><div class="flex items-center gap-2 text-xs"><span class="text-slate-400">Min:</span><span class="font-mono text-amber-400">-150<!-- -->â¬</span><span class="text-slate-400 mx-2">|</span><span class="text-slate-400">Max:</span><span class="font-mono text-white">200<!-- -->â¬</span></div><div class="mt-2 h-2 bg-slate-700 rounded-full overflow-hidden"><div class="h-full bg-gradient-to-r from-amber-500 to-blue-500" style="width:60%"></div></div></div></div></div><div class="bg-gradient-to-br from-blue-900/20 to-slate-900/50 border border-blue-500/30 rounded-xl p-5"><div class="flex items-center gap-2 mb-4"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-info w-5 h-5 text-blue-400"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg><h3 class="text-white font-semibold">How aFRR Works</h3></div><div class="space-y-4 text-sm"><div class="border-l-2 border-[#00ffd1] pl-3"><p class="text-[#00ffd1] font-medium">aFRR+ (Up-Regulation)</p><p class="text-slate-400 text-xs mt-1">Grid frequency LOW â Battery DISCHARGES â Get paid activation price â Recharge later at PZU</p></div><div class="border-l-2 border-blue-400 pl-3"><p class="text-blue-400 font-medium">aFRR- (Down-Regulation)</p><p class="text-slate-400 text-xs mt-1">Grid frequency HIGH â Battery CHARGES â Often GET PAID (negative prices!) â Save PZU cost</p></div><div class="bg-amber-500/10 border border-amber-500/30 rounded-lg p-3 mt-4"><p class="text-amber-400 text-xs font-medium flex items-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-alert-triangle w-3 h-3"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"></path><path d="M12 9v4"></path><path d="M12 17h.01"></path></svg> Romanian Market Insight</p><p class="text-slate-400 text-[11px] mt-1">~41% of aFRR- activations have negative prices. This means you GET PAID to charge your battery!</p></div><div class="pt-2 border-t border-slate-800"><p class="text-[10px] text-slate-400">Settlement: Pay-as-Bid per ANRE Order 2024. Capacity + Activation payments.</p></div></div></div></div><div class="bg-slate-900/50 border border-slate-800 rounded-lg p-5"><div class="panel-header mb-4"><span class="panel-title">Battery & Market Configuration</span></div><div class="mb-5"><label class="block text-xs uppercase tracking-wider text-slate-400 mb-3">FR Products</label><div class="flex flex-wrap gap-2"><button type="button" class="px-4 py-2 rounded border text-sm font-medium transition-all border-blue-500/50 bg-blue-500/10 text-blue-400"><span>aFRR+ (Up)</span><span class="text-[10px] ml-1 opacity-60">(<!-- -->Discharge<!-- -->)</span></button><button type="button" class="px-4 py-2 rounded border text-sm font-medium transition-all border-emerald-500/50 bg-emerald-500/10 text-emerald-400"><span>aFRR- (Down)</span><span class="text-[10px] ml-1 opacity-60">(<!-- -->Charge<!-- -->)</span></button><button type="button" class="px-4 py-2 rounded border text-sm font-medium transition-all border-slate-700 bg-slate-800/50 text-slate-400"><span>mFRR+ (Up)</span><span class="text-[10px] ml-1 opacity-60">(<!-- -->Discharge<!-- -->)</span></button><button type="button" class="px-4 py-2 rounded border text-sm font-medium transition-all border-slate-700 bg-slate-800/50 text-slate-400"><span>mFRR- (Down)</span><span class="text-[10px] ml-1 opacity-60">(<!-- -->Charge<!-- -->)</span></button></div></div><div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3 sm:gap-4 mb-3 sm:mb-4"><div><label for="fr-power-mw" class="block text-[10px] sm:text-xs uppercase tracking-wider text-slate-400 mb-1.5">Power (MW)</label><input id="fr-power-mw" type="number" min="0" class="input-dark w-full font-mono text-base sm:text-sm min-h-[44px] sm:min-h-[36px]" value="10"/></div><div><label for="fr-capacity-mwh" class="block text-[10px] sm:text-xs uppercase tracking-wider text-slate-400 mb-1.5">Capacity (MWh)</label><input id="fr-capacity-mwh" type="number" min="0.1" class="input-dark w-full font-mono text-base sm:text-sm min-h-[44px] sm:min-h-[36px]" value="20"/></div><div><label for="fr-round-trip-efficiency" class="block text-[10px] sm:text-xs uppercase tracking-wider text-slate-400 mb-1.5">Efficiency (%)</label><input id="fr-round-trip-efficiency" type="number" step="1" class="input-dark w-full font-mono text-base sm:text-sm min-h-[44px] sm:min-h-[36px]" value="97"/></div><div><label for="fr-investment-eur" class="block text-[10px] sm:text-xs uppercase tracking-wider text-slate-400 mb-1.5">Investment (â¬)</label><input id="fr-investment-eur" type="number" min="0" class="input-dark w-full font-mono text-base sm:text-sm min-h-[44px] sm:min-h-[36px]" step="100000" value="3500000"/><div class="text-[9px] sm:text-[10px] text-slate-400 mt-1">CAPEX for payback calc</div></div></div><div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3 sm:gap-4 mb-3 sm:mb-4"><div><label for="fr-capacity-price-eur-mw-h" class="flex items-center justify-between text-xs uppercase tracking-wider text-slate-400 mb-1.5"><span>Capacity Price (EUR/MW/h)</span></label><input id="fr-capacity-price-eur-mw-h" type="number" step="0.5" min="0" class="input-dark w-full font-mono" value="10.35"/></div><div><label for="fr-activation-rate-slider" class="flex items-center justify-between text-xs uppercase tracking-wider text-slate-400 mb-1.5"><span title="Fraction of total PICASSO activation calls captured by this battery. Backend default = 3%. Note: a 10 MW battery is THROUGHPUT-BOUND at ~0.91% share â any value above 1% saturates and adds no additional MWh.">PICASSO activation share (%)</span><span class="px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/30 text-amber-400 text-[10px] font-mono n
24ormal-case" title="Above 1% share, the 10 MW / 20 MWh battery hits its physical throughput cap (~7,361 MWh/yr). Additional share is cosmetic â revenue does not scale further.">Throughput-bound</span></label><div class="flex items-center gap-2"><input id="fr-activation-rate-slider" type="range" min="0.1" max="20" step="0.1" class="flex-1 h-2 bg-slate-700 rounded-lg appearance-none cursor-pointer" aria-valuetext="3.0 percent PICASSO activation share" value="3"/><span class="text-sm font-mono text-[#00ffd1] w-14 text-right">3.0<!-- -->%</span></div><div class="text-[10px] text-slate-400 mt-1">0.91% = throughput cap for 10 MW BESS. Backend default 3%. Higher values produce identical MWh (saturation) but capacity revenue still scales with capacity-price input.</div></div><div><label for="fr-energy-cost-eur-mwh" class="block text-xs uppercase tracking-wider text-slate-400 mb-1.5">Recharge Cost (EUR/MWh)</label><input id="fr-energy-cost-eur-mwh" type="number" min="0" class="input-dark w-full font-mono" value="80"/><div class="text-[10px] text-slate-400 mt-1">PZU price to recharge after UP activations</div></div><div class="flex items-end sm:col-span-1"><button type="button" class="btn-primary w-full h-[48px] sm:h-[38px] text-base sm:text-sm font-semibold">Run Simulation</button></div></div><div class="border-t border-slate-800 pt-3 sm:pt-4 mt-3 sm:mt-4"><label class="block text-[10px] sm:text-xs uppercase tracking-wider text-slate-400 mb-2 sm:mb-3">Pay-as-Bid Activation Prices</label><div class="grid grid-cols-1 sm:grid-cols-2 gap-3 sm:gap-4"><div><label for="fr-activation-price-up-eur-mwh" class="block text-[10px] uppercase tracking-wider text-blue-400/70 mb-1">UP Activation (EUR/MWh)</label><input id="fr-activation-price-up-eur-mwh" type="number" class="input-dark w-full font-mono" value="170"/></div><div><label for="fr-activation-price-down-eur-mwh" class="block text-[10px] uppercase tracking-wider text-emerald-400/70 mb-1">DOWN Activation (EUR/MWh)</label><input id="fr-activation-price-down-eur-mwh" type="number" class="input-dark w-full font-mono" value="130"/></div></div></div></div><div class="bg-slate-900/30 border border-slate-800 rounded-lg p-12 text-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap h-10 w-10 text-slate-400 mx-auto mb-4"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg><h3 class="text-lg font-medium text-slate-400">Ready to Simulate</h3><p class="text-slate-400 mt-1 text-sm">Configure battery and market parameters, then run simulation</p></div><div class="mt-8 bg-slate-900/50 border border-slate-800 rounded-lg overflow-hidden"><div class="bg-gradient-to-r from-slate-900 to-slate-800 px-6 py-4 border-b border-slate-700"><div class="flex items-center justify-between"><div class="flex items-center gap-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity w-6 h-6 text-[#00ffd1]"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg><h2 class="text-lg font-semibold text-white">DAMAS aFRR Price Explorer</h2></div><span class="px-2 py-1 bg-[#00ffd1]/10 border border-[#00ffd1]/30 text-[#00ffd1] text-xs font-mono rounded">15-min slots</span></div></div><div class="p-6"><div class="flex items-center gap-4 mb-6"><button type="button" aria-label="Previous date" disabled="" class="p-2 bg-slate-800 hover:bg-slate-700 disabled:opacity-30 disabled:cursor-not-allowed rounded border border-slate-700 transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-left w-5 h-5 text-slate-300"><path d="m15 18-6-6 6-6"></path></svg></button><input type="date" aria-label="Selected date" class="flex-1 px-4 py-2 bg-slate-800 border border-slate-700 rounded text-white font-mono" value=""/><button type="button" aria-label="Next date" disabled="" class="p-2 bg-slate-800 hover:bg-slate-700 disabled:opacity-30 disabled:cursor-not-allowed rounded border border-slate-700 transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right w-5 h-5 text-slate-300"><path d="m9 18 6-6-6-6"></path></svg></button></div></div></div><div class="mt-8 bg-slate-900/50 border border-slate-800 rounded-lg overflow-hidden"><div class="bg-gradient-to-r from-slate-900 to-slate-800 px-6 py-4 border-b border-slate-700"><div class="flex items-center justify-between"><div class="flex items-center gap-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-target w-6 h-6 text-[#00ffd1]"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg><h2 class="text-lg font-semibold text-white">aFRR Bidding Optimizer</h2></div><span class="px-2 py-1 bg-[#00ffd1]/10 border border-[#00ffd1]/30 text-[#00ffd1] text-xs font-mono rounded">AI-Powered</span></div><p class="text-sm text-slate-400 mt-2">Analyze <!-- -->638<!-- --> days of historical data to optimize your bidding strategy</p></div><div class="p-6 space-y-6"></div><div class="space-y-8 mt-12"><div class="border-t border-slate-700 pt-8"><h2 class="text-3xl font-bold text-white mb-6 flex items-center gap-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-target w-8 h-8 text-emerald-400"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg>Safe Bid Calculator</h2><p class="text-slate-300 mb-8 leading-relaxed">Calculate optimal bid prices that maximize battery utilization while maintaining high acceptance rates. For batteries with capacity constraints (900 MWh/month), <strong class="text-emerald-400">utilization rate matters more than price per MWh</strong>.</p><div class="bg-slate-800/50 backdrop-blur-sm rounded-xl border border-slate-700/50 p-6 mb-6"><div class="flex items-center justify-between mb-4"><label for="fr-safe-bid-acceptance-slider" class="text-sm font-medium text-slate-300">Target Acceptance Rate</label><span class="text-2xl font-bold text-emerald-400">90<!-- -->%</span></div><input id="fr-safe-bid-acceptance-slider" type="range" min="0.80" max="0.95" step="0.05" class="w-full h-2 bg-slate-700 rounded-lg appearance-none cursor-pointer accent-emerald-500" aria-valuetext="90 percent safe bid target acceptance rate" value="
240.9"/><div class="flex justify-between mt-2 text-xs text-slate-400"><span>80% (Balanced)</span><span>85% (Moderate)</span><span>90% (Conservative)</span><span>95% (Ultra-Safe)</span></div><div class="mt-4 p-3 bg-slate-900/50 rounded-lg border border-slate-700/50"><p class="text-xs text-slate-400">ð¯ Conservative: Very high acceptance probability, safe and predictable.</p></div></div></div></div></div><div class="mx-auto max-w-7xl px-4 pb-12 pt-2"><div class="mb-3 flex flex-wrap items-center justify-between gap-3"><div><h2 class="text-lg font-semibold text-white">Multi-product revenue split (Phase E)</h2><p class="text-xs text-slate-400">Capacity (â¬/MW/h paid 24/7) vs activation (â¬/MWh paid when called). aFRR + mFRR settle pay-as-bid since ANRE Order 60/2024; FCR remains marginal-priced. Min-bid raises from 1 to 5 MW under MARI (2026-04-01).</p></div><div class="flex flex-wrap items-center gap-2"><button type="button" class="rounded px-3 py-1 text-xs font-mono uppercase transition bg-emerald-600 text-white">aFRR</button><button type="button" class="rounded px-3 py-1 text-xs font-mono uppercase transition border border-slate-700 bg-slate-900 text-slate-400 hover:bg-slate-800">mFRR</button><button type="button" class="rounded px-3 py-1 text-xs font-mono uppercase transition border border-slate-700 bg-slate-900 text-slate-400 hover:bg-slate-800">FCR</button><button type="button" class="rounded bg-blue-600 px-3 py-1 text-xs font-mono uppercase text-white hover:bg-blue-500 disabled:opacity-50">Run multi-product</button></div></div></div></div></div></main></div>
24<script src="/_next/static/chunks/webpack-2e6be951e5eefd17.js" crossorigin="" async=""></script>
24<script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script>
24<script>self.__next_f.push([1,"1:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/css/b652392d48cf7a31.css\",\"style\",{\"crossOrigin\":\"\"}]\n0:\"$L3\"\n"])</script>
24<script>self.__next_f.push([1,"4:I[47690,[],\"\"]\n6:I[77831,[],\"\"]\n7:I[26966,[\"123\",\"static/chunks/123-4791625314ad9618.js\",\"563\",\"static/chunks/563-c1209c26f5e12d39.js\",\"135\",\"static/chunks/135-b0954dda00214aa7.js\",\"223\",\"static/chunks/app/fr-simulator/page-74873b549257ea61.js\"],\"\"]\n8:I[5613,[],\"\"]\n9:I[31778,[],\"\"]\na:I[797,[\"396\",\"static/chunks/396-bdfda04fca26f9f8.js\",\"856\",\"static/chunks/856-929f74d7f8043902.js\",\"185\",\"static/chunks/app/layout-abf442add9a496fe.js\"],\"Providers\"]\nb:I[76380,[\"396\",\"static/chunks/396-bdfda04fca26f9f8.js\",\"8"])</script>
24<script>self.__next_f.push([1,"56\",\"static/chunks/856-929f74d7f8043902.js\",\"185\",\"static/chunks/app/layout-abf442add9a496fe.js\"],\"MobileNav\"]\nd:I[48955,[],\"\"]\n"])</script>
24<script>self.__next_f.push([1,"3:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b652392d48cf7a31.css\",\"precedence\":\"next\",\"crossOrigin\":\"\"}]],[\"$\",\"$L4\",null,{\"buildId\":\"lujaLqWf6j4k-X-k4m6OJ\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/fr-simulator\",\"initialTree\":[\"\",{\"children\":[\"fr-simulator\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"fr-simulator\",{\"children\":[\"__PAGE__\",{},[\"$L5\",[\"$\",\"$L6\",null,{\"propsForComponent\":{\"params\":{}},\"Component\":\"$7\",\"isStaticGeneration\":true}],null]]},[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"fr-simulator\",\"children\"],\"loading\":\"$undefined\",\"loadingStyles\":\"$undefined\",\"loadingScripts\":\"$undefined\",\"hasLoading\":false,\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}]]},[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_f367f3\",\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"loading\":\"$undefined\",\"loadingStyles\":\"$undefined\",\"loadingScripts\":\"$undefined\",\"hasLoading\":false,\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]}]}]}],null]],\"initialHead\":[false,\"$Lc\"],\"globalErrorComponent\":\"$d\"}]]\n"])</script>
24<script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"eBattery Analytics | Energy Storage Platform\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Professional Battery Energy Storage Analytics Platform by eBattery.energy\"}],[\"$\",\"meta\",\"4\",{\"name\":\"next-size-adjust\"}]]\n5:null\n"])</script>
24<script>self.__next_f.push([1,""])</script>
24</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.