Search projects, hackathons, sponsors and tech

    ← All projects

    Tatkal60

    60-second price game on Hedera with Pyth BTC feed + CCIP cross-chain funding.

    Demo

    About

    Tatkal60 is a fast, fair, on-chain micro-market built on Hedera EVM. Every 60 seconds a round opens where users bet UP/DOWN on BTC/USD. Prices are secured by Pyth Network and pushed on-chain right before resolve to prevent stale data. Funding is native HBAR today, with a built-in Chainlink CCIP Receiver to accept deposits from Ethereum (Sepolia) → Hedera for cross-chain onboarding. Why it matters - Brings sub-minute prediction gameplay to Hedera with verifiable settlement. - Eliminates oracle games: rounds resolve only after a fresh Pyth update is posted. - Cross-chain UX: users on Ethereum can fund play on Hedera via CCIP (receiver live in contracts). How it works 1. EscrowGame.sol manages 60s rounds, pools, fees, and pro-rata payouts (or refunds on flat outcomes). 2. OracleAdapter.sol reads BTC/USD from Pyth; UI can “Refresh Pyth” (Hermes → on-chain) to ensure a fresh update. 3. CCIPReceiver.sol listens for approved CCIP messages (Sepolia) and credits the user on Hedera, enabling cross-chain funding. 4. Frontend (React + Tailwind) shows live on-chain price with Hermes fallback, wallet balance, rounds list, and 1-click bet/claim with Hashscan links. Tech & integrations - Hedera EVM + optional HTS usage. - Pyth BTC/USD feed (Hermes updates posted on-chain; freshness window set to 75s for 60s rounds). - Chainlink CCIP (Sepolia → Hedera) for cross-chain deposits via our CCIP Receiver contract. - Wallets: MetaMask (MVP). Roadmap - Enable CCIP withdrawals (Hedera → Sepolia) and multi-asset markets. - Add native Hedera wallets (HashPack/Kabila) and MetaMask Snap. - Expand to more Pyth symbols and HTS-hybrid rewards.

    How it's made

    We built Tatkal60 on Hedera EVM with a small set of Solidity contracts: - EscrowGame.sol – manages 60-second rounds, pools, fees, and pro-rata payouts (or refunds on flat outcomes). - OracleAdapter.sol – reads BTC/USD from Pyth. We post fresh updates via Hermes → updatePriceFeeds before resolve so the read is never stale. - CCIPReceiver.sol – Chainlink CCIP entrypoint to accept cross-chain deposits (Sepolia → Hedera) for funding rounds. (Receiver live; sender flow documented for next iteration.) Frontend is React + Vite + Tailwind with ethers v6 and Zustand for a tiny wallet store (MetaMask for MVP). The UI shows a live on-chain price (fallback to Hermes if stale), wallet balance, round list, and one-click bet/resolve/claim with toasts and Hashscan links. Dev notes / hacks that helped: - Hedera requires non-zero msg.value ≥ 1 tinybar; our Pyth helper auto-bumps the fee to pass node validation. - We tuned a freshness window = 75s (60s round + buffer) and made it env-configurable. - Read model loads nextRoundId() and getRound(id); if unavailable it reconstructs from events as a fallback. - All addresses/ABIs are chain-scoped via env (e.g., _296 for testnet), which kept deploys painless Stack: Hedera EVM (+ HTS ready), Solidity/Hardhat, Pyth (Hermes + on-chain program), Chainlink CCIP, React/TypeScript, Tailwind, Vite, ethers v6.