Decryption Request Flow
The process of requesting decryption through Smart Contracts starts the same as every other FHE Operation Request 📌steps 1-4 Here we’ll continue from FheOS server handling such request as follows:Flow Diagram
The following diagram illustrates the complete flow of an FHE Decryption request in the CoFHE ecosystem:Step-by-Step Flow
Steps 1-4 - FHE Operation Request
The decryption request follows the same initial steps as a standard FHE operation request:1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣Refer to FHE Operation Request Flow for details on steps 1-4, which include:
- Integration with the Client SDK
- Requesting an FHE Operation
- Task Manager Processing
- Slim Listener Processing
FheOS server - Decryption Execution
The FheOS server handles decryption requests:
- Create execution thread on the fheOS server
-
FheOS server calls the threshold network with:
- The ciphertext to be decrypted
- Transaction hash from the host chain
- Original operation handle
Threshold network security protocol
The Threshold Network performs secure decryption:
- Verify the host chain requested the desired decryption
- Retrieve the actual ciphertext hash from private storage
- Validate ciphertext hash integrity
- Perform secure decryption
Result Delivery
After decryption is complete: 7️⃣
- The Threshold Network returns the plaintext along with an ECDSA signature to the client (via the Client SDK)
- The client (or any relayer) calls
FHE.publishDecryptResult(ctHash, result, signature)orFHE.verifyDecryptResult(ctHash, result, signature)on-chain - The on-chain contract verifies the signature before accepting the result
This enables permissionless result delivery — anyone holding a valid signature can publish. This is useful for client-driven settlement or relayer patterns.