Can Obsidian Protocol be shut down?
No. The smart contract is deployed and immutable on Arc blockchain. There is no off switch. The developers cannot modify or stop it.
Obsidian Protocol / Reference
Everything you need to understand, trust, and use Obsidian Protocol.
01 / Protocol
Obsidian Protocol is a cryptographic dead man's switch deployed on Arc blockchain. It guarantees that sensitive documents are automatically published if their owner cannot confirm they are safe.
No central server. No admin keys. No way to stop it once armed. The contract is immutable - not even the developers can interfere.
02 / Technical
+------------------------------------------------+
| OBSIDIAN PROTOCOL |
| ENCRYPTION FLOW |
+------------------------------------------------+
[YOUR BROWSER]
|
+- 1. Select document
+- 2. Generate AES-256-GCM key (random)
+- 3. Encrypt document with AES key
+- 4. XOR-split AES key into Part A + Part B
+- 5. Age-wrap each part for beneficiaries
|
v
[IPFS NETWORK]
|
+- 6. Upload encrypted document
+- 7. Receive IPFS hash (CID)
|
v
[ARC BLOCKCHAIN]
|
+- 8. Store: IPFS hash
+- 9. Store: encrypted key Part A
+- 10. Store: encrypted key Part B
+- 11. getVault returns Part B as "" until trigger
+- 12. Arm dead man's switch
|
v
[EVERY X DAYS]
|
+- Owner sends heartbeat transaction
+- Timer resets
|
v (if no heartbeat)
[TRIGGER ACTIVATED]
|
+- Encrypted Part B is revealed through getVault + event
+- Anyone can download encrypted file from IPFS
+- Beneficiaries decrypt both parts with age private key
+- Part A XOR Part B restores AES key in browser03 / Contract
The contract is an immutable registry for encrypted vault metadata and heartbeat state. It never stores plaintext documents.
| Function | Access | Description |
|---|---|---|
| createVault() | Public | Create a new vault with timer, IPFS hash, encrypted key Part A, encrypted key Part B, and beneficiaries. |
| heartbeat() | Owner | Reset the timer. Must be called before the deadline expires. |
| activateTrigger(address user) | Public | Anyone can call after deadline. Reveals encrypted key Part B through the public getter and trigger event. |
| getVault(address user) | Public | Read vault data. Key Part B returns an empty string until the vault is triggered. |
| getStatus(address user) | Public | Read the current lifecycle state: none, active, expired, or triggered. |
| nextDeadline(address user) | Public | Read the exact timestamp when the vault becomes triggerable. |
04 / Security
Always encrypt on a trusted, clean device
Use a trusted contact as backup
Pin your files on multiple services
Use a fresh wallet with no transaction history
Do not treat EVM storage as private; production release shares should stay off-chain until trigger
Post-quantum features are on Arc's roadmap and not yet available
Obsidian Protocol currently runs on Arc Testnet with standard EVM cryptography. Post-quantum features are on Arc's roadmap and not yet available.
When Arc Mainnet launches: wallet signatures upgrade to SLH-DSA-SHA2-128s. Adoption is opt-in, with no action required from vault owners.
When Arc Privacy launches: encrypted state is protected by X-Wing KEM (X25519 + ML-KEM-768 with AES-256-GCM), with full protection against harvest-now, decrypt-later attacks.
This matters because blockchain data is permanent. Documents sealed today must remain secure in 10+ years when quantum computers may become practical.
05 / Setup
Install MetaMask from metamask.io. Create a new wallet dedicated to Obsidian. Never reuse a wallet linked to your identity.
MetaMaskClick ADD ARC NETWORK in the app header. MetaMask will ask for confirmation. Accept.
Go to the Circle faucet and request testnet USDC for your wallet address.
Circle faucetGo to /vault/new. Upload your document. Set your timer. Deploy.
Initialize vaultVisit your vault dashboard regularly. Send a heartbeat before the timer expires. Set a personal reminder 48 hours before deadline.
Vault dashboard pattern06 / FAQ
No. The smart contract is deployed and immutable on Arc blockchain. There is no off switch. The developers cannot modify or stop it.
The blockchain stores the proof hash forever, but the file itself needs to stay pinned on IPFS. Obsidian uses Pinata for reliable pinning.
Your vault will eventually trigger and release the documents. Keep your seed phrase safe. Without it, you cannot send heartbeats.
Obsidian Protocol is a neutral tool. Using it to publish documents is subject to the laws of your jurisdiction. We do not provide legal advice.
Only the vault owner can reset the timer by sending a heartbeat. Once the deadline passes, anyone can call activateTrigger() and nothing can stop the publication.