algovault.com / verify base L2 · merkle batch #98

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.

latest merkle batch#98·2026-07-17 00:05 UTC·next batch in 3h 41m
Recent ID:
Tips: Click Call ID on /track-record > Latest Trade Calls to Verify
· how verification works

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.

01
Call generated

Model emits a Trade Call (asset · TF · direction · confidence) from live market features.

02
Hashed to leaf

The full payload is canonicalized + SHA-256 hashed into a Merkle leaf, BEFORE the outcome window opens.

03
Daily merkle batch

All leaves from a 24h window are folded into a single Merkle root once per day at 18:00 UTC.

04
Anchored on Base L2

The root is committed to AlgoVault’s contract on Base. The tx is permanent and publicly readable.

Why this matters for AI agents

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.

· Agent Verification Records

Recent verifications

LIVE · last 10
12s agoanonymousverified ETH 15m HOLD#29 0x4a2…f8c VERIFIED
38s agoanonymousverified BTC 1h BUY#29 0x4a2…f91 VERIFIED
1m agoanonymousverified SOL 5m SELL#29 0x4a2…f7e VERIFIED
2m agoanonymousverified ARB 1h BUY#29 0x4a2…f59 VERIFIED
3m agoanonymousverified BNB 4h BUY#29 0x4a2…f6a VERIFIED
4m agoanonymousverified AVAX 15m HOLD#29 0x4a2…f4d VERIFIED
6m agoanonymousverified DOGE 30m BUY#29 0x4a2…f22 VERIFIED
9m agoanonymousverified LINK 4h SELL#29 0x4a2…f08 VERIFIED
11m agoanonymousverified INJ 1h BUY#29 0x4a2…f1a VERIFIED
14m agoanonymousverified OP 5m SELL#29 0x4a2…f3e VERIFIED
· How to Verify

Verify any AlgoVault call in 3 steps.

01
Pick a Call

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.

02
Check the Proof

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.

03
Verify On-Chain

Click the Basescan link to inspect the Merkle root in the smart contract. The proof confirms the call existed before its outcome window opened.

· How It Works

Hashed first. Anchored daily. Immutable forever.

01
Call Created

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.

02
Hash Stored

The hash is stored alongside the call in our database. Deterministic; anyone with the call data can recompute and verify it.

03
Daily Batch

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.

04
On-Chain Anchor

The Merkle root is published to the AlgoVault contract on Base L2 — permanent, immutable, publicly verifiable by anyone.

· faq

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.

· mcp resource

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"
}
algovault.com / verify base L2 · merkle batch #98

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.

latest merkle batch#98·2026-07-17 00:05 UTC·next batch in 3h 41m
Recent ID:
Tips: Click Call ID on /track-record > Latest Trade Calls to Verify
· how verification works

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.

01
Call generated

Model emits a Trade Call (asset · TF · direction · confidence) from live market features.

02
Hashed to leaf

The full payload is canonicalized + SHA-256 hashed into a Merkle leaf, BEFORE the outcome window opens.

03
Daily merkle batch

All leaves from a 24h window are folded into a single Merkle root once per day at 18:00 UTC.

04
Anchored on Base L2

The root is committed to AlgoVault’s contract on Base. The tx is permanent and publicly readable.

Why this matters for AI agents

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.

· Agent Verification Records

Recent verifications

LIVE · last 10
anonymous verified ETH 15m HOLD#29 0x4a2…f8c · 12s ago
VERIFIED
anonymous verified BTC 1h BUY#29 0x4a2…f91 · 38s ago
VERIFIED
anonymous verified SOL 5m SELL#29 0x4a2…f7e · 1m ago
VERIFIED
anonymous verified ARB 1h BUY#29 0x4a2…f59 · 2m ago
VERIFIED
anonymous verified BNB 4h BUY#29 0x4a2…f6a · 3m ago
VERIFIED
anonymous verified AVAX 15m HOLD#29 0x4a2…f4d · 4m ago
VERIFIED
anonymous verified DOGE 30m BUY#29 0x4a2…f22 · 6m ago
VERIFIED
anonymous verified LINK 4h SELL#29 0x4a2…f08 · 9m ago
VERIFIED
anonymous verified INJ 1h BUY#29 0x4a2…f1a · 11m ago
VERIFIED
anonymous verified OP 5m SELL#29 0x4a2…f3e · 14m ago
VERIFIED
· How to Verify

Verify any AlgoVault call in 3 steps.

01
Pick a Call

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.

02
Check the Proof

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.

03
Verify On-Chain

Click the Basescan link to inspect the Merkle root in the smart contract. The proof confirms the call existed before its outcome window opened.

· How It Works

Hashed first. Anchored daily. Immutable forever.

01
Call Created

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.

02
Hash Stored

The hash is stored alongside the call in our database. Deterministic; anyone with the call data can recompute and verify it.

03
Daily Batch

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.

04
On-Chain Anchor

The Merkle root is published to the AlgoVault contract on Base L2 — permanent, immutable, publicly verifiable by anyone.

· faq

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.

· mcp resource

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"
}