# NEBRA L2-UPA Datasheet > **TL;DR** > NEBRA L2-UPA is derived from [NEBRA UPA](https://docs.nebra.one/upa-protocol-specification), a protocol deployed on Ethereum L1. NEBRA UPA L2 shared the same core contracts with NEBRA UPA, the main difference is that NEBRA L2-UPA only support off-chain proof submission via RPC, which is much less than the on-chain proof submission would cost. ## NEBRA L2-UPA Workflow ![l2-upa](https://hackmd.io/_uploads/r1iKn5btR.png) The high level workflow that World App uses NEBRA L2-UPA would be: 1. Submitter (i.e. the World App's supporting infrasctructure) submits the batched proofs and a deadline to NEBRA UPA RPC. 2. NEBRA UPA RPC returns an **Aggregatation commitment** to submitter, which contains: - `deadline`: the confirmed deadline, which is the lastest block that the proof batch should be finalized - `submission id` 3. NEBRA's offchain prover generates the aggregated proof, and submitted to the L2-UPA contract deployed on WorldChain. 4. The Worldcoin smart contract now can query the state of NEBRA L2-UPA contract to execute the business logic. > NOTE: this is a simplified verison which omit the fee processing logic ## NEBRA UPA Versions and Roadmap Below is the planned NEBRA UPA versions and planned launch time: - **UPA v1.2/L2-UPA v1.2**: support 3 versions of Groth16 as input, i.e. SnarkJS, Gnark Groth16, Gnark Groth16 with commitment, proof aggregation uses Halo2. UPA 1.2 (on ethereum) supports both onchain and offchain (RPC) proof submission. L2-UPA v1.2 only support offchain proof submission. - **UPA v2.0/L2-UPA v2.0** support above mentioned 3 versions of Groth16 proofs as input, as well as Plonk, Fflonk, Halo2, Honk (more to be added). UPA v2.0 uses Succinct SP1 + NEBRA customized precompiles. The final aggregated proof is Groth16. | Version | Deployed Chain | Status |Launch Time | | -------- | -------------- | -------|-------- | | UPA V1.2 | Ethereum | Audited | August 7, 2024 | | UPA V2.0 | Ethereum | Prototype done, Production WIP | September 30, 2024* | | L2-UPA v1.2 | World Chain | Audit start in August 10 | September 10, 2024* | | L2-UPA v2.0 | World Chain | WIP | October 10, 2024* | > Note: * means best estimate ## L2-UPA Gas Cost - **Projected** L2-UPA v1.2 amortized gas cost per proof and latency with different batch sizes: | Batch size | Latency (sec) | L1 Gas | L2 Gas | | ---------- | --------------| ------- |--------| | 256 | 673 | 113 | 1,465 | | 512 | 1,138 | 56 | 732 | | 1,024 | 1,450 | 28 | 366 | | 2,048 | 1,950 | 14 | 183 | - **Projected** L2-UPA v2.0 amortized gas cost per proof with different batch sizes (the latency will be similar to v1.2, more details later): | Batch size | L1 Gas | L2 Gas | | ----------- | ------ |--------| | 256 | 10 | 1,172 | | 512 | 5 | 586 | | 1,024 | 3 | 293 | | 2,048 | 1 | 146 | - Compare L2-UPA L1 gas cost: ![upa-l1-gas](https://hackmd.io/_uploads/r1wt9jWtR.png) - Compare L2-UPA L2 gas cost: ![upa-l2-gas](https://hackmd.io/_uploads/B13EoobYC.png) ## Further Read 1. [NEBRA UPA L2 Design](https://hackmd.io/@nebra-one/By53jTJyA)