Fully On-Chain Capabilities Checklist
A scannable checklist of what ChainRender does fully on-chain — every item below is stored, computed, and rendered on-chain, and is Grade A (fully trustless) unless a note says otherwise. For the reasoning behind the claim, see What's Fully On-Chain.
Storage & rendering
- ✅ App UI stored on-chain (SSTORE2, content-addressed)
- ✅ Rendering is a free
viewcall (renderHash) — reproducible on any RPC - ✅ Deterministic output (same hash → same bytes, forever)
- ✅ Paginated/chunked reads for large apps (byte-identical reassembly)
- ✅ On-chain source-code component (render code, line-numbered, escaped)
UI & layout
- ✅ Full UI vocabulary (box, text, heading, button, link, icon, input, image, slot)
- ✅ Responsive layout (stacks, grids, flow, breakpoints)
- ✅ Multi-view navigation (tabs, wizard, master-detail, modal)
- ✅ Data tables (static, bound, paginated)
- ✅ Interactive controls (toggle, select, slider, search)
Data (live, on-chain reads)
- ✅ Live on-chain data binding (resolvers)
- ✅ Batched reads (multicall) + event reads
- ✅ Price feeds: Chainlink (value + live history chart), Uniswap V3 (
uniV3Price), Uniswap V4 (uniV4Price, StateView) - ✅ DeFi positions: Uniswap V3 LP (
uniV3Position), Aave lending with health factor (aavePosition), Aave reserves / protocol stats - ✅ DeFi trade path: pre-trade quotes (
uniQuote), Curveget_dy(curvePool), ERC-20 approval-state gating (approvalState), portfolio totals (portfolio) - ✅ Tokens: ERC-20 balances, ERC-721 metadata
- ✅ Generic reads: call (
staticread) / multi-call (multiread) / compute resolvers — renders any protocol or Uniswap V4 hook state
RWA & compliance (real-world assets)
- ✅ Proof-of-Reserve coverage — reserves ÷ token supply, with provenance + freshness (
por-coverage/por-reserves/por-supply, Grade A) - ⚙️ ERC-3643 (T-REX) compliance — verified / frozen / can-transfer display (
erc3643-status/-verified/-frozen/-can-transfer); reads are on-chain but the identity registry is agent-mutable → ≤ C (DEP_MUTABLE), display not enforcement - ✅ Credential lifecycle — issuer-bound VALID / EXPIRED / REVOKED / UNKNOWN (
cred-status/cred-valid), with issuer-key provenance
Visuals & media (all on-chain, Grade A)
- ✅ Charts (line/area/bar/scatter/pie/donut)
- ✅ Deterministic generative art, gradient identicons, vector art
- ✅ SDF 2D/3D scenes with an on-chain poster floor
- ✅ Point clouds with an on-chain poster floor
- ✅ Fully on-chain cartography (Real-Earth atlas)
- ✅ Declarative SVG animation
- ✅ Post-processing effects (CRT, glass, vignette, …)
- ✅ On-chain NFT media + media provenance
- ✅ Route diagrams (any swap topology)
- ⚙️ p5.js / three.js rich media — client-side enhancement over an on-chain floor; the library is stored on-chain (hash-verified); fails closed to the floor
Identity, reputation & privacy
- ✅ ENS profiles (live identity UI, forward-verified reverse resolution)
- ✅ ENS records + ENS-v2 (CCIP) path
- ✅ Attested identity claims (+ EAS attestations)
- ✅ Selective-disclosure credentials (ZK member-of-set, Semaphore-style)
- ✅ Bound, single-use credentials (nullifier-backed, non-transferable)
- ✅ EFP (Ethereum Follow Protocol) forward reads — follow / tag / block / mute of a caller-named list (Grade A)
- ⚙️ EFP follower counts / reverse lookups — off-chain indexer aggregate, honestly graded ≤ C (not an on-chain fact)
- ✅ Delegated address vouching — ownerless registry,
rep-vouch/ transparentrep-tally(≤ C, delegated; never a score) - ✅ Cross-source reputation aggregate —
rep-aggregate, grade capped at the weakest source - ⚙️ ERC-725Y / ERC-735 account claim reads (the standard behind LUKSO Universal Profiles) — via
staticreadtoday, same-chain only (≤ C, owned/mutable source); LUKSO's chain is not integrated
Actions & trust
- ✅ Declared actions (construct-for-sign — a button can only do what it declares)
- ✅ Batched actions (one signature, N gated actions)
- ✅ Typed signing (EIP-712) + signature verification (ERC-1271/6492)
- ✅ On-chain trust grade (A/B/C) + itemized deviations
- ✅ On-chain capability enforcer (refuses unsafe apps)
Presentation & theming
- ✅ Design-token system (CSS generated on-chain)
- ✅ Light / dark / high-contrast presets
- ✅ Render-time theming (zero-gas, no redeploy)
- ✅ Contrast + legibility invariants (enforced)
Naming, versioning & governance
- ✅ Subnames under
chainrender.eth(ownerless registrar + ENSIP-10 wildcard) - ✅ Versioned names (append-only history + timelock)
- ✅ ThemeSet registry (ownerless theme discovery)
- ✅ Advisories + attestations (trust signals)
- ✅ App DNA / forking lineage
Serving & distribution
- ✅ web3:// serving (ERC-5219 / ERC-4804)
- ✅ Farcaster Mini App distribution
- ✅ On-chain
tokenURI(a ChainRender component as NFT media)
Infrastructure guarantees
- ✅ Ownerless, immutable contracts (no admin, no upgrade key)
- ✅ Fail-closed everywhere (honest fallback, never a fabrication)
- ✅ Escaped by construction (a resolver can never inject markup)
- ✅ Drift-locked SDK ↔ on-chain logic (identical results)
- ✅ Multichain by portability (same hash, same output, any EVM chain)
Legend: ✅ fully on-chain, Grade A. ⚙️ an on-chain floor + an optional client-side enhancement that fails closed to the floor (the floor stays Grade A).
Related
- What's Fully On-Chain — the reasoning + robustness.
- Feature Catalog — the same surface with more detail.
- The Floor — why enhancements never compromise the guarantee.