Skip to main content
glnc

CHAIN

Check balances and decode transactions on zkSync from the command line

Everything glnc can do on zkSync: balance lookup, transaction decoding, and live gas. Examples below are copy-pasteable; swap the address or hash for your own.

Quick install

On macOS or Linux:

brew install aryarahimi1/glnc/glnc
glnc 1.0.9 ready · zkSync support built in

Balance on zkSync

glnc auto-detects zkSync from the address format. To restrict a multi-chain query to zkSync only, pass --chain zk.

glnc balance 0x... --chain zksync
⬢ ZKSYNC (4 tokens)
ETH 1.240 $4,030.00
USDC — — (unpriced)
─────────────────────────────
Grand Total $4,030.00+
(+ indicates some asset prices are unavailable)

Decode a zkSync transaction

Pass a hash and (optionally) --chain zk to skip cross-chain probing. glnc decodes calldata and walks token movements out of the receipt logs.

glnc tx 0xabc... --chain zksync
✓ ERC-20 transfer on ⬢ ZKSYNC
Token movements:
− 100.00 USDC you → 0x000a…ec8e
gas: 412,210 × 0.001 gwei · $0.00

zkSync gas right now

Live percentile fee tiers from eth_feeHistory across the last 64 blocks, plus a USD estimate at the current zkSync native price.

glnc gas --chain zksync
Chain base p10 p50 p90 block fast avg
zksync 0.04 0.001 0.001 0.001 ~3s $0.00 $0.00

Aliases

Every alias resolves to the same chain. Pass any of them to --chain:

glnc balance 0x... --chain zk
accepted aliases: zk, era, zksync

zkSync-specific notes

What makes zkSync different

zkSync Era is a zk-rollup with a zkEVM execution environment. The instruction set is EVM-compatible at the bytecode level for most workflows, which is why glnc's EVM adapter works on it with only chain-specific wiring rather than a separate decoder. There are real differences worth knowing if you are scripting against it:

  • Native gas token is ETH, not a separate protocol token. Balances and gas estimates are priced in ETH, then converted to USD with the same CoinGecko feed as Ethereum mainnet.
  • Account abstraction is built into the protocol. Every account on zkSync can be a smart contract account with custom signature schemes; paymasters can pay gas in arbitrary tokens. glnc treats the paid-from address as the sender for transaction display, which matches how Etherscan presents the same flow.
  • The fee model is not EIP-1559 in the strict mainnet sense. zkSync exposes a single gasPrice equivalent derived from the L2 fee plus an L1 publication component. glnc still shows base / p10 / p50 / p90 columns for consistency, but on zkSync the spread between percentiles is usually flat (the auction is light).

Unpriced tokens caveat

Native ETH on zkSync is priced normally through CoinGecko. ERC-20 token prices are intentionally fail-closed: some token contracts on zkSync do not have a canonical mapping in CoinGecko's feed, which means a spoofed contract with the right symbol could otherwise inherit the wrong price. glnc marks those balances as noPrice rather than guess.

The default output hides unpriced balances below the dust threshold and shows priced balances normally. Pass --show-unpriced to see every token, including the ones with in the USD column, and a + on the grand total indicates the figure is a lower bound while unpriced assets remain.

When to use glnc on zkSync

When you want to script against a zkSync wallet without juggling the zkSync explorer's API tier or threading an API key through your environment. glnc balance ... --chain zksync --json returns a stable envelope you can pipe into jq for monitoring, alerts, or hourly portfolio exports. glnc gas --chain zksync --watch is useful when you are batching L2 transactions and want to catch the rare moment when the auction tightens enough to matter.