Interactive Brokers Brokerage Fees Feature & Comparison Widget post SEBI’s Aug 14 Brokerage Deadline for Post-CAS Indicative Prices
1 min read
Interactive Brokers Brokerage Fees Feature & Comparison Widget is the best ready reckoner tool currently for all investors who have built their stock market share portfolios from the Indian brokerage platforms. Post SEBI’s Aug 14 Brokerage Deadline for Post-CAS Indicative Prices, it has directly impacted the settlement operations of these brokerage firms & platforms which would apply these costs to their customers. Hence, we have built this tracker for you to involve yourself into these platforms fees for this settlement amendment from SEBI. Please use this tool freely & if finding it useful, please forward it to your family & friends.
<!-- NewsBizkoot Brokerage & SEBI CAS Comparison Tool -->
<div id="nbk-broker-calculator" class="nbk-calc-container">
<div class="nbk-calc-header">
<h2>Indian Interactive Brokers Brokerage Fees & SEBI CAS Readiness Calculator</h2>
<p>Estimate your monthly trading costs and check live Closing Auction Session (CAS) support across top brokers.</p>
</div>
<div class="nbk-calc-body">
<!-- User Controls -->
<div class="nbk-controls-grid">
<div class="nbk-control-group">
<label for="nbk-delivery-vol">Monthly Delivery Turnover: <span id="nbk-delivery-val" class="nbk-highlight">₹2,00,000</span></label>
<input type="range" id="nbk-delivery-vol" min="0" max="2000000" step="50000" value="200000">
</div>
<div class="nbk-control-group">
<label for="nbk-fno-orders">Monthly Intraday & F&O Orders: <span id="nbk-fno-val" class="nbk-highlight">30 Orders</span></label>
<input type="range" id="nbk-fno-orders" min="0" max="300" step="5" value="30">
</div>
</div>
<!-- Comparison Cards -->
<div class="nbk-broker-grid" id="nbk-broker-results">
<!-- Cards rendered dynamically via JS -->
</div>
<!-- Regulatory Note -->
<div class="nbk-calc-footer">
<small><strong>SEBI August 14 Compliance:</strong> Indicative closing price displays help traders track 3:15 PM – 3:35 PM auction price discovery and prevent post-market settlement surprises.</small>
</div>
</div>
</div>
<style>
.nbk-calc-container {
background: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 12px;
padding: 24px;
margin: 28px 0;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
color: #1e293b;
}
.nbk-calc-header h3 {
margin: 0 0 6px 0;
font-size: 1.25rem;
color: #0f172a;
}
.nbk-calc-header p {
margin: 0 0 20px 0;
font-size: 0.9rem;
color: #64748b;
}
.nbk-controls-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
background: #f8fafc;
padding: 16px;
border-radius: 8px;
margin-bottom: 20px;
}
@media (max-width: 640px) {
.nbk-controls-grid { grid-template-columns: 1fr; }
}
.nbk-control-group label {
display: block;
font-size: 0.85rem;
font-weight: 600;
margin-bottom: 8px;
}
.nbk-highlight {
color: #2563eb;
font-weight: 700;
}
.nbk-control-group input[type="range"] {
width: 100%;
accent-color: #2563eb;
cursor: pointer;
}
.nbk-broker-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 16px;
}
.nbk-broker-card {
border: 1px solid #e2e8f0;
border-radius: 8px;
padding: 16px;
background: #ffffff;
transition: transform 0.15s ease, border-color 0.15s ease;
}
.nbk-broker-card:hover {
border-color: #3b82f6;
transform: translateY(-2px);
}
.nbk-broker-name {
font-size: 1rem;
font-weight: 700;
color: #0f172a;
margin-bottom: 4px;
}
.nbk-cost-label {
font-size: 0.75rem;
color: #64748b;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.nbk-cost-value {
font-size: 1.35rem;
font-weight: 800;
color: #059669;
margin: 2px 0 12px 0;
}
.nbk-features-list {
font-size: 0.8rem;
color: #334155;
border-top: 1px solid #f1f5f9;
padding-top: 10px;
margin: 0;
list-style: none;
}
.nbk-features-list li {
margin-bottom: 6px;
display: flex;
align-items: center;
gap: 6px;
}
.nbk-badge-live {
background: #dcfce7;
color: #15803d;
font-size: 0.7rem;
font-weight: 700;
padding: 2px 6px;
border-radius: 4px;
display: inline-block;
}
.nbk-calc-footer {
margin-top: 20px;
padding-top: 12px;
border-top: 1px dashed #cbd5e1;
font-size: 0.75rem;
color: #64748b;
}
</style>
<script>
(function() {
const brokers = [
{
name: "Groww",
deliveryRate: 0,
deliveryFlat: 20, // ₹20 or 0.05% per order
fnoRate: 20,
casStatus: "Live on Web & App",
casBadge: "Aug 14 Ready",
notes: "Indicative CAS close live on mobile app"
},
{
name: "Angel One",
deliveryRate: 0,
deliveryFlat: 0,
fnoRate: 20,
casStatus: "Live on Web & App",
casBadge: "Aug 14 Ready",
notes: "Shows post-CAS equilibrium pricing"
},
{
name: "Zerodha",
deliveryRate: 0,
deliveryFlat: 0,
fnoRate: 20,
casStatus: "Live on Kite Web/App",
casBadge: "Live",
notes: "Auction matching window displayed"
},
{
name: "ICICI Direct",
deliveryRate: 0.001, // 0.1% for prime/standard
deliveryFlat: 0,
fnoRate: 20,
casStatus: "Live on Web & App",
casBadge: "Aug 14 Ready",
notes: "Integrated in 3-in-1 market watch"
}
];
const deliverySlider = document.getElementById("nbk-delivery-vol");
const fnoSlider = document.getElementById("nbk-fno-orders");
const deliveryLabel = document.getElementById("nbk-delivery-val");
const fnoLabel = document.getElementById("nbk-fno-val");
const resultsContainer = document.getElementById("nbk-broker-results");
function formatCurrency(val) {
return "₹" + Number(val).toLocaleString("en-IN");
}
function calculateAndRender() {
const deliveryVol = parseInt(deliverySlider.value, 10);
const fnoOrders = parseInt(fnoSlider.value, 10);
deliveryLabel.textContent = formatCurrency(deliveryVol);
fnoLabel.textContent = fnoOrders + " Orders";
resultsContainer.innerHTML = "";
brokers.forEach(broker => {
// Estimated calculations
let deliveryCost = 0;
if (broker.deliveryFlat > 0 && deliveryVol > 0) {
deliveryCost = Math.min(20 * 4, deliveryVol * 0.0005); // avg 4 trades
} else if (broker.deliveryRate > 0) {
deliveryCost = deliveryVol * broker.deliveryRate;
}
const fnoCost = fnoOrders * broker.fnoRate;
const totalEstimatedCost = Math.round(deliveryCost + fnoCost);
const card = document.createElement("div");
card.className = "nbk-broker-card";
card.innerHTML = `
<div class="nbk-broker-name">${broker.name}</div>
<div class="nbk-cost-label">Est. Monthly Brokerage</div>
<div class="nbk-cost-value">${formatCurrency(totalEstimatedCost)}</div>
<ul class="nbk-features-list">
<li><strong>Delivery:</strong> ${broker.deliveryRate === 0 && broker.deliveryFlat === 0 ? "₹0 (Free)" : "₹20 / 0.05%"}</li>
<li><strong>F&O / Intraday:</strong> ₹${broker.fnoRate}/order</li>
<li><strong>CAS Screen:</strong> <span class="nbk-badge-live">${broker.casBadge}</span></li>
<li><small>${broker.notes}</small></li>
</ul>
`;
resultsContainer.appendChild(card);
});
}
deliverySlider.addEventListener("input", calculateAndRender);
fnoSlider.addEventListener("input", calculateAndRender);
// Initial calculation on load
calculateAndRender();
})();
</script>