A staging Solana that mirrors mainnet.
RustAG lazily mirrors real mainnet accounts into a persistent stagenet — test against live Pyth prices and Raydium pools with unlimited free airdrops and zero SOL spent.
Preload real mainnet state from the protocols you build against
“Clean until you touch it. Dirty when you do. Pinned when you mean it.”
Every account carries a sync state. It's how RustAG replays mainnet on a local SVM with no block hash to fork from - and the single idea the whole product is built around.
Never touched. Not yet fetched from mainnet.
Mirrored from mainnet, unmodified. Auto-refreshes with live state.
Modified locally. Frozen from mainnet sync so your test stays put.
Explicitly overridden. Locked to exactly the value you set.
A complete staging layer for Solana
From lazy mirroring to verifiable attestation - the full toolkit for testing programs against real on-chain state.
Lazy mainnet mirror
Accounts are fetched from mainnet on first access, cached, and tracked through a Clean → Dirty → Pinned lifecycle. Replay mainnet on a local SVM - no block hash, no fork required.
Real-time oracle mirror
Sub-second oracle refresh via accountSubscribe WebSocket - Pyth prices push to your stagenet, not poll.
Unlimited free airdrops
No faucet limits. Credit any wallet instantly with zero mainnet SOL spent.
Activity scheduler
Recurring on-chain actions on @every or cron - simulate steady, lifelike usage.
Simulation & stress
Fork the stagenet, replay thousands of txs, and compare outcomes without mutating the base.
Time-travel replay
Checkpoints, transaction journals, and fork-of-fork lineage - replay deterministically and diff any two points.
Verifiable attestation
SHA-256 Merkle commitment + Ed25519 signing. Prove you tested against exactly this state, offline.
Time-series analytics
TVL, transaction volume, and mirror growth - sampled and charted in real time.
MEV, fuzz & exploit scan
Jito-style atomic bundles, deterministic invariant fuzzing, and reproducible exploit signatures.
Point your Connection at it and go
RustAG speaks the Solana JSON-RPC. Swap your endpoint - your existing tooling and tests just work.
# start a stagenet rustag start import { RustagClient } from "@rustag/sdk"; import { Connection } from "@solana/web3.js"; const client = new RustagClient({ baseUrl: "http://localhost:9000" }); const stagenet = await client.getStagenet(); // unlimited, instant, free await client.airdrop(wallet, 1000); // drop-in Solana connection against the stagenet const connection = new Connection(stagenet.rpcUrl);
From zero to mirrored mainnet in three steps
Start a stagenet
rustag start spins up a persistent, mainnet-mirroring SVM with a Solana-compatible JSON-RPC, WebSocket, and REST API.
Point your Connection
Swap your RPC endpoint to the stagenet URL. Anchor tests, web3.js, and your existing tooling just work - unchanged.
Test, replay, attest
Airdrop freely, fork and stress-test, time-travel through checkpoints, then export a signed attestation of the exact state you tested.
Spin up your mirror.
RustAG is in private beta. Join the early-access list and we'll reach out as we open up your staging Solana.