Verify Any AlgoVault Trade Call
Every trade call is hashed on Base L2 before the outcome is known.
Inspect the contract on Basescan — we cannot edit history.
Hashed first. Outcome second.
A trade call cannot be edited after the market answers — because it was already on-chain before the question was asked.
Model emits a Trade Call (asset · TF · direction · confidence) from live market features.
The full payload is canonicalized + SHA-256 hashed into a Merkle leaf, BEFORE the outcome window opens.
All leaves from a 24h window are folded into a single Merkle root once per day at 18:00 UTC.
The root is committed to AlgoVault’s contract on Base. The tx is permanent and publicly readable.
Screenshot “proof” can be cropped, re-stamped, or fabricated by another model. A Merkle leaf anchored on Base L2 cannot — agents can independently verify the proof against the public root without trusting algovault.com.
Recent verifications
Verify any AlgoVault call in 3 steps.
Use a Recent ID pill above, click a Signal ID on /track-record > Latest Trade Calls, or pull GET /api/performance-public for any call.id.
Enter the ID above and click Verify on-chain. You’ll see the call’s hash, its Merkle proof, and the on-chain batch it belongs to.
Click the Basescan link to inspect the Merkle root in the smart contract. The proof confirms the call existed before its outcome window opened.
Hashed first. Anchored daily. Immutable forever.
Every BUY/SELL/HOLD call is hashed via keccak256(coin, signal, confidence, timeframe, timestamp, price) at the moment it’s generated — BEFORE the outcome is known.
The hash is stored alongside the call in our database. Deterministic; anyone with the call data can recompute and verify it.
At 00:05 UTC, all new call hashes assemble into a Merkle tree. Each leaf is a call hash; the tree produces a single root committing the entire set.
The Merkle root is published to the AlgoVault contract on Base L2 — permanent, immutable, publicly verifiable by anyone.
Verification, in detail
What does it mean that a call is Merkle-anchored?+
Each call’s payload is hashed into a leaf, folded into a Merkle root with the day’s other signals, and that root is committed to AlgoVault’s contract on Base L2. Once anchored, neither the call nor the root can be modified without producing a different hash.
How do I verify a call myself without trusting algovault.com?+
Read the leaf hash and Merkle proof from this page (or via verify://signal/<id> over MCP), reconstruct the root locally with any SHA-256 library, and compare against the on-chain root via Basescan or your own RPC node.
What’s the difference between PENDING and EVALUATED status?+
PENDING means the leaf is on-chain but the timeframe’s evaluation horizon (e.g. 1h, 4h) hasn’t closed yet. EVALUATED means the horizon has passed and PFE / MAE have been computed against the venue’s mark price.
Can a call be edited after it’s batched?+
No. Editing the payload changes the leaf hash, which changes the Merkle root, which mismatches what was committed on Base L2. Any tampering is immediately detectable by anyone who reconstructs the proof.
Want to verify in code?
Query verify://signal/<id> from any AlgoVault MCP client to fetch the same proof bundle into your agent at runtime.
> mcp:read("verify://signal/0x4a2…f91")
{
"status": "verified",
"leaf": "0x4a2c…7f91",
"root": "0x9c1e…b8a3",
"batch": 29,
"tx": "0x7f91…12cc"
}Verify Any AlgoVault Trade Call
Every trade call is hashed on Base L2 before the outcome is known.
Inspect the contract on Basescan — we cannot edit history.
Hashed first. Outcome second.
A trade call cannot be edited after the market answers — because it was already on-chain before the question was asked.
Model emits a Trade Call (asset · TF · direction · confidence) from live market features.
The full payload is canonicalized + SHA-256 hashed into a Merkle leaf, BEFORE the outcome window opens.
All leaves from a 24h window are folded into a single Merkle root once per day at 18:00 UTC.
The root is committed to AlgoVault’s contract on Base. The tx is permanent and publicly readable.
Screenshot “proof” can be cropped, re-stamped, or fabricated by another model. A Merkle leaf anchored on Base L2 cannot — agents can independently verify the proof against the public root without trusting algovault.com.
Recent verifications
Verify any AlgoVault call in 3 steps.
Use a Recent ID pill above, click a Signal ID on /track-record > Latest Trade Calls, or pull GET /api/performance-public for any call.id.
Enter the ID above and click Verify on-chain. You’ll see the call’s hash, its Merkle proof, and the on-chain batch it belongs to.
Click the Basescan link to inspect the Merkle root in the smart contract. The proof confirms the call existed before its outcome window opened.
Hashed first. Anchored daily. Immutable forever.
Every BUY/SELL/HOLD call is hashed via keccak256(coin, signal, confidence, timeframe, timestamp, price) at the moment it’s generated — BEFORE the outcome is known.
The hash is stored alongside the call in our database. Deterministic; anyone with the call data can recompute and verify it.
At 00:05 UTC, all new call hashes assemble into a Merkle tree. Each leaf is a call hash; the tree produces a single root committing the entire set.
The Merkle root is published to the AlgoVault contract on Base L2 — permanent, immutable, publicly verifiable by anyone.
Verification, in detail
What does it mean that a call is Merkle-anchored?+
Each call’s payload is hashed into a leaf, folded into a Merkle root with the day’s other signals, and that root is committed to AlgoVault’s contract on Base L2. Once anchored, neither the call nor the root can be modified without producing a different hash.
How do I verify a call myself without trusting algovault.com?+
Read the leaf hash and Merkle proof from this page (or via verify://signal/<id> over MCP), reconstruct the root locally with any SHA-256 library, and compare against the on-chain root via Basescan or your own RPC node.
What’s the difference between PENDING and EVALUATED status?+
PENDING means the leaf is on-chain but the timeframe’s evaluation horizon (e.g. 1h, 4h) hasn’t closed yet. EVALUATED means the horizon has passed and PFE / MAE have been computed against the venue’s mark price.
Can a call be edited after it’s batched?+
No. Editing the payload changes the leaf hash, which changes the Merkle root, which mismatches what was committed on Base L2. Any tampering is immediately detectable by anyone who reconstructs the proof.
Want to verify in code?
Query verify://signal/<id> from any AlgoVault MCP client to fetch the same proof bundle into your agent at runtime.
> mcp:read("verify://signal/0x4a2…f91")
{
"status": "verified",
"leaf": "0x4a2c…7f91",
"root": "0x9c1e…b8a3",
"batch": 29,
"tx": "0x7f91…12cc"
}