Join Our Ecosystem

ZK Coprocessing

Verifiably compute over historical storage, receipt or transaction data from your smart contract at a big data scale. Seamlessly interact between chains with cryptographically secure state proofs.

Embarrassingly Parallel PROVING

Lagrange’s hyper-parallel prover is designed for generating ZK proofs for any distributed or parallelizable computational model. Backed by Lagrange's Reckle Trees research, we support programming models ranging from MapReduce to distributed SQL.

Our coprocessor can efficiently parallelize proof computation across hundreds of thousands of storage slots and return a single proof back to smart contracts.


Lagrange State Committees (LSCs) is a ZK light client protocol for optimistic rollups (ORUs) designed by combining Lagrange’s hyper-parallel prover and EigenLayer restaking. Each LSC borrows security from Ethereum by dual staking with both EigenLayer and a rollup’s native token.

An LSC creates a “fast-mode” for all interoperability protocols integrated with it by providing a secure and trust-minimized guarantee of a rollups’ state prior to the end of the fraud proof window.


Explore how to use ZK proofs to compute over historical storage, receipt or transaction data directly from your smart contract.

Learn More

var dataframe = polygon.createDataFrame({
   block_range_start: polygon.currentBlock() - 1024,
   block_range_start: polygon.currentBlock(),
   interval: 1,
         {name: liquidity_1, memory:"0x56e81...21"},
         {name: liquidity_2, memory:"0x56211...32"},

dataframe ="asset_price",     polygon.liquidity_1.div (polygon.liquidity_2))

var price_mean = polygon.reduce(avg ("asset_price"))

function verifyStateCommittee(
   uint256 chainID,
   bytes32 blockHash,
   bytes32 participantRoot,
   bytes32 stateCommitteeRoot,
   bytes32 genesisCommittee,
   bytes calldata committeeProof

) external {
   uint256[] memory pubStatement = new uint256[](5);
   pubSignals[0] = chainID;
   pubSignals[1] = uint256(uint160(blockHash));
   pubSignals[2] = uint256(participantRoot);
   pubSignals[3] = uint256(stateCommitteeRoot);
   pubSignals[4] = uint256(genesisCommittee);
   return verifier.verifyProof (proofOfInteraction, pubStatement);


Seamlessly integrate Lagrange State Proofs with any existing bridge or messaging protocol, to enhance the security of cross-chain interaction.

Learn More

Want to work with Lagrange? Sign up today to stay in the loop on new developments.

Sign up to stay up to date on Lagrange

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.