Skip to main content
Testnet deployment allows you to test the Eco Routes Protocol in a public environment with real bridge infrastructure before deploying to mainnet.

Supported Testnets

Eco Routes can be deployed to any EVM-compatible testnet. Common testnets include:
  • Ethereum Sepolia
  • Base Sepolia
  • Optimism Sepolia
  • Arbitrum Sepolia
  • Polygon Mumbai
  • BSC Testnet
  • Avalanche Fuji

Prerequisites

Required Resources

1

Testnet Native Tokens

Obtain testnet native tokens (ETH, MATIC, etc.) from faucets:
2

RPC Endpoints

Get RPC endpoints from providers:
3

Block Explorer API Keys

For contract verification:

Bridge Contract Addresses

Identify bridge contract addresses for your target testnets: Hyperlane Mailbox Contracts LayerZero Endpoints Metalayer Router Contracts
  • Contact Metalayer for testnet deployment addresses
Polymer CrossL2ProverV2

Environment Configuration

Configure .env File

Create a .env file with testnet configuration:
.env

Create Verification Keys File

Create verification-keys-testnet.json with API keys for each testnet:
verification-keys-testnet.json
Chain IDs:
  • Ethereum Sepolia: 11155111
  • Base Sepolia: 84532
  • Optimism Sepolia: 11155420
  • Arbitrum Sepolia: 421614
  • Polygon Mumbai: 80001

Deployment Process

Single Chain Deployment

Deploy to a single testnet using Forge:

Multi-Chain Deployment

Deploy to multiple testnets using the deployment script:
1

Prepare Chain Data

Create or update your chain data JSON with testnet configurations:
chain-data-testnet.json
2

Update .env

Point to your testnet chain data:
3

Run Deployment Script

The script will:
  • Deploy to each chain in your chain data file
  • Use deterministic addresses based on SALT
  • Record deployments to CSV file
  • Skip chains where contracts are already deployed

Deployment with Cross-VM Support

For cross-chain testing with non-EVM chains:

Verify Deployment

Check Deployment Output

Expected output:

Verify Contract Addresses

Verify that contracts were deployed to expected deterministic addresses:

Contract Verification

Verify contracts on block explorers:
This script will:
  • Read deployment data from CSV file
  • Verify each contract on its respective block explorer
  • Retry failed verifications
  • Provide verification summary
For manual verification of a single contract:

Testing on Testnet

Integration Testing

Test cross-chain intent flow on testnets:
1

Create Intent on Source Chain

2

Fund Intent

Fund the intent with testnet tokens.
3

Fulfill on Destination Chain

Execute fulfillment on destination testnet (e.g., Base Sepolia).
4

Verify Proof

Monitor bridge message delivery and proof verification.
5

Withdraw Rewards

Solver withdraws rewards on source chain after proof validation.

Monitor Transactions

Use block explorers to monitor testnet transactions:

Common Issues

Insufficient Testnet Funds

Deployment requires gas for multiple transactions. Ensure you have sufficient testnet tokens before deploying.
Estimated gas costs:
  • Portal deployment: ~2-3M gas
  • Each Prover deployment: ~1-2M gas

RPC Rate Limiting

If using public RPC endpoints, you may hit rate limits:

Bridge Contract Not Deployed

If bridge contracts aren’t available on your target testnet:
  • Contact bridge provider for testnet addresses
  • Deploy only Portal without Provers for basic testing
  • Use alternative bridge protocols available on that testnet

Verification Failures

If contract verification fails:

Next Steps

Verify Contracts

Complete guide to contract verification

Mainnet Deployment

Deploy to production after testnet validation