live on mainnet7 guardsunder 200 CU each
The world moves between sign and land.
You signed a Solana transaction ten seconds ago. The price moved, the slot is stale, your balance is gone, someone slid in front of you. Shield is seven sBPF assembly programs you prepend to a transaction so it aborts atomically the instant any of those conditions is true, before the swap or the transfer or the call ever runs.
catalog
Seven guards, each a single instruction prepended to your tx.
7 of 7 live
slot_deadline
152cuAbort if the current slot is past the deadline you signed for.
accts0 accountsixu64 max_slot (LE)exit 1deadline missedslippage
7cuAbort if the SPL token account balance is below the floor.
accts1 token accountixu64 min_amount (LE)exit 1insufficientbalance_floor
7cuAbort if an account's lamports balance is below the floor.
accts1 accountixu64 min_lamports (LE)exit 1below floorsigner_allowlist
25cuAbort if the signer is not one of the caller's allowed pubkeys.
accts1 signerixu8 count, [32]u8 × Nexit 1not allowedfee_ceiling
86cuAbort if any SetComputeUnitPrice exceeds the priority fee ceiling.
accts1 sysvarixu64 max_micro_lamports (LE)exit 1fee too highprogram_allowlist
80cuAbort if any other top-level ix targets a non-allowlisted program.
accts1 sysvarixu8 count, [32]u8 × Nexit 1not allowedcompute_unit_floor
93cuAbort if SetComputeUnitLimit is missing or below the floor.
accts1 sysvarixu32 min_units (LE)exit 1cu too low