Skip to content
LAM
Read Home Blog
Make Projects HTML Tools Games
Touch grass Notes Resume Links
Home Blog HTML Projects
Tools Games Notes Resume Links
Back Kalshi Trading Cheat Sheet Finance
Download Open
Show description 1,337 chars · Finance

Kalshi Trading Cheat Sheet

Kalshi Trading Cheat Sheet










KALSHI TRADING CHEAT SHEET

Your Strategy for Consistent 10% Wins








Core Concepts: The Spread

The price you see is determined by the **Bid** (your sell price) and the **Ask** (the buy price). The gap between them is the **Spread**.




4¢
BID





29¢
ASK







WIDE SPREAD (Pre-Game): High risk, low liquidity. Hard to sell.

TIGHT SPREAD (Live Game): Lower risk, high liquidity. Easy to sell.








Fee Structure




NO FEE to buy contracts.




NO FEE if you sell for a loss.




A small fee is charged ONLY on your PROFIT when you sell.








The 10% Profit Calculator

Calculate your exact exit price to lock in a 10% net profit after fees.




Your Buy Price (¢)





Target Sell Price (After 3.5% Fee)

15.5¢






The Formula:

Sell Price = Buy Price + ( (Buy Price * 0.10) / 0.965 )







Your Rules for Success



1. Buy Low

Find good entry points when the market is undervaluing an outcome.




2. Stick to the Plan

Use the calculator. Sell when you hit your target profit %.




3. Lock It In

A small, guaranteed win is better than a potential big loss. Don't get greedy.




4. Know the Phase

Pre-game is for planning. The live game is for trading when liquidity is high.

Kalshi Trading Cheat Sheet

11,987 bytes · HTML source
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Kalshi Trading Cheat Sheet</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400;500&display=swap" rel="stylesheet">
    <style>
        body {
            font-family: 'Roboto Mono', monospace;
            background-color: #0a0a0a;
            color: #f0f0f0;
        }

        /* --- Custom Animations --- */
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        @keyframes slideInUp {
            from { transform: translateY(20px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }
        
        @keyframes scaleUp {
            from { transform: scale(0.9); opacity: 0; }
            to { transform: scale(1); opacity: 1; }
        }

        .fade-in {
            animation: fadeIn 0.8s ease-in-out forwards;
        }
        
        .slide-in-up {
            animation: slideInUp 0.6s ease-out forwards;
        }

        .tile {
            background-color: #111;
            border: 1px solid #333;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            animation: scaleUp 0.5s ease-out forwards;
            opacity: 0;
        }

        .tile:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5);
        }

        /* --- Visualization Styling --- */
        .spread-container {
            display: flex;
            align-items: flex-end;
            height: 100px;
            gap: 2px;
        }

        .spread-bar {
            width: 50px;
            background-color: #444;
            transition: height 0.5s ease-in-out;
            position: relative;
        }
        
        .spread-bar .label {
            position: absolute;
            bottom: -25px;
            left: 50%;
            transform: translateX(-50%);
            font-size: 0.8rem;
            white-space: nowrap;
        }
        
        .spread-bar .price {
            position: absolute;
            top: -25px;
            left: 50%;
            transform: translateX(-50%);
            font-size: 0.9rem;
            font-weight: 500;
            opacity: 0;
            transition: opacity 0.5s ease;
        }
        
        .spread-container:hover .spread-bar .price {
            opacity: 1;
        }

        #bid-bar { height: 40%; background-color: #ccc; }
        #ask-bar { height: 80%; background-color: #eee; }
        #gap-bar {
            width: 100px;
            height: 10px;
            background: repeating-linear-gradient(45deg, #222, #222 5px, #333 5px, #333 10px);
            align-self: center;
        }
        
        /* --- Calculator Styling --- */
        .calculator input {
            background-color: #222;
            border: 1px solid #444;
            text-align: center;
            font-size: 1.5rem;
            caret-color: #00ff00;
        }
        
        .calculator-output {
            transition: transform 0.3s ease, color 0.3s ease;
            transform-origin: center;
        }
        
        .calculator-output.updated {
            transform: scale(1.1);
            color: #00ff00;
        }

    </style>
</head>
<body class="p-4 sm:p-8">

    <div class="max-w-7xl mx-auto">

        <!-- Header -->
        <header class="text-center mb-12 fade-in">
            <h1 class="text-3xl sm:text-5xl font-bold tracking-wider">KALSHI TRADING CHEAT SHEET</h1>
            <p class="text-gray-400 mt-2 text-sm sm:text-base">Your Strategy for Consistent 10% Wins</p>
        </header>

        <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">

            <!-- Tile 1: Key Concepts -->
            <div class="tile p-6 rounded-lg md:col-span-2" style="animation-delay: 0.1s;">
                <h2 class="text-xl font-bold mb-4 border-b border-gray-600 pb-2">Core Concepts: The Spread</h2>
                <p class="text-gray-400 text-sm mb-6">The price you see is determined by the **Bid** (your sell price) and the **Ask** (the buy price). The gap between them is the **Spread**.</p>
                <div class="flex justify-center items-center p-4">
                    <div class="spread-container">
                        <div id="bid-bar" class="spread-bar rounded-t-sm">
                            <span class="price" id="bid-price-label">4¢</span>
                            <span class="label">BID</span>
                        </div>
                        <div id="gap-bar"></div>
                        <div id="ask-bar" class="spread-bar rounded-t-sm">
                             <span class="price" id="ask-price-label">29¢</span>
                             <span class="label">ASK</span>
                        </div>
                    </div>
                </div>
                 <div class="mt-8 text-center text-xs text-gray-400">
                    <p><strong class="text-white">WIDE SPREAD (Pre-Game):</strong> High risk, low liquidity. Hard to sell.</p>
                    <p><strong class="text-white">TIGHT SPREAD (Live Game):</strong> Lower risk, high liquidity. Easy to sell.</p>
                </div>
            </div>

            <!-- Tile 2: Fee Structure -->
            <div class="tile p-6 rounded-lg" style="animation-delay: 0.2s;">
                <h2 class="text-xl font-bold mb-4 border-b border-gray-600 pb-2">Fee Structure</h2>
                <ul class="space-y-4 text-gray-300">
                    <li class="flex items-start">
                        <svg class="w-5 h-5 mr-3 text-green-400 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path></svg>
                        <span><strong class="text-white">NO FEE</strong> to buy contracts.</span>
                    </li>
                    <li class="flex items-start">
                        <svg class="w-5 h-5 mr-3 text-green-400 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path></svg>
                        <span><strong class="text-white">NO FEE</strong> if you sell for a loss.</span>
                    </li>
                    <li class="flex items-start">
                        <svg class="w-5 h-5 mr-3 text-yellow-400 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"></path></svg>
                        <span>A small fee is charged <strong class="text-white">ONLY</strong> on your <strong class="text-green-400">PROFIT</strong> when you sell.</span>
                    </li>
                </ul>
            </div>

            <!-- Tile 3: The 10% Profit Algorithm -->
            <div class="tile p-6 rounded-lg lg:col-span-3 calculator" style="animation-delay: 0.3s;">
                 <h2 class="text-xl font-bold mb-2 text-center">The 10% Profit Calculator</h2>
                 <p class="text-gray-400 text-sm mb-6 text-center">Calculate your exact exit price to lock in a 10% net profit after fees.</p>
                 <div class="grid grid-cols-1 md:grid-cols-3 items-center gap-6 text-center">
                    <!-- Input -->
                    <div>
                        <label for="buyPrice" class="block text-sm font-medium text-gray-300 mb-2">Your Buy Price (¢)</label>
                        <input type="number" id="buyPrice" value="14" class="w-32 p-2 rounded-md focus:outline-none focus:ring-2 focus:ring-green-500">
                    </div>
                    <!-- Output -->
                    <div class="md:col-span-2">
                        <p class="text-sm text-gray-300 mb-2">Target Sell Price (After 3.5% Fee)</p>
                        <div id="targetPrice" class="text-4xl font-bold calculator-output">15.5¢</div>
                    </div>
                </div>
                 <div class="mt-6 p-4 bg-gray-900 rounded-md text-center">
                    <p class="text-gray-400 text-sm">The Formula:</p>
                    <code class="text-green-400 text-base">Sell Price = Buy Price + ( (Buy Price * 0.10) / 0.965 )</code>
                </div>
            </div>

            <!-- Tile 4: Your Rules for Success -->
            <div class="tile p-6 rounded-lg lg:col-span-3" style="animation-delay: 0.4s;">
                <h2 class="text-xl font-bold mb-4 border-b border-gray-600 pb-2">Your Rules for Success</h2>
                <div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-4 gap-4 text-center">
                    <div class="p-4 bg-gray-900/50 rounded-md">
                        <h3 class="font-bold text-lg">1. Buy Low</h3>
                        <p class="text-xs text-gray-400">Find good entry points when the market is undervaluing an outcome.</p>
                    </div>
                     <div class="p-4 bg-gray-900/50 rounded-md">
                        <h3 class="font-bold text-lg">2. Stick to the Plan</h3>
                        <p class="text-xs text-gray-400">Use the calculator. Sell when you hit your target profit %.</p>
                    </div>
                     <div class="p-4 bg-gray-900/50 rounded-md">
                        <h3 class="font-bold text-lg">3. Lock It In</h3>
                        <p class="text-xs text-gray-400">A small, guaranteed win is better than a potential big loss. Don't get greedy.</p>
                    </div>
                     <div class="p-4 bg-gray-900/50 rounded-md">
                        <h3 class="font-bold text-lg">4. Know the Phase</h3>
                        <p class="text-xs text-gray-400">Pre-game is for planning. The live game is for trading when liquidity is high.</p>
                    </div>
                </div>
            </div>

        </div>
    </div>

    <script>
        const buyPriceInput = document.getElementById('buyPrice');
        const targetPriceDiv = document.getElementById('targetPrice');
        const feeRate = 0.035; // 3.5% fee
        const profitTarget = 0.10; // 10% profit

        function calculateTargetPrice() {
            const buyPrice = parseFloat(buyPriceInput.value) / 100; // convert cents to dollars
            if (isNaN(buyPrice) || buyPrice <= 0) {
                targetPriceDiv.textContent = '---';
                return;
            }

            const grossProfit = (buyPrice * profitTarget) / (1 - feeRate);
            const sellPrice = buyPrice + grossProfit;
            const sellPriceInCents = (sellPrice * 100).toFixed(1);

            targetPriceDiv.textContent = `${sellPriceInCents}¢`;
            
            // Animation trigger
            targetPriceDiv.classList.add('updated');
            setTimeout(() => {
                targetPriceDiv.classList.remove('updated');
            }, 300);
        }

        buyPriceInput.addEventListener('input', calculateTargetPrice);

        // Initial calculation on load
        calculateTargetPrice();
        
        // Animate tiles on load
        document.addEventListener('DOMContentLoaded', () => {
            const tiles = document.querySelectorAll('.tile');
            tiles.forEach((tile, index) => {
                tile.style.animationDelay = `${index * 0.1}s`;
            });
        });
        
    </script>
</body>
</html>