Know what a transaction does before you sign it.
RustAG rehearses any Robinhood Chain transaction against faithful mainnet state in a sealed sandbox — then emits a cryptographically signed EvidenceBundle with a semantic diff, invariant alarms, and compute used. Verify it offline, before a single multisig signer approves.
- Cost to rehearse
- $0
- Fidelity
- Grade A
- Semantic change types
- 11
- Invariant rules
- 6
RustAG is in early access. Phase 1 — the lazy mirror, dirty/clean tracking, unlimited airdrops, Robinhood Chain-compatible RPC, persistence, CLI, SDK, and dashboard — is a working local MVP. Phases 2 & 3 ship in the same repo and are newer. You build from source; nothing is published to crates.io / npm yet.
Everything to ship against real mainnet state
Quickstart
From install to a signed EvidenceBundle in about two minutes using the built-in demo.
Core concepts
The sealed two-pass rehearsal, the EvidenceBundle format, Grade A/B fidelity, and the account closure model.
CLI reference
Every rustag subcommand — rehearse, forensics, record, verify, attest, and the full app management surface.
SDK & API
@rustag/sdk, POST /api/rehearse, POST /api/verify, and the Robinhood Chain JSON-RPC surface.
Architecture
Dual-layer design: Ingest (TouchSet, multisig, MultiRpc) + Sealed Rehearsal (EVM sandbox, semantic diff, invariant policy).
Trust & security
Threat model, Ed25519 attestation, N-of-M provenance, and an honest list of early-access limits.
Clean until you touch it.
Every account carries a sync state. It is how RustAG replays mainnet on a local EVM with no block hash to fork from — and the single idea the whole product is built around.
Read core conceptsNever fetched. Pulled lazily from mainnet on first access.
A faithful mainnet copy. Background sync keeps oracles fresh.
Written by a local tx. Frozen from mainnet sync forever.
Set via override. Locked to exactly the value you chose.
Point your Connection at it and go
A stagenet exposes a Robinhood Chain-compatible JSON-RPC on 127.0.0.1:8899, WebSocket on :8900, and a REST API on :9000. Swap one endpoint — Foundry, the Robinhood Chain CLI, and @solana/web3.js just work.
# 1. Point at a mainnet RPC (Alchemy free key recommended)export RUSTAG_MAINNET_RPC="https://mainnet.alchemy.com/?api-key=YOUR_KEY" # 2. Rehearse a multisig proposal (built-in demo works without a key)rustag rehearse --demo # 3. Rehearse a real proposal from mainnetrustag rehearse \ --proposal 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU \ --rpc $RUSTAG_MAINNET_RPC # 4. Verify the bundle offline (zero network needed)rustag verify groundtruth-bundle.json --closure groundtruth-closure.json