03 — The Evidence

Claims vs. reality

Everything on this page is sourced from two places: Meridian's official website (meridianprotocol.xyz, captured March 2026) and on-chain data from Avalanche Fuji testnet. Nothing is inferred or assumed.

Ten claims, examined one by one

They claim

"57 Smart Contracts"

Unverifiable

29 contracts exist on-chain (26 deployed by the deployer + 3 created dynamically at runtime). The 57 figure likely counts all Solidity source files including interfaces, libraries, and abstract contracts — a common way to measure codebase scope. For a protocol this complex, 57 .sol files is plausible.

Deployer nonce analysis: 47 nonces, 26 contract creations, 3 dynamic

They claim

"692 Tests Passing" and "10K Fuzz Runs"

Unverifiable

Not publicly verifiable. No source code repository is linked from the website, and no Meridian smart contract repo exists on the founder's GitHub profile or under any discoverable org. Build Games Stage 2 required a GitHub submission, so judges likely had access — but the repo appears to be private. These claims may be accurate but cannot be independently confirmed.

GitHub search: brookejlacey profile, meridian-protocol org (different project), keyword search — no matching repo found

They claim

"A working protocol... and a live frontend you can interact with today"

Disputed

The frontend at app.meridianprotocol.xyz redirects to /waitlist with "Access is currently invite-only." The contracts themselves are on a public testnet and can be called directly. The team may be doing a staged rollout — finals were March 27, four days before this audit.

Direct navigation to app.meridianprotocol.xyz on March 31, 2026

They claim

"CDS with AMM bonding curve pricing" — "Bonding curve pricing auto-adjusts with demand"

Disputed

Both CDS contracts use a fixed premium rate of 250 basis points (2.5%) per year, set at creation time. No AMM contract, no bonding curve math, and no dynamic pricing logic found in decompiled bytecode (CDSRegistry is not verified on Snowscan). Notably, Avalanche's own winner announcement tweet also describes 'credit default swaps with AMM pricing.'

CDSRegistry + CDS #0/#1 decompiled bytecode and on-chain storage reads; @avax winner tweet March 31, 2026

They claim

"Cross-chain margin engine via ICM/Teleporter" — "unifies collateral across Avalanche L1s"

Dormant

Custom Messenger contract (2,053 bytes) implements ITeleporterReceiver but is NOT the standard Avalanche Teleporter. messageCount=0, pendingCount=0. Hub and Spoke are both on Fuji 43113 — a same-chain loopback test configuration. Deploying to a second chain in a 6-week hackathon may not have been feasible.

Messenger.messageCount()=0, constructor chainId=43113 on both contracts

They claim

"ERC4626 auto-compounding yield vaults"

Disputed

The Pool contract uses ERC4626-like share math (convertToShares, convertToAssets) but does NOT implement the full ERC4626 interface — missing key functions like maxDeposit, maxWithdraw, previewDeposit, previewWithdraw. May be ERC4626-inspired rather than compliant.

Pool decompiled bytecode function analysis vs ERC4626 spec

They claim

"AI risk oracle + credit event detection" — "AI agents score vault risk, detect credit events"

Dormant

Governance and Reporting contracts are deployed with well-designed AI agent timelocks and rate limits. The AI agent contracts (AIKeeper, AICreditEventDetector, AIStrategyOptimizer) and StrategyRouter have verified source on Snowscan confirming the architecture. However: zero AI proposals submitted, zero credit events detected, zero governance votes cast. The on-chain infrastructure exists but has not been exercised.

AI agent verified source on Snowscan + Governance, Reporting, StrategyRouter event logs: empty

They claim

"Atomic invest-and-hedge router (HedgeRouter)"

Unverifiable

No contract named HedgeRouter or matching its described functionality was found among the deployed contracts. It may exist in the source code but was not deployed to Fuji testnet during the Build Games window.

Full deployer contract inventory, function selector scan

They claim

UI mockup showing "Total TVL: $1.7M" with Senior $1.0M, Mezzanine $500K, Equity $200K

Disputed

ForgeVault holds 206K MockUSDC with 200K SR-01 and 6K EQ-01 minted — real tranche investments exist. However, the actual testnet TVL ($206K) is far below the $1.7M shown in the mockup. The specific breakdown ($1.0M/$500K/$200K) does not match on-chain state. The numbers shown are illustrative, not live data.

balanceOf() and totalSupply() calls on MockUSDC, SR-01, MZ-01, EQ-01

They claim

"3-tranche waterfall: Senior, Mezzanine, Equity" with automated distribution

Verified

The waterfall architecture IS correctly implemented in bytecode. The 70/20/10 allocation, priority-of-payments logic, and Synthetix-style reward accumulator are all present and well-engineered. This claim is accurate at the code level.

TrancheVault + ForgeVault decompiled bytecode and Tenderly traces

68 events from 65 transactions

The entire on-chain history of the Meridian Protocol produces 68 events. For context, a moderately active DeFi protocol generates more events in a single hour. Here's the breakdown:

Transfer (ERC20) 27 events
MockUSDC: 25, MRD: 2. All mints from zero address. No user-to-user or user-to-contract transfers.
Approval (ERC20) 23 events
MockUSDC: 12, SR-01: 5, MZ-01: 3, EQ-01: 2, MRD: 1. Users approved tokens but never used the approval.
AssetRegistry events 4 events
4 assets registered: MockUSDC, SR-01, MZ-01, EQ-01.
PoolFactory events 3 events
3 vault registrations during setup.
StrategyRouter events 3 events
3 strategies created. Zero positions opened against any strategy.
CDSRegistry events 2 events
2 CDS contracts created: CDS #0 (block 51648912), CDS #1 (block 53194861).
Other protocol events 6 events
VaultRegistry (2), Oracle (1), TrancheVault (1), Pool (1), RewardDistributor (1).

Five test addresses on-chain

Beyond the deployer, five addresses interacted with the protocol. Four hold MockUSDC balances from minting, and one (0x1e3f) has made real tranche investments — holding 200K SR-01 and 6K EQ-01 tokens.

Address Txs Primary Actions Current Balance (all tokens)
0x1e3ffbab8fdb470314d73be41ec36c35716003db 25 14 MockUSDC mints, 8 approvals, 1 CDS creation, 1 account creation, tranche investments 791K USDC, 200K SR-01, 6K EQ-01
0x74ba9a40a0773377d6f834d6ee9f1fb8ff570481 11 4 MockUSDC mints, 7 approvals (SR-01, MZ-01, EQ-01, MockUSDC) 400K USDC
0x8db97c7cece249c2b98bdc0226cc4c2a57bf52fc 4 1 MockUSDC mint, 3 SR-01 approvals 100K USDC
0x47fbe4f7b7c2f77d3c74868e98e27b32353baa19 3 3 MockUSDC mints 300K USDC
0x7e5f4552091a69125d5dfcb7b8c2659029395bdf 1 1 MockUSDC mint $0
Pattern

The most active test user (0x1e3f) minted USDC, created a margin account, created CDS #1, and invested in Senior and Equity tranches (200K SR-01, 6K EQ-01). This is the only address that completed end-to-end flows. The other three funded addresses hold MockUSDC but did not invest in tranches or interact with CDS contracts.

"Access is currently invite-only"

Navigating to app.meridianprotocol.xyz redirects to /waitlist. The page displays:

Meridian

Institutional Credit Infrastructure

Access is currently invite-only

Meridian is onchain structured credit built for institutions. Join the waitlist to get early access when we open the next cohort.

you@institution.com
Join Waitlist

As of March 31, 2026 — four days after Build Games finals — the app redirects to a waitlist. The underlying contracts are on a public testnet and can be called directly by anyone. The team may be planning a staged rollout, or the waitlist may be part of an institutional go-to-market strategy. Either way, independent verification of the frontend experience is not currently possible.