Currently in private alpha

Forked-mainnet simulation.
Bit-exact with the chain you're stress-testing.

Real revm against pinned mainnet state. Same bytecode as the chain. Deterministic — same seed, byte-identical output. Open methodology; the receipts are on-chain.

For five buyer types

One forked-mainnet engine. Five buyer cuts.

Protocol risk teams, VC token-DD analysts, market makers, DAO treasurers, DeFi researchers — pick your role above for the specific pitch. If we're a fit, email contact@sambhal-labs.com — the design-partner funnel is founder-led.

For protocol risk teams

Stress-test parameter changes before they ship to governance.

LT/LTV nudges, oracle policy changes, IRC tweaks — run the depeg cascade or borrower-stress scenario at the pinned block your governance proposal cites. 6 chains, 4 protocols, 22 committed bundles.

For VC analysts running token DD

Replay the launch you're about to write a check for.

Vesting-cliff cohort cascades, day-1 sell pressure, real Uniswap V3 ticks. Stress-test the unlock schedule at the concentrated liquidity you'll actually face — not a textbook AMM curve.

For market makers tuning inventory policy

Tune execution against real liquidity, not toy curves.

Real Uniswap V3 tick liquidity at the pinned block. Replay historical sell-pressure events (EIGEN Season 1, ENA day-1) to calibrate inventory and quote-distance policy.

For DAO treasurers and contributors

See the unlock cliff before you vote on it.

Multi-cohort vesting cascades, MEV-aware swap routing, peer-reviewable bundles. The numbers you can drop straight into a forum post — every assertion runs against real on-chain state at a pinned block.

For DeFi and academic researchers

Reproducible experiments on real protocol state.

Same seed → byte-identical output. Gymnasium-compatible RL surface. Modal A10G for sweeps, local for replicability. 22 bundles · 6 chains · 4 protocols · 5 RL agents · 1494 unit tests on every push.

Email contact@sambhal-labs.com → Read the engineering log → Open the dashboard →
22 bundles across 6 chains · 4 protocols
+0 bps delta replaying historical mainnet swaps
~20s end-to-end vesting cliff scenario

Two scientifically distinct credibility proofs.

Existing tokenomics tools either re-implement protocol logic in Python (cadCAD, radCAD, Machinations) or ship only behind enterprise pricing. Mayavi’s engine runs actual revm against actual mainnet state — and we publish the receipts.

PROOF 1 · Static-call equivalence

Engine matches Uniswap’s own simulation oracle.

Every test swap is run twice — once on Uniswap V3’s on-chain Quoter at the pinned block, once on the same block forked into Mayavi’s engine. The two outputs must match bit-for-bit. 7 / 7 swaps pass with delta == 0. Drift here = engine bug; we fail loud, not silently.

$ mayavi validate

Mayavi engine bit-exact validation
============================================================
  [PASS] USDC->WETH 10k @ 0.05% pool   out=        3.8975  delta=  +0
  [PASS] USDC->WETH 100k @ 0.05% pool  out=       38.9682  delta=  +0
  [PASS] WETH->USDC 5 @ 0.05% pool     out=   12,815.5390  delta=  +0
  [PASS] WETH->USDC 50 @ 0.05% pool    out=  128,128.8483  delta=  +0
  [PASS] WETH->USDC 1 @ 0.30% pool     out=    2,556.1348  delta=  +0
============================================================
  PASS  5/5 swaps bit-exact with on-chain Quoter.
  Engine is provably equivalent to mainnet EVM.
PROOF 2 · Real-world replay

Real on-chain swap, replayed on a fork. Same output.

Pinned to block 20,900,000 (four days after EigenLayer’s Season 1 transferability unlock), we replay five real WETH/EIGEN swaps from the chain. The engine’s outputs must equal the on-chain receipts. delta == 0 on every one. Real fork. Real bytecode. Real numbers.

$ mayavi replay --block 15000000

Replay of 1ee991c7...07f343 (block 15,000,000)
  from:           0x382f024BeB47676f4034Becb90565584d1B776Cd
  pool:           0x69D91B94f0AaF8e8A2586909fA77A5c2c89818d5
  actual out:                      1,797,413,272
  simulated out:                   1,797,413,272
  delta:                                      +0 (+0.0000 bps) [BIT-EXACT]

Read the credibility wall →

No other tokenomics engine publishes a comparable equivalence proof in public. We publish the receipts so quants can audit the methodology before they trust the output.

What ships today.

One channel-agnostic engine. Three capability surfaces, each cross-linked to a deep-dive in the engineering log.

Bundles
22 bundles
Chains
6 chains
Protocols
4 protocols
RL agents
5 RL agents
Unit tests
1494 unit tests
SCENARIOS

19 EVM scenario types

Vesting cliff, multi-cohort cascade, depeg cascade (Aave V3 + Curve), Aave/Compound/Spark borrower stress, launch replay (EIGEN / ENA), cross-protocol shock. Every scenario ships a YAML and a fork-tested builder.

Read the Protocols posts (4–7) →
RL AGENTS

5 trained agents, every eval published

Aave borrower (PPO v1 Modal A10G, v2 local GTX 1650, v3 200K-step saturation finding), Aave liquidator, vesting recipient. Every agent ships a JSON eval against named baselines — including the negative results.

Read the RL posts (8–10) →
BUILT ON

Real execution, modern stack

pyrevm (revm Python bindings) · Ray RLlib · Next.js + Tailwind · Modal for opt-in GPU · DuckDB for run results. No mocks; everything runs against forked mainnet.

Read the Platform posts (13–15) →

From the engineering log.

The engineering log is where the platform pitch is proven, post by post. Six selections below; the full 15-post series is on the dashboard.

FOUNDATIONS
11 min

The Credibility Wall

Why we run pyrevm-forked mainnet instead of mocking ERC-20. Mocks make the cheap things easy and the important things wrong: tick-aware liquidity, oracle rounding, post-update protocol patches. The receipt is a delta-zero contract against the on-chain Quoter at a pinned block.

Read post →
PROTOCOLS
9 min

Aave V3 Across Six Chains

One adapter, per-chain dispatch by chain_id, and the BNB 18-decimal trap we caught. Walks the _AAVE_V3_POOL_BY_CHAIN table, the seconds-per- block silent miscalibration, and the empirical ERC20_BALANCE_SLOTS discovery for funded borrowers.

Read post →
PROTOCOLS
10 min

Curve Depeg Cascade & Cross-Protocol Shock

StableSwap is fragile in exactly the regime where it matters. Includes the new cross_protocol_shock scenario that fires one USDC oracle shock into Aave V3 + Curve 3pool on the same fork, scheduled in one PSUB timeline.

Read post →
RL AGENTS
12 min

Training a PPO Borrower: Local vs Modal

Three runs of the same Aave V3 borrower PPO — v1 on a Modal A10G, v2 on a local GTX 1650, v3 a 200K-step Modal extension. The headline finding is honest: the environment is saturated, and v3’s mean reward is bit-identical to v2’s. We ship the negative result.

Read post →
REPLAYS
8 min

Replaying EIGEN Season 1: Delta == 0

Pinned to block 20,900,000, four days after the EigenLayer transferability unlock. Static-call the on-chain Quoter, execute the same swap on the forked engine, assert the outputs match exactly. The tripwire, not the smoke detector.

Read post →
PLATFORM
7 min

The 22-Bundle Multichain Matrix

Six chains, four protocols, one pipeline. How mayavi artifact <run_id> produces a channel-agnostic engine bundle (report.html + eval.json), and how the release gate keeps the matrix from silently shrinking back to one demo.

Read post →
Read all 15 posts →
Request access · Private alpha

Ready to talk?

Private alpha. Founder-led onboarding. One scenario fit-test, one report you can share, then we decide together if there's a real workflow.

Email contact@sambhal-labs.com →

Prefer to lurk first? Subscribe to the engineering-log RSS at app.mayavi.sambhal-labs.com/blog/feed.xml — no newsletter, no tracking pixel.