Decentralized dead man's switch system for autonomous information disclosure.
Canary Protocol enables creation of cryptographic dead man's switches that automatically release encrypted information if the creator fails to check in. The protocol uses economic incentives (bounties) to ensure reliable triggering without requiring trusted parties.
- Encryption & Key Splitting: AES-256 encryption with Shamir's Secret Sharing
- IPFS Integration: Decentralized storage with self-hosted nodes
- Economic Incentives: Bounties ensure reliable triggering
- Docker Support: Complete portable environment with all dependencies
- Multi-Network: Works on Ethereum, Polygon, Arbitrum, and more
- Gas Optimized: Minimal on-chain storage, IPFS for data
- Comprehensive Testing: 67+ automated tests covering security, edge cases, state consistency, fragment reconstruction, and integration workflows
- Browser Interface: Web-based encryption with progress tracking, IPFS integration, bounty recommendations, and form auto-population
- Start all services including IPFS:
chmod +x start-docker.sh
./start-docker.sh start- Access the application:
- Frontend: http://localhost:3000
- IPFS Gateway: http://localhost:8080
- IPFS WebUI: http://localhost:5001/webui
- For fault-tolerant rebuilds:
./start-docker.sh rebuildSee Docker Documentation for details.
- Install dependencies:
npm install- Compile contracts:
npm run compile- Run test suite:
npm test- Deploy to testnet:
npm run deploy --network sepolia- Security Guide - Operational security best practices
- Usage Guide - How to create and maintain switches
- Deployment Guide - Contract deployment instructions
- Docker Setup - Complete Docker environment with IPFS
- IPFS Integration - How IPFS storage works
- RPC Providers - Ethereum connection options (no Infura required!)
- Contract Verification - Verify contracts without API keys
- Testing Guide - Complete testing instructions
- CanaryFactory:
[TO BE DEPLOYED]
- CanaryFactory:
0xf1d344d3d2E81ebdFd309952F052Ba1af65b9028(v1 - without IPFS CID) - CanaryFactory:
[TO BE DEPLOYED](v2 - with IPFS CID storage)
Note: The v1 contracts don't store IPFS CIDs. Use v2 contracts for complete functionality.
No rights reserved. This protocol is dedicated to the public domain.