Skip to main content
Live · v0.9.1

Map where your economy breaks. Before mainnet does.

Replayable economic stress tests for Solana programs. Run real Solana code, model economic actors, and use guided Rust sims for external accounts and services when static scenarios are not enough.

INSTALL curl -fsSL https://riptide.run/install | sh
VERIFY riptide --help
[ CAPABILITIES ]

A deterministic simulation framework.

Adapter campaigns cover declared scenario sweeps. Guided Rust sims cover complex external-protocol setup when you supply the manifest, fork cache, flow code, and project-owned services.

STRESS TEST

Stress test real program logic.Under adversarial load.

PersonasWhaleArbitrageurLiquidatorSteady LPProgram{}InvariantsCollateral HealthLP SolvencyMargin SafetyReserve Backing
EVIDENCE REPLAY

Replay declared trajectories.Seeded, hashed, rerunnable.

INCIDENTSEEDTRACEHASH
CI GATE

Gate economic risk in CI.Block breaches before merge.

1. COMMIT2. SCENARIO SUITE3. RISK GATEMERGE BLOCKEDEconomic risk threshold exceeded.CollateralHealth < 1.0RISK SCORERISK SCORE1.27threshold 1.00
[ HOW IT WORKS ]

Start Studio.Run the simulation from the UI.

local terminal
[ PROTOCOL COVERAGE ]

One engine. Multiple protocol classes.

Start from shipped adapters for common Solana protocol classes. Keep the defaults, replace the invariants, or extend the adapter for your own program.

core Protocol classes adapter → scenarios → evidence
Lending 01
  • Collateral health
  • LP solvency
  • Bad debt
Adapter + invariant surface
Perps 02
  • Margin safety
  • Funding bounds
  • Insurance fund
Adapter + invariant surface
AMMs 03
  • Reserve pairing
  • Fee bounds
  • Swap pressure
Adapter + invariant surface
Liquid Staking 04
  • Stake pool solvency
  • Unstake queue
  • Slashing
Adapter + invariant surface
Stablecoin 05
  • Full backing
  • Reserve buffer
  • Redemption queue
Adapter + invariant surface
Generic 06
  • Custom predicates
  • State machines
  • Your BPF
Bring your own invariants
[ FAQ ]

Answers for teamsshipping under pressure.

Have some more questions?

Contact Us
Yes. Riptide loads your compiled SBF/BPF bytecode and runs it under LiteSVM. LiteSVM removes RPC, gossip, vote, PoH, and full consensus overhead, so validator-level behavior remains a separate diagnostic path.
Yes. The shipped bundles are starting examples; the real usage path is to point Riptide at your own compiled program bytes and IDL via an adapter TOML that declares accounts, actions, observations, and invariants. The first-adapter docs walk through each field, and the generic adapter path supports any Solana program — not just the protocol classes shown above.
No. The engine is deterministic and runs committed artifacts. Optional local skills can help author TOML or reports, but a simulation run does not depend on a model call.
Fuzzing mutates inputs to find crashes, panics, and unexpected behaviors. Riptide simulates actor-driven economic scenarios against shared program state, looking for invariant violations and failure modes like insolvency, depegs, and liquidation cascades.
Riptide guided sims cover a similar manually guided setup class when you provide the Riptide.toml manifest, cached external accounts or local programs, Rust flows, and project-owned services. It is not automatic Trident parity: Riptide does not infer every flow, does not ship protocol-specific oracle/orderbook layouts in core, and guided-run coverage output is still a named gap.
Yes. Every run emits a reviewer-ready evidence pack with manifest.json, summary.md, trace.md, rerun.sh, path indexes, and a canonical hash. You can replay the same scenario and verify that the hash matches.
The artifact is seeded, hashed, and rerunnable. The same bytecode, config, and seed produce the same canonical hash; if they do not, Riptide reports the divergence.
No. Riptide complements an audit; it does not replace one. Auditors reason about correctness of code paths and access control. Riptide produces simulation evidence — actor-driven economic stress against your real bytecode, with declared invariants, deterministic reruns, and reviewable artifacts. It does not certify a program as safe.
No. Riptide complements them. Static analysis, formal verification (e.g. QEDGen-style Lean proofs), property-based fuzzing, structured Solana fuzzers (e.g. Trident), and program test harnesses (e.g. Mollusk for unit-level program tests) each answer different questions about your code. Riptide adds actor-driven economic stress against your real bytecode under LiteSVM, with declared invariants and deterministic reruns. Use them together — Riptide is one layer of evidence, not a substitute for fuzzing, formal methods, audits, or unit testing.
[ READY ]

Install the framework. Stress your economy.

Deterministic. Replayable. Evidence-first.
Turn protocol risk into verifiable artifacts.

Get Started Read Docs
INSTALL curl -fsSL https://riptide.run/install | sh