Sportsblock Weekly Development Summary

Words
885
Reading
4 min
Listen
Play
3M

Screenshot 2026-06-12 at 14.57.55.png

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 / Sidebar chrome was deleted entirely. Every primary surface now ships on BroadcastLayout.
  • The WASM server boundary is now mechanically enforced via server-only imports β€” a client-bundle leak fails the build instead of failing silently.
  • Split the 934-line ComposeSportsbite god-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.
  • /blog RSC 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 main and production.
  • 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@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@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@talesfrmthecrypt's trip to Hivefest this September to Barcelona to teach everyone what cricket is. We will send niallon11@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.