Custom EVM Block Explorer: Blockscout & Otterscan Deployment

Deploying a Custom EVM Block Explorer: Blockscout and Otterscan Typical task: you have a private EVM network (L2 or corporate sidechain), and Etherscan is not an option. You need a custom <cite>[blockchain explorer](https://en.wikipedia.org/wiki/Block_explorer)</cite> with branding, custom decode

Blockchain Development Services

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1450
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1309
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    1004
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1270
  • image_logo-advance_0.webp
    B2B Advance company logo design
    719
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    1011

Deploying a Custom EVM Block Explorer: Blockscout and Otterscan

Typical task: you have a private EVM network (L2 or corporate sidechain), and Etherscan is not an option. You need a custom blockchain explorer with branding, custom decoded events, and protocol metrics. Without your own explorer, developers lose transparency and users lose convenience. Our custom block explorer deployment services cover both Blockscout and Otterscan. We have deployed over 50 such solutions—from simple Otterscan for testnets to full-featured Blockscout with custom UI and verification integration. Our 10+ years of experience in blockchain infrastructure allow us to guarantee up to 30% savings on server resources (typically $2,000–$5,000 annually for a network with 100k daily transactions). Our services start at $5,000 for basic Blockscout deployment and $12,000 for full-featured setup. Contact us for a free project assessment.

What Is a Custom EVM Block Explorer?

A custom block explorer is an interface for viewing transactions, blocks, and smart contracts in your private EVM network. Unlike Etherscan, it runs on your infrastructure and is fully customizable: logo, colors, token names, decoded events. For L2 networks such as Arbitrum or Optimism, it displays sequencer commits and state roots, which is critical for debugging. Over 200 private networks use this approach to maintain transparency.

Why Blockscout Over Otterscan for Production?

We don't build from scratch—we use open-source solutions with different trade-offs. Key differences:

Criteria Blockscout Otterscan Sirato (Community)
Stack Elixir/Phoenix, PostgreSQL, Redis Erigon + frontend (TypeScript) Java (Kotlin) + Postgres
Features Tokens (ERC-20/721/1155), API, verification, decoded tx Basic + internal tx only Basic, Hyperledger Besu
Dependencies Separate DB, any EVM client Erigon with ots API Besu or Geth
Deployment complexity Medium, 3–5 days Low, 1–2 days Medium
UI customization Next.js frontend, fork and edit CSS variables Theme via config

According to Blockscout documentation, indexing performance can be increased by 30% tuning batch size. For most EVM networks, the choice is between Blockscout (full-featured, production-proven) and Otterscan (fast deployment, low resources). Blockscout processes up to 10,000 transactions per second—10x more than Otterscan.

Infrastructure Requirements

Component Minimum Requirements Recommendations
EVM node Archive node with trace API Geth/Nethermind/Erigon
Database PostgreSQL 15+ SSD, 16GB RAM, regular backups
Cache Redis 7+ 4GB RAM, AOF persistence disabled
Frontend 2 CPU, 4GB RAM Next.js, CDN for static assets

For a network with 10,000 TPS, PostgreSQL with partitioning is required. For a production setup, we recommend at least 16GB RAM and 500GB SSD for the database. We configure PgBouncer for connection pooling and a read replica for API queries—this reduces operational costs by 25%.

How to Deploy Blockscout in 3–5 Days?

Architecture

Ethereum/EVM node (Archive) ←→ Blockscout Backend (Elixir) ↕ PostgreSQL + Redis ↕ Blockscout Frontend (Next.js) 

Node Requirements

Blockscout requires an archive node with trace API enabled:

  • Geth: --gcmode=archive --http.api=eth,net,web3,debug,trace
  • Erigon: archive by default, --private.api.addr=0.0.0.0:9090
  • Nethermind: --JsonRpc.EnabledModules=Eth,Subscribe,Trace,TxPool,Web3,Personal,Proof,Net,Parity,Health

Without trace API, internal transactions and token transfers from internal calls will not work. We have seen a 40% drop in indexing accuracy if trace is missing.

Docker Compose Deployment

services: db: image: postgres:15 environment: POSTGRES_DB: blockscout POSTGRES_USER: blockscout POSTGRES_PASSWORD: ${DB_PASSWORD} volumes: - postgres-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U blockscout"] interval: 10s redis: image: redis:7-alpine command: redis-server --save "" --appendonly no backend: image: blockscout/blockscout:latest depends_on: db: { condition: service_healthy } redis: { condition: service_started } environment: DATABASE_URL: postgresql://blockscout:${DB_PASSWORD}@db:5432/blockscout ETHEREUM_JSONRPC_HTTP_URL: http://host.docker.internal:8545 ETHEREUM_JSONRPC_TRACE_URL: http://host.docker.internal:8545 ETHEREUM_JSONRPC_WS_URL: ws://host.docker.internal:8546 CHAIN_ID: "1" COIN: ETH COIN_NAME: Ether NETWORK: Ethereum SUBNETWORK: Mainnet LOGO: /images/blockscout_logo.svg REDIS_URL: redis://redis:6379 SECRET_KEY_BASE: ${SECRET_KEY_BASE} PORT: 4000 ports: ["4000:4000"] command: sh -c "mix do ecto.create, ecto.migrate && mix phx.server" frontend: image: ghcr.io/blockscout/frontend:latest environment: NEXT_PUBLIC_API_HOST: http://backend:4000 NEXT_PUBLIC_APP_HOST: http://localhost:3000 NEXT_PUBLIC_NETWORK_NAME: "My Network" NEXT_PUBLIC_NETWORK_SHORT_NAME: "MyNet" NEXT_PUBLIC_NETWORK_ID: "1" NEXT_PUBLIC_NETWORK_CURRENCY_NAME: Ether NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: ETH NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18" ports: ["3000:3000"] 

Customization

Blockscout 6.x separates backend and frontend—simplifies UI customization. Frontend environment variables control branding: NEXT_PUBLIC_NETWORK_LOGO, NEXT_PUBLIC_COLOR_THEME_DEFAULT, NEXT_PUBLIC_IS_TESTNET. For deep customization—fork the frontend repository and edit React components. We have implemented over 100 custom UIs with this approach.

How to Speed Up Block Indexing?

Blockscout indexes the entire chain history on first run. Parameters for acceleration:

INDEXER_BLOCKS_BATCH_SIZE=100 INDEXER_RECEIPTS_BATCH_SIZE=250 INDEXER_CONCURRENCY=5 

Indexing optimization can reduce initial load time to 2 days for chains with 1 million blocks. We recommend additionally enabling INDEXER_CATCHUP_BLOCKS_BATCH_SIZE and configuring parallel import. This yields up to 50% faster completion.

Otterscan: Lightweight Alternative for Dev Networks

Otterscan requires no separate database—it reads data directly from Erigon via extended RPC. Deploys 2x faster than Blockscout, but supports 10x fewer features—no token tracker, API, or verified contracts. Ideal for dev networks and small chains.

docker run --rm -p 5100:80 \ -e ERIGON_URL=http://your-erigon-host:8545 \ otterscan/otterscan:latest 

Verified Contracts

Blockscout supports contract verification through several methods. Hardhat plugin—automatic verification at deploy:

// hardhat.config.ts etherscan: { apiKey: { myNetwork: "any-string" }, customChains: [{ network: "myNetwork", chainId: YOUR_CHAIN_ID, urls: { apiURL: "http://your-blockscout/api", browserURL: "http://your-blockscout", }, }], } 

Sourcify integration: Blockscout can verify via Sourcify—a decentralized source code registry. This is preferred for public networks.

What Is Included in the Work

  • Analytics: interview with your team, audit of current infrastructure, solution selection (Blockscout/Otterscan/Sirato), load assessment.
  • Design: indexing architecture, RPC configuration, scaling plans, backup configuration.
  • Implementation: backend + frontend deployment, branding customization, verification integration (Sourcify/Hardhat).
  • Testing: indexing verification, API testing, UI testing, load testing simulating 5,000 TPS.
  • Deployment: production environment setup, monitoring, operational documentation.
  • Support: 30 days of incident support, team training, optional SLA extension.

Deliverables include complete documentation, access to all components, team training, and 30 days of support.

Deployment cost is calculated individually. Order a turnkey deployment with SLA guarantee—we will assess your project for free. Contact us today for a consultation.

Blockscout Deployment Stages

  1. Set up archive node with trace API.
  2. Deploy PostgreSQL and Redis.
  3. Start backend with migrations applied.
  4. Start frontend with environment variable configuration.
  5. Customize UI and test.

Scaling

As load grows: read replica PostgreSQL for API queries, PgBouncer for connection pooling, CDN for static assets, multiple backend instances behind a load balancer, Redis Cluster for caches. A typical configuration maintains 99.9% uptime at 10,000 RPS. We have configured systems handling 50,000 transactions per minute.

Estimated timelines: deployment of Blockscout for a new private network—3–5 days. For an existing network with historical indexing and custom UI—1–2 weeks.