Components
Rollytics consists of two services:- Indexer service
- Syncs historical and live chain data into Postgres
- API service
- Serves indexed data via a KV-compatible HTTP API
Prerequisites
- Access to an archival RPC endpoint (genesis → latest)
- REST endpoint
- For EVM rollups, JSON-RPC endpoint
- Postgres database (15+ compatible)
- Sufficient disk space for index growth
Resource guidance
- Run Indexer and API on separate machines to avoid resource contention
- Recommended starting spec (each service): 1 CPU / 2 GB memory
- Plan initial disk space for index growth (20-50 GB to start; scale as needed)
Supported VM types
- Move
- Wasm
- EVM
Deployment recommendations
- Start with modest resources and scale as chain activity grows
Step 1: Deploy Rollytics
- Follow the official setup instructions in the
Rollytics repository:
- Use the latest release
- Configure:
- Archival RPC endpoint
- REST endpoint
- JSON-RPC endpoint (EVM rollups)
CHAIN_ID,VM_TYPE, andDB_DSN
- For EVM rollups:
- Internal transactions are enabled by default (
INTERNAL_TX=true) - Set
INTERNAL_TX=falseonly if you explicitly want to disable it
- Internal transactions are enabled by default (
- Start the indexer and allow it to sync from genesis
/status to track catch-up progress.
Docker quickstart (optional)
Rollytics is available as a container image:JSON_RPC_URL.
VM-specific defaults
- EVM: internal transaction indexing is enabled by default
- Move/Wasm: internal transaction indexing is disabled by default
INTERNAL_TX=true for Move or Wasm rollups is not supported and will be
ignored.
Step 2: Verify sync status
Wait until the indexer has fully caught up.- Query the Rollytics API
/statusendpoint - Confirm the reported
heightmatches the latest chain height
Step 3: Switch consumers to Rollytics
If you currently query the KV Indexer, update services to point to the Rollytics API instead. Because Rollytics is KV-compatible:- No code changes are required
- Only the base URL needs to change
- Transaction queries
- NFT data
- EVM transaction data (if applicable)
Step 4: Update Initia registry
Update your rollup’s registry entry so Initia products use Rollytics:- Modify
apis.indexerin yourchain.json - Point it to the Rollytics API endpoint
- Replace KV Indexer endpoint with Rollytics API endpoint
- Reference: https://github.com/initia-labs/initia-registry/blob/main/mainnets/moo/chain.json#L39
Step 5: Deprecate KV Indexer
After validation: Disable KV Indexer in~/.minitia/config/app.toml:
Step 6: Reclaim disk space
Reclaim disk space using one of the following approaches:Option A
- Stop the node
- Remove
~/.minitia/data/indexer.db - Restart the node
Option B
- Deploy a fresh node
- State-sync from an existing node
- Retire the old node
Important notes
- KV Indexer is no longer actively maintained
- All future indexing improvements will be added only to Rollytics
- Production rollups should treat Rollytics as required infrastructure