Skip to main content

Network Information

Complete technical reference for connecting to and building on TeQoin L2.
Quick Reference:

🌐 Network Configuration

Mainnet

{
  "chainId": "0x66B69",
  "chainName": "TeQoin L2",
  "rpcUrls": ["https://rpc.teqoin.io"],
  "nativeCurrency": {
    "name": "Ether",
    "symbol": "ETH",
    "decimals": 18
  },
  "blockExplorerUrls": ["https://explorer.teqoin.io"]
}

Testnet

{
  "chainId": "0x66B69",
  "chainName": "TeQoin L2 Testnet",
  "rpcUrls": ["https://rpc-testnet.teqoin.io"],
  "nativeCurrency": {
    "name": "Ether",
    "symbol": "ETH",
    "decimals": 18
  },
  "blockExplorerUrls": ["https://explorer-testnet.teqoin.io"]
}

📡 RPC Endpoints

HTTP RPC

EndpointURLPurpose
Primary RPChttps://rpc.teqoin.ioMain endpoint (recommended)
Backup RPChttps://rpc-backup.teqoin.ioFallback endpoint
Testnet RPChttps://rpc-testnet.teqoin.ioFor testing

WebSocket RPC

EndpointURLPurpose
Primary WSwss://ws.teqoin.ioReal-time events
Testnet WSwss://ws-testnet.teqoin.ioTestnet events

Rate Limits

TypeLimitWindow
HTTP Requests100 requests/secondPer IP
WebSocket Connections10 connectionsPer IP
Batch Requests100 calls/batchPer request
Need Higher Limits? Contact us at support@teqoin.io for dedicated endpoints.

🔗 API Endpoints

Indexer API

Base URL: https://api.teqoin.io/api/v1
GET /address/:address/transactions  - Get transactions for address
GET /address/:address/count         - Get transaction count
GET /transaction/:hash              - Get transaction details
GET /transaction/:hash/logs         - Get transaction logs
GET /block/:numberOrHash            - Get block details
GET /block/latest                   - Get latest block
GET /block/:number/transactions     - Get transactions in block
GET /stats                          - Get network statistics
GET /health                         - Health check
Example Usage:
const API_BASE = 'https://api.teqoin.io/api/v1';

// Get transactions for an address
const response = await fetch(
  `${API_BASE}/address/0x123.../transactions?limit=10`
);
const data = await response.json();

console.log('Transactions:', data.data);
Full API Reference →

🔍 Block Explorer

Mainnet Explorer

URL: https://explorer.teqoin.io Features:
  • View transactions and blocks
  • Search by address, TX hash, or block number
  • Contract verification
  • Token tracking
  • Analytics and statistics

Testnet Explorer

URL: https://explorer-testnet.teqoin.io

⚙️ Network Parameters

Core Parameters

ParameterValueNotes
Network NameTeQoin L2Display name
Chain ID420377Decimal format
Chain ID (Hex)0x66B69Hexadecimal format
Native CurrencyETHSame as Ethereum
Currency SymbolETHToken symbol
Currency Decimals18Wei precision

Block Parameters

ParameterValueNotes
Block Time5 secondsAverage time between blocks
Block Gas Limit30,000,000Maximum gas per block
Block Size~1 MBApproximate size

Transaction Parameters

ParameterValueNotes
Gas Limit (Transfer)21,000Simple ETH transfer
Gas Limit (Contract)VariesDepends on contract complexity
Max Gas per TX30,000,000Same as block limit
Gas PriceDynamicBased on network demand

EVM Version

ParameterValue
EVM VersionShanghai
Solidity Support0.4.x - 0.8.x
Vyper SupportAll versions

🔑 Contract Addresses

Bridge Contracts

ContractNetworkAddress
L1 BridgeEthereum Mainnet0x919aa27d5278BC98bf40BA5A79be468B91f061dA
L2 BridgeTeQoin L20x4200000000000000000000000000000000000010

System Contracts

ContractAddressPurpose
L2 Sequencer0x4200000000000000000000000000000000000011Block production
L2 Gas Price Oracle0x4200000000000000000000000000000000000015Gas price calculation
View all contract ABIs →

🛠️ Development Tools

Supported Tools

Hardhat

✅ Full supportStandard Ethereum plugin works

Foundry

✅ Full supportUse forge and cast normally

Remix

✅ Full supportSelect “Injected Provider”

Truffle

✅ Full supportConfigure network in truffle-config.js

Brownie

✅ Full supportAdd network to networks.yaml

Waffle

✅ Full supportUse with Ethers.js provider

Hardhat Configuration

hardhat.config.js
require('@nomicfoundation/hardhat-toolbox');

module.exports = {
  solidity: '0.8.20',
  networks: {
    teqoin: {
      url: 'https://rpc.teqoin.io',
      chainId: 420377,
      accounts: [process.env.PRIVATE_KEY]
    },
    teqoinTestnet: {
      url: 'https://rpc-testnet.teqoin.io',
      chainId: 420377,
      accounts: [process.env.PRIVATE_KEY]
    }
  },
  etherscan: {
    apiKey: {
      teqoin: 'your-api-key'
    },
    customChains: [
      {
        network: 'teqoin',
        chainId: 420377,
        urls: {
          apiURL: 'https://explorer.teqoin.io/api',
          browserURL: 'https://explorer.teqoin.io'
        }
      }
    ]
  }
};

Foundry Configuration

foundry.toml
[profile.default]
src = "src"
out = "out"
libs = ["lib"]

[rpc_endpoints]
teqoin = "https://rpc.teqoin.io"
teqoin_testnet = "https://rpc-testnet.teqoin.io"

[etherscan]
teqoin = { key = "${ETHERSCAN_API_KEY}" }

📊 Network Statistics (Live)

Chain ID

420377(0x66B69)

Block Time

5 secondsFast finality

TPS

1000+High throughput

Uptime

99.9%Reliable network

🔌 WebSocket Events

Subscribe to real-time blockchain events.
import { ethers } from 'ethers';

const provider = new ethers.WebSocketProvider('wss://ws.teqoin.io');

// Listen for new blocks
provider.on('block', (blockNumber) => {
  console.log('New block:', blockNumber);
});

// Listen for pending transactions
provider.on('pending', (txHash) => {
  console.log('Pending TX:', txHash);
});

// Clean up
// provider.removeAllListeners();

🧪 Testing & Faucets

Testnet Faucet

Get free testnet ETH for development: URL: https://faucet.teqoin.io Limits:
  • 0.5 ETH per request
  • 1 request per 24 hours
  • Free and instant
Faucet Documentation →

Local Development

Run a local TeQoin node for testing:
# Clone TeQoin node
git clone https://github.com/TeQoin/teqoin-node
cd teqoin-node

# Start local node
docker-compose up -d

# Node runs on:
# RPC: http://localhost:8545
# WS: ws://localhost:8546
Run Node Tutorial →

🔐 Security Best Practices

Never Commit Private KeysAlways use environment variables for private keys:
// ❌ WRONG
const privateKey = '0x1234567890abcdef...';

// ✅ CORRECT
const privateKey = process.env.PRIVATE_KEY;
Use .env files and add them to .gitignore
Use Testnet FirstAlways develop and test on testnet before deploying to mainnet:
  1. Deploy to testnet
  2. Test thoroughly
  3. Audit if needed
  4. Deploy to mainnet

📚 Additional Resources

Deploy Contract

Deploy your first smart contract

Integration Guide

Integrate TeQoin into your dApp

Smart Contracts

Write contracts for TeQoin

API Reference

Complete API documentation

💬 Get Help

Discord

Developer chat

GitHub

Report issues

Documentation

Browse docs

Ready to deploy? Continue to Deploy Your First Contract