How It Works

Learn how MultiSig Withdrawal keeps your treasury secure

MultiSig Withdrawal is a secure 2-of-N multi-signature system for managing treasury funds. Every withdrawal requires approval from at least two authorized signers, protecting against unauthorized access and single points of failure.

The Withdrawal Process

1

Create a Withdrawal Request

Any authorized withdrawer can create a request specifying the amount, token type (ETH, USDC, or USDT), and recipient address.

2

Wait for Approval

The request enters a pending state. Another withdrawer must review and approve it. The initiator cannot approve their own request.

3

Second Signature

Once a second withdrawer approves, the request is marked as approved and ready for execution.

4

Execute the Withdrawal

Any withdrawer can execute the approved request, transferring funds to the specified recipient.

Security Features

Auto-Approval Fallback

If no action is taken within the cooldown period (default 30 days), requests automatically become executable. This prevents funds from being locked if signers become unavailable.

Decline Protection

Withdrawers can decline suspicious requests. Declined requests cannot be executed and are permanently closed.

Role-Based Access

Admins manage contract settings and user roles. Withdrawers can create, approve, and execute requests. Viewers can monitor activity.

User Roles

Admin
  • • Manage withdrawers
  • • Set cooldown period
  • • Configure contract
Withdrawer
  • • Create requests
  • • Approve/decline
  • • Execute withdrawals
Viewer
  • • View balances
  • • Monitor requests
  • • Track activity

Request Status Flow

PendingApprovedExecuted
or
PendingDeclined

Tip: All actions are recorded on-chain for full transparency and auditability. The smart contract is built on OpenZeppelin's battle-tested AccessControl system.