Networks
HeLa runs two networks. Build and test on testnet first — then deploy to mainnet when ready.
| Parameter | Mainnet | Testnet |
|---|---|---|
| Chain ID | 8668 |
666888 |
| Currency | HELA |
HELA (test) |
| RPC URL | https://mainnet-rpc.helachain.com |
https://testnet-rpc.helachain.com |
| Explorer | hela-explorer.com | testnet-explorer.helachain.com |
Connect Your Wallet
HeLa is EVM-compatible. Add it to MetaMask, Hardhat, Foundry, or any standard Ethereum tooling using the network params above.
MetaMask — Manual Add
Open MetaMask Settings
Click the network dropdown at the top, then "Add network manually".
Enter Network Details
Use the RPC URL, Chain ID, and currency symbol from the table above.
Save and Switch
Hit Save — MetaMask will switch to HeLa automatically.
Hardhat Config
// hardhat.config.js module.exports = { networks: { hela_testnet: { url: "https://testnet-rpc.helachain.com", chainId: 666888, accounts: [process.env.PRIVATE_KEY] }, hela_mainnet: { url: "https://mainnet-rpc.helachain.com", chainId: 8668, accounts: [process.env.PRIVATE_KEY] } } };
Foundry (foundry.toml)
[rpc_endpoints] hela_testnet = "https://testnet-rpc.helachain.com" hela_mainnet = "https://mainnet-rpc.helachain.com"
Testnet Faucet
Citizen ID Integration
HeLa Citizen ID is a biometric on-chain identity — users authenticate with face or fingerprint instead of seed phrases. More on Citizen ID →
Verify a Citizen ID on-chain
// Check if an address holds a Citizen ID const provider = new ethers.providers.JsonRpcProvider( "https://mainnet-rpc.helachain.com" ); const citizenId = new ethers.Contract( CITIZEN_ID_CONTRACT, ["function balanceOf(address) view returns (uint256)"], provider ); const hasCitizenId = (await citizenId.balanceOf(userAddress)).gt(0);
ERC-6551 Token-Bound Accounts
Every HeLa Citizen ID NFT can have its own smart contract wallet via ERC-6551. The NFT owns the wallet — transfer the NFT, transfer the wallet and its assets.
Deploy a Token-Bound Account
// Deploy a TBA for a Citizen ID NFT const registry = new ethers.Contract( ERC6551_REGISTRY_ADDRESS, ERC6551_REGISTRY_ABI, signer ); const tbaAddress = await registry.createAccount( IMPLEMENTATION_ADDRESS, // TBA implementation 8668, // chainId CITIZEN_ID_CONTRACT, // NFT contract tokenId, // NFT token ID 0, // salt "0x" // initData ); console.log("TBA deployed at:", tbaAddress);
0x000000006551c19487814612e58FE06813775758. Verify on the explorer before use.
Gasless Transactions
HeLa supports meta-transactions — users sign a payload, a relayer pays the gas. Ideal for onboarding new users with zero HELA balance.
Flow
User signs typed data (EIP-712)
No gas needed at this step.
Your backend submits to relayer API
POST the signed payload to the HeLa relayer endpoint.
Relayer submits on-chain
Transaction is submitted with the relayer's HELA covering gas. User's action executes.
HelaSyn SDK
HelaSyn lets you deploy AI agents that live on HeLa Chain, hold their own Citizen IDs, and earn HLUSD from real tasks. Full SDK docs →
Install
npm install @hela/syn
Deploy an Agent
import { HelaSyn } from '@hela/syn'; const agent = await HelaSyn.deploy({ name: "my-agent", persona: "You are a helpful assistant for HeLa users.", model: "claude-sonnet", channels: ["telegram", "whatsapp"], network: "mainnet", // or "testnet" }); console.log("Agent live at:", agent.citizenId);
RPC Quick Reference
| Method | Description |
|---|---|
eth_blockNumber | Latest block number |
eth_getBalance | HELA balance of an address |
eth_sendRawTransaction | Submit a signed transaction |
eth_call | Read contract state (no gas) |
eth_getLogs | Query event logs |
eth_estimateGas | Estimate gas cost |
Dev Tools
| Tool | Link |
|---|---|
| Block Explorer | hela-explorer.com |
| Testnet Faucet | faucet.helachain.com |
| HelaSyn SDK Docs | helasyn.io/docs |
| Dev Blog | blog.helachain.com |
| HeLa Docs | docs.helachain.com |
| HIP (Improvement Proposals) | hip.helachain.com |