After the hols in Italy it was straight back into suring up the Sportsblock server. The goal is to make it a Fintech grade A platform and I have finally achieved this in the backend. So last week i was back to changing other features such as performance, new features and a whole lot more guardrails and Sentry configuration so if something leaks or fails then I get an alert.
Sportsblock — Week of 8–12 June 2026
54 commits merged to main, all via PRs.
The headline: the World Cup contest stack went live end-to-end, the entire money pipeline got a deep security hardening pass, and the broadcast layout migration was completed — the legacy chrome is gone for good.
🏆 World Cup contest stack (#483, #484, #491, #492, #493, #494)
- Added FIFA World Cup to the ESPN football leagues, so match threads cover the tournament.
- Built an admin match-results entry page for the World Cup contest, then layered an ESPN sync cron on top so fixtures and group results flow in automatically.
- Unified all contest systems (LMS, IPL BB, Matchday Matrix, FTC, generic contests) under a single Contest Hub in admin.
- Polished the results surface: chronological matchday ordering with kickoff times, drawn-final winner handling, round validation, and proper CTAs on locked contests.
🔒 Money-flow security hardening (#475–#482, #459)
A full audit sweep across every MEDALS-moving path, shipped as eight tightly-scoped PRs in one day:
- Escrow-drain and double-credit windows closed on predictions v2 stakes.
- Entry-data validation at
/enter/confirm— prize-pool theft vector eliminated. - Claim-before-broadcast on FTC and IPL BB prize payouts — double-pay impossible.
- Anti-whale caps now enforced at credit time, and responsible-gambling stake caps enforced on the live v2 path.
- Real on-chain txId recovery for HiveSigner entries, PENDING payout ledger at Matchday Matrix settlement, stranded-refund dedup.
- Plus rate limiting on phase-1 money routes with a coverage ratchet in CI.
📊 Financial observability (#468, #472, #487)
- Nightly money-invariant sweep — conservation checks across the whole escrow system, so any ledger drift surfaces within 24 hours.
- Sentry cron check-ins on all money-moving crons, with an alerting runbook.
- Invariant tuning so genuine states (fully-paid zero-burn markets) pass clean.
🏗 Architecture milestones (#465, #466, #467, #462, #446)
- Broadcast migration complete — the legacy
MainLayout/TopNavigation/Sidebarchrome was deleted entirely. Every primary surface now ships onBroadcastLayout. - The WASM server boundary is now mechanically enforced via
server-onlyimports — a client-bundle leak fails the build instead of failing silently. - Split the 934-line
ComposeSportsbitegod-component. - Predictions V1 fully wound down: mutations closed, page archived, dead crons and settlement machinery deleted.
⚡ Performance (#486, #489, #495)
- LCP work: cookie banner now paints with the page, fade dropped from the LCP headline, hero entrance moved to CSS.
/blogRSC payload slimmed by trimming initial posts before embedding.- Avatar resizing everywhere + calmer poll intervals.
🧪 Testing & CI (#471, #460, #473, #469, #455)
- Authenticated Playwright re-enabled — login without Keychain by minting the session cookie directly. A long-standing testing gap, closed.
- Test coverage on the four money-moving cron routes; badge evaluator/calculator coverage went 0% → 85%.
- Visual-tour E2E spec for full-platform screenshot reviews.
- Gitleaks secrets scanning in pre-commit and CI; CSRF coverage now mechanically checked in CI; 43× Jest slowdown resolved.
🛠 Ops & DB discipline (#470, #449, #461, #452)
- Migration baseline, nightly DB drift check, and a quarterly restore-drill runbook.
- Guards on both protected branches: a daily production-drift GitHub Action plus pre-push hard blocks on
mainandproduction. - RLS enabled on the eight Fantasy Test Cricket tables.
🧹 Housekeeping
- Google AdSense removed entirely (#488) as we were getting nowhere with Google and the Adsense software was having considerable performance drag on the entire platform. Will revisit ads in time. Buffer pipeline removed (#455), Sentry quota burn stopped (#474), dead rate-limiter code trimmed, Zod validation on the hive-engine transfer route, and Dependabot kept dependencies current.
Bottom line: the platform is World Cup-ready, the money paths are audited and watched by automated invariant checks, and a major chunk of legacy architecture was retired — a genuinely big week.
Now the the system is now bullet proof. We can start bringing in new features. We are all ears. If someone wants a new feature or contest then let us know.
Some suggestions are :
- Sportsbite of the day/week
- Buying Medals straight from FIAT
- New Fantasy Football Contest that will run the entire season. Hive FPL are on board next season so it will be interesting what
@talesfrmthecrypt has in store for me to keep me up all night in July.
- A better onboarding experience which is always the difficulty with Hive. How do we get the non-crypto people engaging?
@starkerz has working on an onboarding method so we will be following this closely
- Wrapping MEDALS token to increase our userbase.
We will also be looking at funding @talesfrmthecrypt's trip to Hivefest this September to Barcelona to teach everyone what cricket is. We will send
@niallon11 with his hurl and I will do my party piece which is called "Around the World" which is two kickups left foot and right foot, onto the both knees , then shoulders and finally a header and back down. All after 10 cerveza's. It might take me a few goes but I still have the skills. All in all the presentation will be 15 minutes.