This document describes the implemented Atlas feature set on origin/main through merged PR #79.
- Latest blocks and block details, including base fee, gas, transaction count, and optional DA status.
- Transaction lists and transaction details with status, value, gas, input data, transfers, and logs.
- Address pages with transaction history, ERC-20 balances, NFT ownership, transfers, and a contract tab for verified contracts.
- Universal search for block numbers, block hashes, transaction hashes, addresses, NFT collections, NFT token names, and ERC-20 names/symbols.
- Status page with chain ID, chain name, indexed height, estimated totals, and charts.
- Live block updates through Server-Sent Events with
/api/heightpolling fallback.
- Detects ERC-20 transfers from event logs.
- Stores token contracts, transfers, balances, holders, and indexed supply history where available.
- Exposes token list, token detail, holders, transfer history, address balances, transaction token transfers, and token chart data.
- Recomputes indexed total supply from balances when complete history is available.
- Detects NFT contracts and transfers.
- Tracks token ownership and transfer history.
- Fetches and stores token metadata, image URL, name, full JSON metadata, retry status, and error state.
- Shows pending/unavailable metadata states in the frontend.
- NFT token pages display common fields and provide a raw JSON toggle for full metadata inspection.
- NFT token name search uses trigram indexing for fast text lookup.
- Indexes raw event logs for transactions and emitting addresses.
- Provides transaction logs and decoded transaction logs.
- Uses known event signatures and verified ABIs where available.
- Supports address log pagination with explicit
pageandlimitquery parsing.
- Verifies Solidity contracts through
POST /api/contracts/{address}/verify. - Supports standard JSON input and single-source verification.
- Downloads and caches solc binaries in
SOLC_CACHE_DIR. - Stores source, compiler settings, ABI, bytecode metadata, and verification status.
- Displays verified source and ABI in the frontend contract tab.
- Decodes transaction input against verified ABIs where possible.
- Detects proxy contracts and exposes proxy info plus combined proxy/implementation ABI.
Atlas supports Etherscan-style responses at exact /api for tooling compatibility:
account: balance, multi-balance, tx list, internal tx placeholder, token transfers, token balance.contract: get ABI, get source code.transaction: receipt status.block: block reward.proxy: selected RPC passthrough actions.
The native contract verification route is /api/contracts/{address}/verify; the current Etherscan-compatible contract module does not implement verifysourcecode.
/api/eventsstreams committed indexed blocks asnew_blockevents.- When DA tracking is enabled, the same stream emits
da_batchupdates. - The frontend buffers and de-duplicates live blocks, then falls back to polling when SSE disconnects.
SSE_REPLAY_BUFFER_BLOCKScontrols the in-memory block replay buffer for connected clients.
Optional DA tracking uses ev-node to record Celestia inclusion heights:
- Enable with
ENABLE_DA_TRACKING=true. - Configure ev-node with
EVNODE_URL. - Tune with
DA_WORKER_CONCURRENCYandDA_RPC_REQUESTS_PER_SECOND. - API and frontend expose header/data DA heights for blocks.
- DA UI is feature-gated by
/api/config.features.da_tracking.
Optional faucet support:
- Enable with
FAUCET_ENABLED=true. - Configure
FAUCET_PRIVATE_KEY,FAUCET_AMOUNT, andFAUCET_COOLDOWN_MINUTES. /api/configexposes whether the faucet is enabled and its public amount/cooldown metadata./api/faucet/inforeturns faucet balance and settings./api/faucetsends funds and returns a transaction hash.- Cooldown failures return
429with retry metadata.
Branding is runtime configurable through environment variables:
- Chain name.
- Default, light-theme, and dark-theme logos.
- Accent, background, success, and error colors.
- Mounted
/branding/assets in Docker. /api/configas the frontend runtime source of truth.
No frontend rebuild is required for branding changes when using runtime environment configuration and mounted assets.
atlas-server checkvalidates DB/RPC configuration.atlas-server migrateruns SQLx migrations.atlas-server runstarts API, indexer, and workers.atlas-server db dumpcreates portablepg_dumpcustom-format backups.atlas-server db restorerestores backups after resetting the public schema.atlas-server db reset --confirmtruncates indexed data while preserving schema and migrations.- Scheduled snapshots can run daily through env-only
SNAPSHOT_*settings.
- Prometheus metrics at
/metrics. - Liveness and readiness probes at
/health/liveand/health/ready. - HTTP route metrics with matched route labels.
- 10 second API timeout and database statement timeout for request-serving pools.
- Timeout-free migration pool for long index builds.
- Missed-block gap-fill worker with retry/backoff.
- RPC request rate limiting and batch fetching.
- Binary COPY batch writes for high-throughput indexing.
- Multi-chain indexing in one Atlas deployment.
- User accounts or per-user saved settings.
- ERC-1155 indexing.
- Full trace/internal transaction indexing.
- Browser-based contract write interactions.
- Native label management API routes.