- Attested Decrypt for obtaining cryptographic proofs of decryption that can be submitted on-chain
- Attested Compute for performing computations on encrypted data off-chain with attestation
- Attested Reveal for decrypting data that has been made publicly accessible
Attested Decrypt
Used when an authorized user needs a cryptographic proof of decryption that can be selectively revealed on-chain:- User requests decryption attestation offchain (via wallet signature or session key)
- Client sends request with proof of authorization to decryption network
- The decryption network verifies ACL permissions
- Each decryption network node decrypts the value and creates a signed attestation
- User receives the decryption attestation containing the plaintext and signatures
- User can submit the attestation to a smart contract for on-chain verification and use
Attested Compute
Used when you need to perform computations on encrypted data completely off-chain and get a decryption attestation:- User requests computation attestation offchain (via wallet signature or session key)
- Client sends request with proof of authorization and computation operation to decryption network
- The decryption network verifies ACL permissions
- Each decryption network node performs the computation on the encrypted data and creates a signed attestation
- User receives the computation attestation containing the result and signatures
- User can submit the attestation to a smart contract for on-chain verification and use
Attested Reveal
Used when data has been made publicly accessible and anyone can request decryption attestation:- Data is made public using e.reveal() on-chain
- Anyone can request decryption attestation offchain
- The decryption network verifies the data has been revealed
- Each decryption network node decrypts the value and creates a signed attestation
- Requester receives the decryption attestation containing the plaintext and signatures
- Anyone can submit the attestation to a smart contract for on-chain verification and use