Independent Verification

Check it yourself. You do not need our permission, our cooperation, or our servers.

Every batch of predictions Origin Neural produced was hashed into a Merkle tree, wrapped in a signed payload, and written to the Bitcoin SV blockchain as it was generated. Those records are public, permanent, and readable by anyone with an internet connection.

This page publishes the raw anchors, explains their exact structure, and gives you the code to verify them independently. Nothing here requires trusting us — that is the entire point.

What Is Anchored

2,158 batches, permanently recorded

Prediction generation ran until 22 February 2026 and then stopped. Because the catalogue is sealed, the final anchor now functions as a fixed and provable priority date across the entire dataset. Model development continues and is anchored separately — see signed training receipts below.

2,158Batches anchored on-chain
5,000Predictions per batch
21,300+Block confirmations
22 Feb 2026Catalogue sealed
Raw Records

The ten most recent anchors

Full transaction IDs and Merkle roots, exactly as written to the chain. Each links to a public block explorer we neither control nor operate. Every one of these has been signature-verified — see how to verify to reproduce that yourself.

Batch Merkle root Block Created (UTC) Explorer
Signing identities used in these batches

The payloads above were signed by three Bitcoin addresses: 1BmZerKSnqthexRAnMeDS4qc9G1kVBHiXH, 1G816kKY7BJpMabX7yS4oHsMTzhhNYTsgb, and 1L67wpZYf9gxvVhcSRb5C8vekX85xnNYpE. Signature recovery proves each payload was authored by the key holding the address it names. Publishing these addresses is what binds that cryptographic fact to Origin Neural as an organisation.

Still Running

The second protocol: signed training receipts

Prediction generation stopped in February 2026. Model development did not. Every training run is signed and anchored to the same chain under a separate protocol, so the record of our ongoing work is as publicly checkable as the catalogue itself.

{
  "protocol":   "axiom_sovereign_proof",
  "version":    "1.1",
  "type":       "training_receipt",
  "model_hash": "a78a91ef7179d68be047f764e3724350...",  // distinct per run
  "round":      10000,
  "timestamp":  1784631894
}
Cadence

Multiple receipts daily

Roughly seventeen signed receipts per day across the three signing identities, each recording a completed 10,000-round run.

Content

A hash, not the model

The receipt commits to a model hash. It proves a specific model existed at a specific time without disclosing weights, architecture, or training data.

How to check

Read the address, not the batch

Open any signing address on a block explorer and read its recent transactions. The most recent receipt is normally hours old.

Why publish this at all

Because it is the verification layer working on ourselves. Anyone can claim a model was trained on a given date; proving it — without exposing the model — is the capability we license. Running it continuously on our own development is the most honest demonstration we can offer, and it means our claim to be actively working is a matter of public record rather than assertion.

Structure

Anatomy of a single anchor

This is the complete decoded OP_RETURN output of batch BC-2026-0222-00012. Nothing is abbreviated or paraphrased.

// Pushdata 1 — B:// protocol prefix (Bitcoin data protocol)
19HxigV4QyBv3tHpQVcUEQyq1pzZVdoAut

// Pushdata 2 — the signed payload
{
  "protocol": "axiom-discovery-proof",   // versioned, named format
  "v":        1,
  "batch":    "BC-2026-0222-00012",      // batch identifier
  "root":     "f922562e...b165060b",     // Merkle root of 5,000 predictions
  "n":        5000,                       // record count
  "ts":       1771780732                  // 2026-02-22 17:18:52 UTC
}

// Pushdata 3, 4 — media type and encoding
application/json
utf-8

// Pushdata 5 — AIP separator
|

// Pushdata 6-9 — Author Identity Protocol signature block
15PciHG22SNLQJXMoSUaWVi7WSqc7hCfva   // AIP prefix
BITCOIN_ECDSA                        // signing algorithm
1BmZerKSnqthexRAnMeDS4qc9G1kVBHiXH   // claimed signing address
H2Ihc9P6mtLwpxuUmchhqemAcxxN5xmNZ... // ECDSA signature over pushdata 1-4
Timestamped

The block proves the date

Bitcoin block timestamps are established by consensus, not by us. A record in block 937,482 cannot be backdated after the fact.

Tamper-evident

The Merkle root proves the contents

Altering any single prediction in a batch changes its Merkle root, which no longer matches the immutable on-chain value. Silent revision is not possible.

Authored

The signature proves the source

An ECDSA signature over the payload means the record was not merely written to the chain, but authored by a specific key holder. Anyone can recover and check that.

Reproduce It

Three ways to verify, in increasing rigour

Look it up in a public block explorer

Take any transaction ID from the table above and open it on whatsonchain.com, or any BSV explorer you prefer. Confirm the transaction exists, is confirmed, and that the block timestamp predates whatever date you are testing against. This takes about fifteen seconds and requires no tooling.

Query the chain directly and read the payload

Skip the web interface and hit a public API. The OP_RETURN output contains the batch identifier, Merkle root, record count and timestamp in plain JSON.

curl -s https://api.whatsonchain.com/v1/bsv/main/tx/hash/\
beddf6af2913496df900aff5585399581f384b500ac3422dad1d6973fe61100b \
  | python3 -c "import sys,json;d=json.load(sys.stdin);\
print([o['scriptPubKey']['asm'] for o in d['vout'] \
if o['scriptPubKey'].get('type')=='nulldata'][0])"

Verify the signature cryptographically

The strongest check. Recover the public key from the ECDSA signature, derive its Bitcoin address, and confirm it matches the address the payload claims. This proves authorship, not merely existence.

We publish a dependency-free Python implementation so you can run it without installing anything or trusting a library: verify-anchor.py. Read it first — it is short enough to audit in a few minutes.

$ python3 verify-anchor.py beddf6af2913496df900aff5585399581f384b500ac3422dad1d6973fe61100b

batch     : BC-2026-0222-00012
root      : f922562e3ffba19ddbb446c60f832a106ee884766f0a4160b00d51eeb165060b
records   : 5000
created   : 2026-02-22 17:18:52 UTC
block     : 937482  (21352 confirmations)
claimed   : 1BmZerKSnqthexRAnMeDS4qc9G1kVBHiXH
recovered : 1BmZerKSnqthexRAnMeDS4qc9G1kVBHiXH

SIGNATURE VALID — payload authored by the claimed address
To verify a specific prediction rather than a batch

Batch anchors commit to 5,000 records via a Merkle root. Confirming that one particular compound was in a given batch requires the Merkle path for that record, which we supply to partners alongside the data. The root on the chain is what makes that path checkable — and the root is already public, above.

Honest Boundaries

What this proves, and what it does not

Cryptographic provenance is frequently oversold. We would rather draw the line ourselves than have you draw it for us.

This does prove

That a batch of 5,000 predictions existed in exactly its current form by a specific, consensus-established date. That the data has not been altered since. That the record was authored by a specific key holder rather than merely posted by anyone. And that a given prediction was included in a given batch, when accompanied by its Merkle path.

This does not prove

That any prediction is biologically correct. That a compound is safe, effective, or developable. That the model producing them is accurate — our reported 85.40% holdout figure is self-reported and has not been independently benchmarked. Provenance establishes what we knew and when. Only laboratory work establishes whether it is useful.

Next Step

Bring your own scepticism

Pick an anchor at random and check it. Bring your technical advisor. Ask for the Merkle path on a specific compound. We would rather be tested than believed — and a platform built on verifiability that resents verification would not be worth much.