zkSync Portal is a state-of-the-art wallet dapp, merging the power of zkSync Era∎ and zkSync Lite into one user-friendly interface. Designed with a stress on effortless user experience, it simplifies token management, making it your premier interface for interacting with both zkSync versions - every interaction smooth and efficient.
- 🖥️ Intuitive interface for managing, sending, and bridging zkSync Era and zkSync Lite tokens.
- 📇 Ability to add contacts for quick and easy access.
- 🔧 Effortless setup and connection to local zkSync nodes or ZK Stack Hyperchains.
- 🌐 Dive in now at portal.zksync.io.
- 🌉 Also, explore the zkSync Era Bridge at bridge.zksync.io.
Harness the Portal's power to connect to your local zkSync Era node.
Prerequisites: Node.js version 16+, npm version 7+
- 📚 Follow the documentation for setting up either an in-memory node or dockerized local setup.
- 🔄 Clone the Portal repository and set it up:
git clone https://github.com/matter-labs/dapp-portal.git cd dapp-portal npm install
- 🛠️ Modify the default network settings in
data/networks.ts
if your network ID, RPC URL, or other info differs. Customize displayed tokens there if needed.- Alternatively, use the configuration form for guided config setup.
- 🔥 Launch the dev server:
- For in-memory node:
npm run dev:node:memory
- For dockerized setup:
npm run dev:node:docker
- For in-memory node:
Navigate to the displayed Portal URL (typically http://localhost:3000).
To use Portal with your ZK Stack Hyperchain, see the guide here.
By default, L1 balances are fetched via a public RPC. For faster loading speeds and reduced load on your L1 RPC provider, consider using Ankr's RPC service. Obtain an Ankr token and update the .env
file:
ANKR_TOKEN=your_ankr_token_here
Before deploying your own version of the Portal, ensure you create your own Wallet Connect project on walletconnect.com. After creating the project, update the project ID in the .env
file:
WALLET_CONNECT_PROJECT_ID=your_project_id_here
Ensure you've installed the necessary dependencies:
npm install
Activate the dev server at http://localhost:3000:
npm run dev
Compile for production:
npm run generate
📘 Familiarize yourself with the Nuxt 3 documentation for a deeper dive.
<iframe src="https://portal.zklink.io/deposit-integrate?network=ethereum&token=0x176211869cA2b568f2A7D4EE941E073a821EE1ff&title=Bridge&desc=Bridge+your+asset+to+Nova+to+enjoy+dapps&desc_size=18" width="100%" height="100%"></iframe>
- network: network id, Available options are: ethereum, primary(for Linea), zksync, arbitrum, mantle, manta, optimism, base
- token: corresponds to the token address on selected network, the token address for ETH is "0x0000000000000000000000000000000000000000".
- title: title of the deposit page
- title_size: font size of the title
- desc: description of the deposit page
- desc_size: font size of the description
Open arms for contributions! Enhance our code and send your pull request here.
Proudly under the MIT License.