---
title: "Deploy Envio Indexer"
description: "Scaffolding for an Envio indexer with GraphQL gateway"
category: "Other"
url: https://railway.com/deploy/envio-indexer
---

# Deploy Envio Indexer

Scaffolding for an Envio indexer with GraphQL gateway

**[Deploy Envio Indexer on Railway](https://railway.com/template/envio-indexer)**

- **Creator:** Ouster Labs
- **Category:** Other
- **Total deploys:** 7

## Template content

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

### hasura

- **Source:** https://github.com/0xJem/railway-envio-template
- **Health check:** /healthz

### indexer

- **Source:** https://github.com/0xJem/railway-envio-template
- **Start command:** `pnpm start`
- **Health check:** /healthz

### gateway

- **Source:** https://github.com/0xJem/railway-envio-template
- **Start command:** `pnpm start`
- **Health check:** /healthz
- **Public domain:** Yes

## Documentation

# Deploy and Host Envio Indexer on Railway

This is an installation of the Envio indexer, Hasura, PostgreSQL and a public-facing GraphQL gateway that will get you up and running with the Envio blockchain indexing framework.

## About Hosting

- PostgreSQL server
- Envio indexer
  - Performs the blockchain indexing
  - Pre-configured to index ERC20 `Transfer` events on Ethereum mainnet and Base
  - Can be easily customised for your indexing needs
  - Has variable definitions for the Envio HyperSync token and RPC URLs
- Hasura
  - Private Hasura installation, which exposes a GraphQL server for the data output by the Envio indexer
  - This is kept private to reduce the public surface area
- GraphQL gateway
  - Lightweight node server that allows for GET/POST GraphQL queries

## Why Deploy

- This template makes it easy to self-host an Envio indexer

## Common Use Cases

- Tracking ERC20 balances
- Tracking ERC20 liquidity
- Tracking protocol treasuries

## Dependencies for

- Envio HyperSync API token ([docs](https://docs.envio.dev/docs/HyperSync/api-tokens))

### Deployment Dependencies

- None

## Next Steps

- Customise the Envio indexer
  - Add the contract definitions in `/apps/indexer/custom/config.yaml`
  - Add the contract ABIs in `/apps/indexer/custom/abis/`
  - Add required entities in `/apps/indexer/custom/schema.graphql`
  - Add the contract event/block handlers in `/apps/indexer/custom/handlers/


## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — [Jul'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/envio-indexer
