⚠️ 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.
Resources

Principles & Ethos

ChainRender is built on a small set of non-negotiable principles. They aren't marketing — they're the actual rules the system is engineered against, and they explain nearly every design decision. If you're evaluating ChainRender, these are the commitments you're relying on.

The core value

Marketing must never exceed what the code enforces.

This is the deepest rule. Every claim ChainRender makes corresponds to something the contracts actually guarantee. Where a guarantee has a boundary, the system discloses it rather than papering over it. The trust grade exists because of this rule — it makes the exact trust cost legible instead of hiding behind a reassuring badge. When you read "trustless" here, it means the code enforces it; when there's a caveat (like read-path metadata), you're told.

The floor principle

On-chain is the floor; the client (GPU, fetch, animation) is an enhancement that fails closed.

Every app has a complete, verifiable, fully on-chain rendering that needs nothing but the chain. Enhancements improve it but can never be required. This is what lets ChainRender be both trustless and rich. See The Floor.

Engineering principles

These govern how ChainRender itself is built — and they're worth knowing, because they're why you can rely on it:

  • Ownerless & immutable. Every registry and renderer is deployed with no owner, admin, or upgrade key. A contract with an admin is a contract whose admin you must trust. Ownerlessness is what lets you verify the system once and rely on it forever.
  • No hardcoded constants. Values derive from tokens, descriptors, and registry reads — never baked lists. A new resolver, theme, or name appears without a code change. This keeps the system honest and extensible.
  • Roll-your-own over frameworks. Core primitives are built directly rather than pulled from heavy dependencies, so the trust surface is auditable and minimal — you're not trusting a supply chain you can't see.
  • Real fixes, never stopgaps. Problems are fixed at the root, not masked. A symptom-patch that leaves the cause is rejected in favor of the correct, permanent fix — even when it's more work.
  • Dogfood the platform. ChainRender's own tooling (the explorer, the flagship) is built on ChainRender's public capabilities. If we wouldn't use our own system, why should you?
  • Fail closed, always. On any error — a reverting resolver, a failed proof, a missing asset — the system degrades to an honest fallback, never a fabrication. Safety is structural, not a runtime check you might forget.

Safety by construction, not by warning

ChainRender doesn't warn you about unsafe apps — it makes them unregistrable. The enforcer refuses arbitrary code, dishonest capability envelopes, value smuggling, and arbitrary calls at registration. What remains is a system where every live app is structurally incapable of those attacks. A warning can be ignored; a gate cannot be passed. See The Capability Enforcer.

Why these principles, together

Each principle removes a place where you'd otherwise have to trust someone: the frontend host (fully on-chain), the contract admin (ownerless), the dependency supply chain (roll-your-own), the operator's honesty (marketing ≤ code), the client's environment (the floor). Together they add up to a system you can verify once and rely on without trusting any continuing party. That's the whole point.

Related