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

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
-
Browse blocks - The left panel shows recent blocks. Use
j/kor arrow keys to navigate. -
View transactions - Press
Tabto switch to the transactions panel. PressEnteron any transaction to see details. -
Try the graph view - In transaction details, press
Tabto toggle between Table and Visual (graph) mode. The graph shows inner transactions and asset flows. -
Search for something - Press
fto focus the search bar. Type an address, transaction ID, or block number. The search type is auto-detected. -
Toggle live updates - Press
Spaceto pause/resume live block updates. -
Get help - Press
?to see all keybindings. -
Quit - Press
qto 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
| Key | Action |
|---|---|
q | Quit |
r | Refresh data |
? | Toggle help |
n | Open network selector |
Space | Toggle live updates |
f | Focus search bar |
Navigation
| Key | Action |
|---|---|
Tab | Cycle between panels |
j / Down | Move down |
k / Up | Move up |
g | Jump to top |
G | Jump to bottom |
Enter | Open details |
Esc | Close / Cancel |
Detail Views (Transaction, Block, Account, Asset, App)
| Key | Action |
|---|---|
Esc | Close details |
Tab | Switch view mode / tab |
f | Toggle fullscreen |
c | Copy ID to clipboard |
y | Copy raw JSON |
o | Open in browser (Lora) |
Transaction Details
| Key | Action |
|---|---|
Tab | Toggle Table / Visual mode |
j / k | Navigate sections (Table mode) |
Enter / Space | Expand/collapse section |
Arrow keys | Scroll graph (Visual mode) |
s | Export graph as SVG |
Block Details
| Key | Action |
|---|---|
Tab | Switch between Info / Transactions tabs |
j / k | Navigate transaction list |
Enter | View transaction details |
Account Details
| Key | Action |
|---|---|
Tab | Cycle Info / Assets / Apps tabs |
j / k | Navigate list |
Enter | View asset or app details |
Application Details
| Key | Action |
|---|---|
Tab | Cycle Info / State / Programs tabs |
j / k | Navigate state entries |
Network Selector
| Key | Action |
|---|---|
j / k | Navigate list |
g / G | Jump to top / bottom |
Enter | Select network |
a | Add custom network |
d | Delete custom network |
Esc | Close |
Search
| Key | Action |
|---|---|
Esc | Cancel search |
Enter | Submit query |
Tab | Cycle search type |
Up / Down | Browse search history |
Left / Right | Move cursor |
Backspace | Delete 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 type | Detected as | Example |
|---|---|---|
| 52-char string | Transaction ID | AAAAAAA... (52 chars) |
| 58-char string | Account Address | AAAAAAAA... (58 chars) |
| Number < 100M | Block Number | 12345678 |
| Number >= 100M | Asset ID | 31566704 |
Contains .algo | NFD Name | alice.algo |
| Short text | NFD Name | alice |
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
| Key | Action |
|---|---|
Enter | Submit search |
Esc | Cancel |
Tab | Force different search type |
Up / Down | Browse history |
Left / Right | Move cursor |
CLI Search
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
| Option | Short | Description |
|---|---|---|
--tx <TXID> | -t | Transaction ID |
--account <ADDRESS> | -a | Account address or NFD |
--block <NUMBER> | -b | Block number |
--asset <ID> | -s | Asset ID |
--network <NETWORK> | -n | Network: mainnet, testnet, localnet |
--graph | -g | Open in graph view |
Subcommands
| Command | Description |
|---|---|
version | Show version |
update | Check for updates |
update --install | Install 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
- Rust (stable)
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
- Fork the repo
- Create a branch:
git checkout -b my-feature - Make changes
- Test:
cargo t --all-features - Lint:
cargo clippy --all-features -- -D warnings - Format:
cargo fmt - 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.