Skip to main content
Use these commands to look at chain data and confirm your node is keeping up with the network.

basectl block

Fetches a single L2 block and prints it either as an easy-to-read table (default) or as full JSON (--json). Short alias: b. <REF> can be any of the following:
  • A block number in decimal (for example 42417649)
  • A block number in hex (for example 0x2871c71)
  • A tag: latest, safe, finalized, or earliest
  • A 32-byte block hash
Looking up a block by hash works even for blocks that are no longer on the canonical chain, such as orphaned or reorged-out blocks. The pending tag is not supported. The default table converts hex values to decimal and Unix timestamps to YYYY-MM-DD HH:MM:SS UTC. With --json, timestamps come back as an object with unix, utc, and local fields so you don’t have to do any timezone math.
Inspect a block

basectl sync-status

Shows how far your node is behind the network. It reads the sync status from both the consensus layer (CL) and the execution layer (EL), and compares your node’s head against a public endpoint. Each request runs in parallel; if either the CL or EL request fails, the command stops early, and the public comparison is skipped if the public endpoint is unreachable. The CL response lists every L1 and L2 head the node knows about, each with a block number, hash, and timestamp. With --json, the output also includes a precomputed safe-head lag (safeLagSeconds and safeLagBlocks, the difference between the unsafe and safe heads) so you don’t have to calculate it yourself. When the EL is still syncing, the output adds processedBlocks (how many blocks it has caught up so far) and remainingBlocks (how many are left), so you can see the size of the gap instead of just “syncing: true”. A tip_reference row compares your node’s head against the network’s public endpoint and reports one of:
  • caught_up — within the tolerance set by --tip-tolerance (default 5 blocks)
  • behind — further behind than the tolerance
  • ahead — ahead of the public endpoint
  • unavailable — the public endpoint couldn’t be reached
Check sync status

basectl flashblocks

Streams live Flashblocks to your terminal as one JSON object per line. For an interactive view instead, use basectl monitor flashblocks.
Stream Flashblocks as JSON
To learn more about Flashblocks and 200ms preconfirmations, see the Flashblocks FAQ.