Squads Multisig: Step-by-Step Verification
Limited tooling is available for Solana verification compared to EVM. Exercise extra caution and cross-verify with team members.
Authored by:
Workflow
-
Initial Proposal (SOL transfer, token transfer, signer/threshold change)
-
Simulation
- Squads UI provides a simulation link after first signature
- Simulation is helpful for transfers; configuration changes often fail, but you can still inspect data via explorer
SOL Transfer Verification
Transaction Link
Simulation Link
On the simulation page scroll down to System Program Instruction
This shows the destination address for the SOL (H2p…Kr) and the Instruction Data. The instruction data can be interpreted as follows.
02 00 00 00 80 96 98 00 00 00 00 00- Split into bytes:
02 00 00 00 80 96 98 00 00 00 00 00 - First 4 bytes (transfer type):
02 00 00 00= [2, 0, 0, 0] ✅ (confirms this is a token transfer) - Amount bytes (little-endian):
80 96 98 00 00 00 00 00= [128, 150, 152, 0, 0, 0, 0, 0] in decimal - Convert from little-endian to decimal:
- Little-endian means least significant byte first
80 96 98 00=0x00989680in big-endian hex0x00989680= 10,000,000 in decimal
- Convert lamports to SOL:
- 1 SOL = 1,000,000,000 lamports
- 10,000,000 lamports ÷ 1,000,000,000 = 0.01 SOL ✅
Quick verification method:
For the amount portion (80 96 98 00 00 00 00 00):
- Reverse the order:
00 00 00 00 00 98 96 80 - Convert hex to decimal:
0x989680= 10,000,000 - Divide by 1,000,000,000: 10,000,000 ÷ 1,000,000,000 = 0.01 SOL
USDS Transfer Verification
Transaction Link Simulation Link)
On the simulation page scroll down to Associated Token Program: Create Idempotent & Token Program Instruction
This shows the destination address for the USDS in the Token Program Instruction (H2p…Kr) and the Instruction Data. The instruction data can be interpreted as follows.
0c 40 42 0f 00 00 00 00 00 00 06- Split into bytes:
0c 40 42 0f 00 00 00 00 00 00 06 - First byte (instruction type):
0c= 12 in decimal ✅ (confirms this is TransferChecked instruction) - Amount bytes (little-endian):
40 42 0f 00 00 00 00 00= [64, 66, 15, 0, 0, 0, 0, 0] in decimal - Convert from little-endian to decimal:
40 42 0f 00=0x000f4240in big-endian hex0x000f4240= 1,000,000 in decimal
- Convert raw units to USDS:
- USDS has 6 decimals
- 1,000,000 raw units ÷ 10^6 = 1.0 USDS ✅
- Decimals verification: Last byte
06= 6 decimals ✅ (correct for USDS)
Configuration Change Verification
Transaction Link
Simulation does NOT seem to work for configuration changes, but we have another way we can verify it!
- Copy the transaction ID (4KDPpv27fQmbWteQjSZLku8sGxNfoDqtYG4mZQp2zbiq)
- This will take you to an 'account' page on the Solana explorer representing just this transaction
- Click the first transaction in the history of this 'transaction account'
- Scroll down to Squads Multisig Program: Config Transaction Create
- Expand all fields to view the decoded transaction data

Signing & Execution
- Sign (do not execute) and confirm expected hash on Ledger
- Execute after collecting all signatures
- Once all signatures are collected, execute the transaction.