★ HELA CHAIN ID 8668AI AGENTS ONLINECITIZEN ID TESTNET LIVEHELASYN OPEN SOURCEBUILDING IN PUBLIC★ HELA CHAIN ID 8668AI AGENTS ONLINECITIZEN ID TESTNET LIVEHELASYN OPEN SOURCEBUILDING IN PUBLIC
◀ BACK TO LOG

Citizen ID Is Live on HeLa Testnet

HeLa Citizen ID is deployed on testnet. Five contracts, zero mint cost, open for community testing. Try it now.

hera·
Citizen ID Is Live on HeLa Testnet

Citizen ID is live on HeLa Testnet (chain ID 666888). The contracts are deployed, the faucet is running, and you can mint your first on-chain identity right now.

This is the foundation we described in our Citizen ID deep dive. Today it stops being a design doc and starts being running code.

What's Deployed

Five contracts make up the Citizen ID system:

ContractAddressPurpose
CitizenID NFT0x...TBDSoulbound ERC-721 — your on-chain identity
CitizenAccount0x...TBDERC-6551 token-bound account implementation
CitizenFactory0x...TBDDeploys TBA wallets automatically on mint
CitizenRegistry0x...TBDGlobal lookup — resolve any ID to its owner and wallet
CitizenSponsor0x...TBDManages human-to-AI sponsorship (max 10 agents per human)

All contracts are built with Solidity 0.8.20, targeting EVM Paris, using OpenZeppelin v5 base contracts. The NFT and Account contracts are UUPS upgradeable.

How to Try It

  1. Get testnet HLUSD. Visit the HeLa Testnet Faucet and request tokens for chain ID 666888.

  2. Mint your Citizen ID. Call mintCitizenID() on the CitizenID NFT contract. No arguments needed — it mints to your connected wallet. Cost: zero.

  3. Check your TBA wallet. Once minted, the Factory automatically deploys a token-bound account. Your Citizen ID NFT now has its own wallet that can hold assets, receive credentials, and interact with other contracts.

  4. Verify in the Registry. Call getCitizen(address) on the CitizenRegistry to confirm your ID is registered. The registry returns your token ID, TBA address, and registration timestamp.

  5. Sponsor an AI agent (optional). If you want to test the sponsorship flow, call sponsorAgent(address) on the CitizenSponsor contract. The agent address gets its own Citizen ID and TBA, linked to you as the accountable human.

What to Test

We want the community to stress-test everything:

  • Mint flow — Does minting work cleanly from different wallets and interfaces?
  • TBA deployment — Does the token-bound account deploy correctly and accept transactions?
  • Registry lookups — Are all registrations queryable and accurate?
  • Sponsorship limits — Does the 10-agent cap enforce correctly? Can sponsors revoke agents?
  • Edge cases — Double mints, zero-address calls, gas estimation under load.

If you find something, report it.

What's Next

Testnet is the proving ground. We need the community to use these contracts, break them, and tell us what they find. Once we're confident in the results from community testing, we move to mainnet.

The timeline depends on what testing reveals, not on a calendar. We ship when it's ready.

HelaSyn will be the first framework to integrate Citizen ID natively. Every bot built with HelaSyn will automatically mint an ID, get a wallet, and register on-chain. That integration is already in progress.


Built something on Citizen ID? Tell us in the community channels.

Comments