Hanzo Safe
Multi-signature custody with quantum-safe security
Enterprise-grade multi-sig and threshold-signature wallets built on quantum-resistant cryptography. Secure your treasury with customizable policies, recovery mechanisms, and comprehensive audit trails.
Multi-Sig Wallets
Require multiple signatures for transactions. 2-of-3, 3-of-5, or custom configurations.
Threshold Signatures
TSS-based signing that never reconstructs the full private key.
Quantum-Safe Custody
Post-quantum cryptographic algorithms protect against future threats.
Policy Engine
Define spending limits, time locks, and approval workflows.
Get Your API Key
Start building in under 5 minutes
No credit card required. Free tier includes 300M compute units/month.
Trusted by developers building:
Key Capabilities
Everything you need, nothing you don't.
Multi-Sig Wallets
Require multiple signatures for transactions. 2-of-3, 3-of-5, or custom configurations.
Threshold Signatures
TSS-based signing that never reconstructs the full private key.
Quantum-Safe Custody
Post-quantum cryptographic algorithms protect against future threats.
Policy Engine
Define spending limits, time locks, and approval workflows.
Audit Trail
Complete history of all actions, approvals, and transactions.
Notifications
Real-time alerts for pending approvals, transactions, and policy changes.
Hardware Key Support
Integrate Ledger, Trezor, and other hardware wallets as signers.
Recovery Mechanisms
Social recovery, time-delayed recovery, and emergency contacts.
Simple to Integrate
Get started with just a few lines of code. SDKs for every language.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import "@hanzo/safe/IHanzoSafe.sol";
import "@hanzo/safe/ISafeModule.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
contract TreasuryModule is ISafeModule {
IHanzoSafe public safe;
uint256 public dailyLimit;
uint256 public spentToday;
uint256 public lastSpendDate;
mapping(address => bool) public allowedRecipients;
constructor(address _safe, uint256 _dailyLimit) {
safe = IHanzoSafe(_safe);
dailyLimit = _dailyLimit;
}
// Execute transaction through Safe with daily limit check
function executeWithLimit(
address to,
uint256 value,
bytes calldata data
) external returns (bool success) {
require(allowedRecipients[to], "Recipient not allowed");
// Reset daily limit if new day
if (block.timestamp / 1 days > lastSpendDate) {
spentToday = 0;
lastSpendDate = block.timestamp / 1 days;
}
require(spentToday + value <= dailyLimit, "Daily limit exceeded");
spentToday += value;
// Execute through Safe
success = safe.execTransactionFromModule(to, value, data, 0);
}
// Propose multi-sig transaction
function proposeTransaction(
address to,
uint256 value,
bytes calldata data
) external returns (bytes32 proposalId) {
proposalId = safe.proposeTransaction(to, value, data, msg.sender);
}
// Sign/approve a proposal
function approveProposal(bytes32 proposalId) external {
safe.approveTransaction(proposalId, msg.sender);
}
// Execute when threshold reached
function executeProposal(bytes32 proposalId) external {
require(safe.getApprovalCount(proposalId) >= safe.threshold(), "Threshold not met");
safe.executeTransaction(proposalId);
}
}Built For
DAO Treasury
Manage community funds with multi-sig governance. Require council approval for large transactions.
Corporate Treasury
Secure company crypto assets with board-level approval workflows and audit compliance.
Investment Funds
Manage fund assets with partner signatures, compliance checks, and institutional-grade security.
Protocol Governance
Secure protocol admin keys with time locks, multi-sig, and emergency pause capabilities.
Supported Chains
Start Building with Hanzo Safe
Get your free API key and ship your first request in under 5 minutes. No credit card required.