buildsimulate, no wallet, no real SOL

Compose a shielded transaction.

Pick the guards you want, fill in their params, choose devnet or mainnet. The page calls @solana-asm/shield from npm to compose the prefix, runs simulateTransaction against the chosen RPC, and renders the result below. No wallet connect, no signature, no SOL spent. If a guard rejects, you see the abort log.

network
signer
demo signer
  • slot_deadline

    Abort if past a deadline slot.

    fails when Set Max slot to a value below the current slot.

  • slippage

    Abort if SPL token balance is below the floor.

    fails when Set Min amount above the live token balance.

  • balance_floor

    Abort if an account's lamports are below the floor.

    fails when Set Min lamports above the account balance, or use an account that does not exist.

  • signer_allowlist

    Abort if the signer is not in the allowlist.

    Connect a wallet to enable this guard.

  • fee_ceiling

    Abort if SetComputeUnitPrice exceeds the ceiling.

    fails when Add a SetComputeUnitPrice ix higher than the ceiling (not built into this UI yet).

  • program_allowlist

    Abort if any non-self ix targets a non-allowlisted program.

    fails when Remove System Program from the allowlist.

  • compute_unit_floor

    Abort if SetComputeUnitLimit is missing or below floor.

    fails when Set Min units above 200,000 (the auto-added CU limit).

enable at least one guard

ready

Select guards, fill in params, hit Simulate. The shielded transaction runs against the chosen network and the result lands here.