OpenViSTAI · Agents · Blockchain · Crypto
Menu
Infrastructure

zkSync Era Withdrawal Finalizer

zkSync Era Withdrawal Finalizer is a Rust service that monitors events on zkSync Era and Ethereum, stores its state in PostgreSQL, and submits transactions to finalize L2-to-L1 withdrawals.

Independent OpenViST project profile, based on linked sources.

zkSync Era Withdrawal Finalizer — OpenViST project profile in Infrastructure.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when building or operating a self-hosted worker to monitor zkSync Era withdrawals and submit the transactions needed to finalize them on Ethereum.

Who it is for

  • Infrastructure teams operating zkSync Era withdrawal-finalization services.
  • Developers adapting the service for token or custom-bridge configurations.

Documented uses

  • Monitor withdrawal-related events across zkSync Era and Ethereum.
  • Persist service state in PostgreSQL.
  • Submit transactions to finalize L2-to-L1 withdrawals.
  • Configure token monitoring and finalization behavior for supported custom-bridge scenarios.
Before you choose

Requirements & limits

The repository is public and provides Rust build instructions. It lists the project under Apache-2.0 or MIT licensing, at the user's option.

  • Deployment requires Ethereum and zkSync Era RPC endpoints plus PostgreSQL.
  • Database migrations must be run before deployment.
  • The service requires a private key for the account that submits finalization transactions.
  • Environment-variable settings cover contract addresses, gas limits, retry timing, and optional token-handling controls.
  • The repository documents Dockerized deployment.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Prepare the service for deployment

Build the Rust project and prepare its PostgreSQL database and configuration prerequisites for deployment.

Before you start

  • Rust and Cargo
  • PostgreSQL instance
  • sqlx-cli
  • Ethereum and zkSync Era WebSocket RPC endpoints

Steps

  1. Build the project with the command below.

    Documented command
    cargo build
  2. From the storage directory, create the database using DATABASE_URL and sqlx database create.

  3. Run database migrations with DATABASE_URL and sqlx migrate run.

  4. Configure the documented environment variables or a .env file, then deploy a Dockerized image.

Expected outcome

The project is built, its database migrations are run, and the documented deployment prerequisites and configuration are prepared.

Guide limitations

  • This guide covers documented build and deployment preparation, not a verified deployment or successful withdrawal.
  • Deployment also requires contract addresses, gas settings, and the private key of the transaction-submitting account.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
13 October 2026
Original website title
matter-labs/zksync-withdrawal-finalizer · Official homepage title · retained in its source language