You held the vote. The proposal passed. Now three people need to sign a transaction none of them has executed before. This guide walks through the treasury path we see most often in Solana DAOs using governance programs with separate multisig treasuries.
Stage 1: Verify the passed proposal
Before anyone opens a wallet, confirm on-chain that the proposal status is "Succeeded" and any cooldown period has elapsed. Screenshots in Discord are not sufficient — check the governance UI or an explorer linked to your realm.
Compare the executable instructions against what voters actually approved. Draft proposals sometimes change between discussion and submission.
Stage 2: Confirm recipient address
Copy the recipient wallet from the approved proposal text, not from a DM or email. Verify the first and last four characters with the recipient through a second channel. For USDC transfers, confirm the token mint address matches mainnet USDC, not a lookalike token.
Stage 3: Signing order
Multisig setups specify how many signatures are required (for example, 2-of-3). Agree on signing order before the first person signs — some tools invalidate partial signatures if the transaction details change.
- Signer A creates or reviews the transaction draft
- Signer A signs and shares the pending transaction link
- Signer B verifies amount, recipient, and token type, then signs
- If a third signature is needed, repeat verification before Signer C signs
- Any signer can submit the fully signed transaction
Stage 4: Post-transfer confirmation
After submission, record the transaction signature in your treasury log. Notify the recipient with the explorer link. Update any internal spending tracker so the council knows the approved budget line has been used.
Where workflows stall
- Cooldown confusion: signers attempt execution before the timer ends
- Wrong wallet: a signer uses a personal wallet not on the multisig
- Token account missing: recipient has no associated token account for SPL tokens
- Stale proposal: execution instructions reference an old program version
Checklist you can copy
Print or pin this list in your ops channel:
- Proposal status = Succeeded on-chain
- Cooldown elapsed (if applicable)
- Recipient address verified out-of-band
- Token mint confirmed for SPL transfers
- Signing order agreed
- Transaction signature logged after confirmation
For a review tailored to your signers, book a Treasury Workflow Review session.