House Party Protocol (HPP) Mainnet is a cost-efficient, scalable, and developer-friendly Ethereum L2 built on the Arbitrum Nitro Stack. Secured by Ethereum and operating in AnyTrust data availability mode, HPP Mainnet delivers modular, performant infrastructure for the next generation of decentralized applications.
This repository contains the Docker build and the guide to run your own node on the HPP network.
The following is the minimum hardware configuration required to set up a Nitro full node (not archival):
| Resource | Recommended |
|---|---|
| RAM | 16 GB |
| CPU | 4 core CPU (for AWS, a t3.xlarge instance) |
| Storage Type | NVMe SSD drives are recommended |
| Storage size | Depends on the chain and its traffic over time |
Please note that:
- These minimum requirements for RAM and CPU are recommended for nodes that process a small number of RPC requests. For nodes that need to process multiple simultaneous requests, both RAM and CPU core count should be scaled with the amount of traffic being served.
- Single-core performance matters. If the node is falling behind and a single core is pegged at 100%, move to a faster processor.
- Minimum storage requirements grow over time as the chain grows. Using more than the minimum is recommended for a robust full node.
- Install Docker and make sure it is running.
- An unlimited-rate Ethereum L1 RPC endpoint and an L1 Beacon Chain RPC endpoint.
To run a mainnet node:
# Initialize the config file and download the snapshot if needed.
./manage.sh init mainnet
# Start the mainnet container
./manage.sh run mainnet
# Stop the mainnet container
./manage.sh stop mainnet
# Clear the mainnet containers (chain data is NOT deleted — remove it manually)
./manage.sh clear mainnet
# Check node status
./manage.sh statusTo run a testnet (Sepolia) node:
# Initialize the config file and download the snapshot if needed.
./manage.sh init sepolia
# Start the Sepolia testnet container
./manage.sh run sepolia
# Stop the testnet container
./manage.sh stop sepolia
# Clear the testnet containers
./manage.sh clear sepolia1. Initialize the configuration file
The configuration file contains the RPC endpoint and other parameters.
In a normal setup you only need to modify the L1_RPC and L1_BEACON_RPC
parameters. The init command in manage.sh handles this for you:
# Initialize mainnet config (downloads snapshot if needed)
./manage.sh init mainnet
# Initialize testnet config
./manage.sh init sepolia2. Download the snapshot file
HPP is built on the Arbitrum Nitro Stack and supports synchronization from snapshots. The default config starts syncing by reading the snapshot at the configured path. If a node has been inactive for more than two weeks since its last successful sync, re-sync from a fresh snapshot.
The init command also downloads the snapshot if needed. To download
manually:
# Mainnet snapshot
curl -o hpp-mainnet/snapshot-mainnet.tar \
https://storage.googleapis.com/conduit-networks-snapshots/hpp-mainnet-xeajiyxsci/latest.tar
# Sepolia snapshot
curl -o hpp-sepolia/snapshot-sepolia.tar \
https://storage.googleapis.com/conduit-networks-snapshots/hpp-sepolia-turdrv0107/latest.tar3. Start the node
Use the manage.sh helper to start/stop the node:
# Start the Sepolia testnet container
./manage.sh run sepolia
# Stop the mainnet container
./manage.sh stop mainnet
# Clear the mainnet containers (default)
./manage.sh clearNOTE: You can run only one network at a time.
You can also use Docker Compose directly:
# Mainnet (default)
docker compose up --build
# Testnet
docker compose -f docker-compose.sepolia.yml up --buildThe L1 RPC endpoint in the example config,
https://ethereum-rpc.publicnode.com, is a free service that may have
usage limits. For production use with higher traffic, use a dedicated RPC
endpoint (e.g. Alchemy, Infura, or dRPC) and replace the endpoint in the
config as needed.
The public HPP RPC (https://mainnet.hpp.io) is rate-limited. If you need
higher throughput for development, operations, or team usage, get a
dedicated RPC endpoint with an API key through Conduit:
- Sign up at app.conduit.xyz
- Go to HPP Mainnet (or HPP Sepolia) → Node → RPC
- Generate an API key
- Use the provided RPC URL:
- Mainnet:
https://mainnet.hpp.io/<YOUR_API_KEY> - Sepolia:
https://sepolia.hpp.io/<YOUR_API_KEY>
- Mainnet:
This gives higher rate limits and more reliable access than the public endpoint.
| Network | Status |
|---|---|
| HPP Mainnet | ✅ |
| HPP Sepolia | ✅ |
| Parameter | Value |
|---|---|
| Network | HPP Mainnet (Ethereum L2) |
| Stack | Arbitrum Nitro Stack (v3.9.8, ArbOS 51) |
| Data Availability | AnyTrust |
| Chain ID | 190415 |
| Native Gas Token | ETH |
| RPC Endpoint | https://mainnet.hpp.io |
| Block Explorer | https://explorer.hpp.io |
For support, join the discussion on Telegram or open a new GitHub issue.
THE NODE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. We make no guarantees about asset protection or security. Usage is subject to applicable laws and regulations.
For more information, visit docs.hpp.io.