VVDEXOPS
Prediction ledger · M6E · BTC 15-minute

Every call the engine made — including the ones it got wrong.

Five minutes into each 15-minute Bitcoin cycle the engine either commits to a direction or abstains. This is the complete forward record: the call, the conviction tier, the price the market was asking at that instant, and what actually happened.

↓ Download the full ledger (CSV) — every row, no filtering. Raw JSON.

Headline · committed calls
loading…
By conviction tier

How to read edge. Edge = our accuracy − the price we had to pay − the fee. It is the only column that matters. A tier can be highly accurate and still lose money, because the price already reflects that accuracy. Edge LB95 is the lower bound of the 95% confidence interval — if that is below zero, the tier has not demonstrated an edge no matter how good the headline looks.

The favourite-echo check
loading…
Integrity · hash chain
loading…

Why this matters. A prediction record is only worth something if it cannot be edited after the fact. Every call is linked into a SHA-256 chain: each entry's hash covers the previous entry's hash plus the prediction's own fields as they stood before the outcome was known. Change any past call and every hash after it changes too.

Verify it yourself — download the CSV and recompute the chain. Every input to the digest is published, so you do not have to trust us:

prev = "0"*64
for row in csv:                      # rows in cycle order
    payload = "|".join([prev, row.cycle_ts, row.ts, row.ticker,
                        row.side, row.conviction,
                        f"{float(row.p_up):.4f}",
                        "" if row.ask_at_commit == "" else f"{float(row.ask_at_commit):.4f}"])
    assert sha256(payload) == row.hash
    prev = row.hash
# prev now equals the published chain head

The outcome is deliberately excluded from the digest, so settling a result can never alter the hash of the call that preceded it.

Recent calls