⚠️ Alpha · testnets only. ChainRender is in active alpha and deployed on testnets only — Ethereum Sepolia, the Robinhood Chain Testnet, and the Circle Arc Testnet — not on any mainnet. Contracts, addresses, and APIs may change. Do not use with real funds or production assets.
Guides

Guide: Registering a Subname

Give your app a human name — myapp.chainrender.eth — so it's discoverable and resolvable by name instead of by hash. Registration is open to anyone, ownerless, and gated only by a refundable stake (an anti-spam cost, not a fee or an approval).

How it works

Names are subnames under chainrender.eth, managed by the ownerless SubnameStakeRegistrar. You register a label (myapp) pointing at your app's component hash by posting a small refundable stake. An ENSIP-10 wildcard resolver then makes myapp.chainrender.eth resolve in any ENS-aware tool — no per-name ENS transaction needed.

The design: the registrar is the source of truth; ENS is a read-only projection of it. So naming stays ownerless and verifiable while remaining fully ENS-compatible. See ENS Integration.

Register

SubnameStakeRegistrar.register("myapp", appComponentHash)   // + the refundable stake (msg.value)
  • No approval, no gatekeeper. Anyone can register; entry is open.
  • The stake is refundable. It's an anti-spam deposit, not a payment.
  • Reserved names (a fixed carve-out set at deployment) are protected and can't be claimed.

The lifecycle (three states)

State Meaning
Active Staked and live. Your name resolves; it appears in the catalog.
Refunded After a lock window with no upheld flag, you withdraw your stake. The name stays — now an established, honest entry.
Slashed If a quorum of the immutable attester set upholds a flag (e.g. spam/abuse), the stake is forfeited and the entry is demoted. Slashing can demote, never block — the system stays un-censorable.

The key property: anyone can register; not everyone is surfaced equally. Entry is open (a refundable stake); prominence is earned (a clean history, attestations). No one can prevent you from registering; no one can be forced to feature you.

After registering

  • Your app resolves at myapp.chainrender.eth.
  • Add versioning so you can update safely (timelocked, observable) — see Update a Deployed App.
  • Withdraw your stake after the lock window (it's yours; it was only ever an anti-spam deposit).

Ownerless by construction

The registrar has no owner, no admin, no setter. Every parameter — the stake size, lock window, slash quorum, treasury, reserved list — is fixed at deployment and can never be changed. Every wei is either refundable to you or routed by fixed rules. You're not trusting an operator; you're trusting immutable code.

Related