Loading...
Loading...
ZION ↔ wZION · Base Sepolia Testnet
Lock ZION on L1 → receive wZION on Base. Rust relay with Guardian multi-sig, 60-block finality, Prometheus monitoring, replay-attack prevention.
Direction A
ZION (L1) → wZION (Base)
Step 1 — Lock ZION on L1
Send native ZION to the ZIONBridge escrow address on ZION L1. Include the bridge memo in the transaction.
Step 2 — Relay detects & verifies
The Rust relay monitors L1 blocks, waits 60-block finality, validates Guardian threshold.
Step 3 — Receive wZION on Base
ZIONBridge contract mints wZION ERC-20 to your wallet on Base Sepolia. 1:1 peg, no fees.
Direction B
wZION (Base) → ZION (L1)
Step 1 — Burn wZION on Base
Call burn(amount, l1Recipient) on the wZION ERC-20 contract with your ZION L1 address.
Step 2 — Relay verifies burn
EVM watcher detects the BurnForBridge event, waits 64-block EVM finality, submits L1 unlock.
Step 3 — Receive ZION on L1
L1 processes the unlock memo and releases escrowed ZION to your address. No extra fees.
Have wZION on Base Sepolia? Connect MetaMask and burn directly from this page. No download required.
Connect MetaMask on Base Sepolia to burn your wZION and receive ZION on L1.
MetaMask not detected. Install metamask.io to use this widget.
What happens after you burn
BurnForBridge event emitted on Base SepoliaPOST /api/bridge/unlock to ZION L1Testnet only
This widget operates on Base Sepolia. wZION has no real value. Do NOT send mainnet ETH or wZION to testnet addresses.
Detailed instructions for both directions — including the required L1 memo format.
Add your EVM address to the memo builder below
The system generates the correct memo string automatically.
Send ZION to the bridge address via ZION wallet
Include the generated memo in your L1 transaction. Minimum: 100 ZION.
Wait for 60-block L1 finality (~10 min)
The relay detects your lock, waits for finality, then mints wZION to your EVM wallet on Base Sepolia.
Memo format
BRIDGE:base:0xYourEvmAddressOpen BaseScan — wZION contract
Go to Contract → Write Contract → connect your wallet.
Call burn(amount, l1Recipient)
amount: wZION in wei (×108 — 8 decimals).
l1Recipient: your ZION L1 address string.
Wait for 64 EVM blocks (~2 min on Sepolia)
The relay detects BurnForBridge event, verifies finality, submits L1 unlock. ZION arrives in your L1 wallet.
Example: 500 wZION
burn(50000000000, "ZoYourL1AddressHere")500 × 108 = 50,000,000,000 (8 decimals)
Memo builder (L1 → Base)
BRIDGE:base:0xYourEvmAddressZION L1
Native blockchain
Bridge Relay
Rust · Tokio async
ZIONBridge.sol
EVM smart contract
wZION ERC-20
Base Sepolia token
L1 Watcher
Polls ZION L1 API, parses BRIDGE: memos from transaction inputs, validates 60-block finality.
EVM Watcher
Subscribes to Base Sepolia & scans BurnForBridge events in 49k-block chunks since deployment.
Relayer
Submits EVM mint transactions (handle_l1_lock) and L1 unlock calls (handle_evm_burn).
SQLite DB
INSERT OR IGNORE — duplicate TX hashes skipped. Replay-safe: completed ops cannot be reset.
Base Sepolia (Testnet) · Chain ID 84532
INSERT OR IGNORE: duplicate TX hashes are silently skipped. A completed lock/burn cannot be replayed to trigger a second mint.