Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

LazyLora

Terminal UI for Algorand blockchain exploration

GitHub release (latest by date) License: MIT

LazyLora is a terminal user interface for exploring the Algorand blockchain. Browse blocks, transactions, accounts, assets, and applications - all from your terminal.

LazyLora Screenshot

What You Can Do

  • Browse the latest blocks and transactions in real-time
  • Search by transaction ID, account address, block number, asset ID, or NFD name
  • Inspect transactions with visual graph view showing inner transactions and asset flows
  • Explore accounts (balances, assets, apps), assets (supply, metadata), and applications (state, programs)
  • Export transaction graphs as SVG files
  • Copy transaction IDs, addresses, or raw JSON to clipboard
  • Open any entity directly in your browser (Lora explorer)
  • Switch between MainNet, TestNet, and LocalNet

Installation

Quick Install

macOS / Linux

curl -fsSL https://raw.githubusercontent.com/aorumbayev/lazylora/main/install.sh | bash

Windows

iwr -useb https://raw.githubusercontent.com/aorumbayev/lazylora/main/install.ps1 | iex

Note: Ensure you have Visual C++ Redistributable installed on Windows.

Package Managers

Cargo (crates.io)

cargo install lazylora

Arch Linux (AUR)

# Binary package
yay -S lazylora-bin

# Build from source
yay -S lazylora

Manual Installation

Download the latest release from the GitHub Releases page and extract the binary to a location in your PATH.

Quick Start

Launch

lazylora

This opens the TUI connected to MainNet.

Your First Session

  1. Browse blocks - The left panel shows recent blocks. Use j/k or arrow keys to navigate.

  2. View transactions - Press Tab to switch to the transactions panel. Press Enter on any transaction to see details.

  3. Try the graph view - In transaction details, press Tab to toggle between Table and Visual (graph) mode. The graph shows inner transactions and asset flows.

  4. Search for something - Press f to focus the search bar. Type an address, transaction ID, or block number. The search type is auto-detected.

  5. Toggle live updates - Press Space to pause/resume live block updates.

  6. Get help - Press ? to see all keybindings.

  7. Quit - Press q to exit.

Quick Lookups from CLI

Jump straight to what you need:

# Look up a transaction
lazylora -t <TXID>

# Look up an account
lazylora -a <ADDRESS>

# Look up a block
lazylora -b <BLOCK_NUMBER>

# Look up an asset
lazylora -s <ASSET_ID>

# Open transaction in graph view
lazylora -t <TXID> -g

Switch Networks

Press n in the app to switch between MainNet, TestNet, and LocalNet. Or specify at launch:

lazylora -n testnet
lazylora -n localnet

Key Bindings

Press ? at any time to see this help in the app.

Global

KeyAction
qQuit
rRefresh data
?Toggle help
nOpen network selector
SpaceToggle live updates
fFocus search bar
KeyAction
TabCycle between panels
j / DownMove down
k / UpMove up
gJump to top
GJump to bottom
EnterOpen details
EscClose / Cancel

Detail Views (Transaction, Block, Account, Asset, App)

KeyAction
EscClose details
TabSwitch view mode / tab
fToggle fullscreen
cCopy ID to clipboard
yCopy raw JSON
oOpen in browser (Lora)

Transaction Details

KeyAction
TabToggle Table / Visual mode
j / kNavigate sections (Table mode)
Enter / SpaceExpand/collapse section
Arrow keysScroll graph (Visual mode)
sExport graph as SVG

Block Details

KeyAction
TabSwitch between Info / Transactions tabs
j / kNavigate transaction list
EnterView transaction details

Account Details

KeyAction
TabCycle Info / Assets / Apps tabs
j / kNavigate list
EnterView asset or app details

Application Details

KeyAction
TabCycle Info / State / Programs tabs
j / kNavigate state entries

Network Selector

KeyAction
j / kNavigate list
g / GJump to top / bottom
EnterSelect network
aAdd custom network
dDelete custom network
EscClose
KeyAction
EscCancel search
EnterSubmit query
TabCycle search type
Up / DownBrowse search history
Left / RightMove cursor
BackspaceDelete character

Networks

LazyLora connects to Algorand networks. Press n to switch.

MainNet

Production network. Real ALGO, real transactions. This is the default.

lazylora              # defaults to mainnet
lazylora -n mainnet   # explicit

TestNet

Test network for development. Free test ALGO from the faucet.

lazylora -n testnet

LocalNet

Your local Algorand node. Useful with AlgoKit LocalNet.

# Start LocalNet first
algokit localnet start

# Then connect
lazylora -n localnet

LocalNet connects to http://localhost:4001 (algod) and http://localhost:8980 (indexer).

Current Network

The header shows which network you’re connected to. Live updates indicator shows connection status.

Searching

Press f to focus the search bar. Type your query and press Enter.

Auto-Detection

LazyLora detects what you’re searching for:

You typeDetected asExample
52-char stringTransaction IDAAAAAAA... (52 chars)
58-char stringAccount AddressAAAAAAAA... (58 chars)
Number < 100MBlock Number12345678
Number >= 100MAsset ID31566704
Contains .algoNFD Namealice.algo
Short textNFD Namealice

Type Indicator

While typing, a badge shows the detected type:

  • [TXN] - Transaction
  • [BLK] - Block
  • [ACC] - Account/NFD
  • [AST] - Asset
  • [???] - Unknown (won’t search)

Search Keys

KeyAction
EnterSubmit search
EscCancel
TabForce different search type
Up / DownBrowse history
Left / RightMove cursor

Skip the TUI and go directly to results:

lazylora -t <TXID>           # Transaction
lazylora -a <ADDRESS>        # Account
lazylora -b <BLOCK>          # Block
lazylora -s <ASSET_ID>       # Asset
lazylora -t <TXID> -g        # Transaction in graph view

CLI Commands

Launch

lazylora              # MainNet (default)
lazylora -n testnet   # TestNet
lazylora -n localnet  # LocalNet

Direct Lookups

Skip the TUI and go straight to details:

lazylora -t <TXID>           # Transaction
lazylora -a <ADDRESS>        # Account (or NFD name)
lazylora -b <BLOCK_NUMBER>   # Block
lazylora -s <ASSET_ID>       # Asset

Graph View

Open a transaction directly in visual graph mode:

lazylora -t <TXID> -g
lazylora --tx <TXID> --graph

Updates

lazylora update              # Check for new version
lazylora update --install    # Install update

Version

lazylora version             # Show version info

Options

OptionShortDescription
--tx <TXID>-tTransaction ID
--account <ADDRESS>-aAccount address or NFD
--block <NUMBER>-bBlock number
--asset <ID>-sAsset ID
--network <NETWORK>-nNetwork: mainnet, testnet, localnet
--graph-gOpen in graph view

Subcommands

CommandDescription
versionShow version
updateCheck for updates
update --installInstall update

Examples

# Transaction on MainNet
lazylora -t AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

# Account on TestNet
lazylora -n testnet -a AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

# USDC asset details
lazylora -s 31566704

# Block 12345
lazylora -b 12345

# Transaction graph on TestNet
lazylora -n testnet -t TXID -g

Building from Source

Prerequisites

Build

git clone https://github.com/aorumbayev/lazylora.git
cd lazylora
cargo build --release

Binary: target/release/lazylora

Install Locally

cargo install --path .

Run Tests

# Install nextest (faster test runner)
cargo install cargo-nextest

# Run all tests
cargo t --all-features

# Run specific test
cargo t <test_name>

Development

cargo build          # debug build
cargo run            # run debug build
cargo clippy         # lint
cargo fmt            # format

Contributing

Contributions welcome!

Setup

git clone https://github.com/YOUR_USERNAME/lazylora.git
cd lazylora

# Install nextest for faster tests
cargo install cargo-nextest

Workflow

  1. Fork the repo
  2. Create a branch: git checkout -b my-feature
  3. Make changes
  4. Test: cargo t --all-features
  5. Lint: cargo clippy --all-features -- -D warnings
  6. Format: cargo fmt
  7. Submit PR

Testing

cargo t --all-features          # All tests
cargo t <test_name>             # Single test
cargo insta review              # Review snapshot changes

Guidelines

  • Add tests for new functionality
  • Update docs if user-facing behavior changes
  • Keep commits focused

Issues

Found a bug? Open an issue.

License

Contributions are MIT licensed.