Reference

Decoder coverage

Eight programs. 80+ instructions. Every decoder registers itself under its canonical program ID and emits the same DecodedInstruction shape. Unknown programs fall back to a MEDIUM verdict with a human-review reason.

System Program

Program ID: 11111111111111111111111111111111
Decoder kind: native

Solana runtime core. Account creation, SOL transfers, nonce lifecycle. Instructions are dispatched by a 4-byte LE tag at offset 0.

instructiondefault riskdescription
CreateAccountlowCreate a new account with lamports, space, and owner.
TransferlowMove SOL between accounts. Escalated to HIGH for transfers ≥100 SOL.
CreateAccountWithSeedlowCreate a PDA-style account deterministically.
AdvanceNonceAccountmediumAdvance a durable nonce. The canonical first-instruction signal for a durable-nonce tx.
InitializeNonceAccountmediumSet up a durable-nonce account and its authority.
AllocatelowAllocate data space to an account.

SPL Token

Program ID: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
Decoder kind: native

Classic SPL Token program. Instructions are dispatched by a 1-byte tag at offset 0.

instructiondefault riskdescription
TransferlowMove tokens. Escalated to MEDIUM at ≥1e9 raw units, HIGH at ≥1e12.
TransferCheckedlowTransfer with explicit mint + decimals verification.
MintTohighMint new tokens. Always HIGH — an inflationary action.
BurnmediumDestroy tokens from a holder account.
CloseAccountmediumClose a token account and reclaim rent.
SetAuthorityhighChange the authority on a mint or account. Ownership transfer.

Token-2022

Program ID: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
Decoder kind: native

Token program extensions. Reuses SPL Token tags 0..=25 for base instructions; tags 26+ are extension-specific and get dedicated handlers.

instructiondefault riskdescription
Transfer / MintTo / Burn / ...lowBase instructions (tags 0-25) delegate to the SPL Token decoder.
initialize_non_transferable_minthighCreate a mint whose tokens cannot be transferred after mint.
transfer_hook_extensionhighRegister a custom program that runs on every transfer.
interest_bearing_mint_extensionmediumEnable interest-bearing logic on the mint.
initialize_permanent_delegatecriticalInstall a permanent delegate with unilateral move-token power over every holder of this mint.
confidential_transfer_extensionmediumConfidential-transfer extension ix.
+ 9 more extensionsmediumReallocate, default_account_state, memo_transfer, cpi_guard, metadata_pointer, etc.

Squads v4

Program ID: SQDS4ep65T869zMMBKyuUq6aD6EgTu8psMjkvj52pCf
Decoder kind: custom anchor

Multisig governance program — the same one Drift used. Custom decoder because the Drift 2026 reasoning is not expressible as a plain static table.

See /docs/drift-2026 for the full account of how this decoder maps onto the exploit.

instructiondefault riskdescription
vault_transaction_createhighQueue a transaction that will spend from the multisig vault when approved.
vault_transaction_executecriticalExecute a previously approved vault tx — moves funds out of the vault now.
config_transaction_createhighQueue a multisig config change (threshold / members / timelock).
config_transaction_executecriticalExecute a config change. This is the class of instruction used in the April 2026 Drift exploit.
proposal_createmediumCreate a new proposal on the multisig.
proposal_approvehighApprove a proposal. Your signature contributes to the threshold.
proposal_rejectlowReject a proposal.
multisig_create / v2mediumCreate a new multisig.
multisig_set_configcriticalDirectly mutate multisig config — signers / threshold / timelock.

Jupiter v6

Program ID: JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4
Decoder kind: anchor

The dominant Solana DEX aggregator. Matched via Anchor discriminators.

instructiondefault riskdescription
routemediumExecute a swap along a chosen route.
route_with_token_ledgermediumSwap using a token ledger account.
exact_out_routemediumExact-output swap.
shared_accounts_routemediumDefault swap used by most frontends.
shared_accounts_route_with_token_ledgermediumShared-accounts swap with ledger.
shared_accounts_exact_out_routemediumShared-accounts exact-out swap.
set_token_ledger / create_open_orders / claim / claim_tokenlowAncillary bookkeeping instructions.

Drift v2

Program ID: dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH
Decoder kind: anchor

Drift Protocol — the program whose governance was hijacked in the April 2026 exploit. The user-facing instructions themselves are standard deposit / trade / liquidate flows.

instructiondefault riskdescription
initialize_user / initialize_user_statslowCreate the user account and stats under the signer.
deposit / withdraw / transfer_depositmediumMove collateral in and out of Drift vaults.
place_perp_order / place_spot_order / place_and_take_perp_ordermediumOpen orders against perp or spot markets.
cancel_order / cancel_orders / settle_pnllowCancel orders, settle realized PnL.
liquidate_perp / liquidate_spot / liquidate_borrow_for_perp_pnlhighThird-party liquidations — verify target user and keeper.
update_user_delegatehighSet a delegate that can trade on the user account.
update_user_name / update_ammslowCosmetic and oracle refresh instructions.

Kamino Lend

Program ID: KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD
Decoder kind: anchor

Money market with obligation-based borrowing. Reserve and obligation operations are the user-facing surface.

instructiondefault riskdescription
init_obligation / refresh_obligation / refresh_reservelowBookkeeping and oracle refresh.
deposit_reserve_liquidity / redeem_reserve_collateralmediumSupply liquidity / redeem cTokens.
deposit_obligation_collateralmediumPost cTokens as obligation collateral.
withdraw_obligation_collateralhighReduce obligation collateral — increases liquidation risk.
borrow_obligation_liquidityhighOpen a new debt position against the obligation.
repay_obligation_liquiditylowRepay outstanding debt.
liquidate_obligation_and_redeem_reserve_collateralhighThird-party liquidation.
flash_borrow_reserve_liquidity / flash_repay_reserve_liquiditymediumFlash-borrow pair — must balance in the same tx.

MarginFi v2

Program ID: MFv2hWf31Z9kbCa1snEPYctwafyJVi6rmTeBd8NsGRf
Decoder kind: anchor

Isolated-margin money market. Each user holds a marginfi_account under a marginfi_group.

instructiondefault riskdescription
marginfi_account_initializelowCreate a new marginfi account under a group.
lending_account_deposit / withdrawmediumSupply / withdraw from a lending bank.
lending_account_borrowhighOpen a new debt position.
lending_account_repaylowRepay debt.
lending_account_liquidatehighLiquidate an unhealthy marginfi account.
lending_account_start_flashloan / end_flashloanmediumFlashloan begin / end pair.
marginfi_account_set_account_authoritycriticalTransfer control of the marginfi account to a new authority. Full takeover.