Methodology
How Keputusan4D.com sources, validates, and republishes Malaysian 4D draw results — with cadence, lineage, and retention spelled out so you can decide how much trust to place in the numbers.
Sources
Each draw is captured from the licensed operator's own public surface — typically the operator's official results page or their broadcast feed where one exists. The eleven operators in scope are Magnum, Sports Toto, Da Ma Cai, Grand Dragon (GD), CashSweep, Sandakan, Sabah 88, Singapore Pools, Perdana 9 Lotto, Sandakan STC, and Lucky Hari Hari. We do not source from screenshots, social-media reposts, or unverified aggregators.
Cadence
- Major operators draw on Wednesday, Saturday, and Sunday at 19:00 MYT (Malaysia Standard Time, UTC+8).
- Smaller operators publish daily, typically between 18:30 and 19:30 MYT.
- Keputusan4D.com polls each operator's surface every 30 seconds during draw windows, falling back to a 5-minute idle poll outside windows.
- Each scrape is timestamped (UTC, ISO-8601) and stamped with the polling worker's region so race conditions can be reconstructed.
Validation
- Each 4-digit number must match
^\d{4}$— anything else is rejected and an alert is opened. - Cross-source consistency: when an operator publishes results to more than one surface (official site + broadcast feed), the two must agree. Disagreement triggers a manual review and a held-publish flag on this site.
- Historical sanity: today's first/second/third must not duplicate yesterday's exact triple for the same operator. A duplicate triggers a hard hold.
- Numbers stay on a "candidate" buffer for the first 90 seconds after capture; if no contradictory update arrives, they are promoted to the public snapshot.
Retention & archive
Each daily snapshot is written immutably to /api/today.json and rolled into /api/yesterday.json at the next 00:00 MYT boundary. Historical snapshots beyond yesterday are retained internally for at least 36 months and are slated for a public archive endpoint (/api/archive/<YYYY-MM-DD>.json) once the lineage tests stabilise. Snapshots are CC0 1.0 dedicated to the public domain — copy, redistribute, remix, transform, and build on them without permission.
Correctness budget
We treat correctness as a budget, not an aspiration. Targets:
- Freshness: 99% of major-operator draws published on Keputusan4D.com within 4 minutes of the operator's own publication.
- Accuracy: Zero divergence between published numbers and the operator's authoritative surface for the same draw day.
- Availability: 99.5% monthly uptime on the read API, measured at the edge.
Errata & corrections
Confirmed errors are corrected in place and noted on the about page. We do not silently rewrite history — if a number was wrong for any length of time, that fact stays disclosed.
Contact
If you find a discrepancy between Keputusan4D.com and the operator's own page, the fastest path is the Telegram bot @tg4_main_bot (forward the operator's page screenshot + the result row from this site). Security-class issues go through .well-known/security.txt.
Independence
Keputusan4D.com is not affiliated with, endorsed by, or paid by any 4D operator. We do not sell tickets, accept bets, run affiliate links to gambling products, or earn commission on any operator's revenue. The site exists solely to make the public draw record fast and machine-readable.
← Back to Keputusan4D.com