# FAQ

**Is the UI *really* fully on-chain?** Yes — the component bytes are stored on-chain and rendered by an on-chain
`view` function. There's no server serving HTML. (What you read *through* — the RPC — is your choice; see the
honest note on read-path metadata in the privacy concept.)

**Does rendering cost gas?** No. Rendering is a `view` call — free. You pay gas once to *register* an app's bytes;
after that, unlimited free renders.

**Can I use arbitrary HTML/JS?** No — the vocabulary is closed by design. That closure is what makes apps
analyzable, safe, and gradeable. It's a deliberate trade: verifiable trust over unlimited expressiveness.

**How do I update an app if it's immutable?** Through the versioned-name registry — a new version with a public
timelock. Cosmetic changes don't need a version (they're render-time). See **[Versioning](../concepts/versioning.md)**.

**What chains does it work on?** Any EVM chain — rendering is deterministic and content-addressed, so the same app
has the same hash and output everywhere.

**Is there a token?** ChainRender is infrastructure; these docs describe the framework, not any token.

**How do I verify an app is legit?** Recompile its source (hash must match), render against multiple RPCs (output
must match), read its grade and version posture. See **[Contracts → Verifying](../contracts/verifying.md)**.


## Can I build a DeFi app?

Yes — ChainRender ships a full DeFi capability suite: render market prices, a user's LP and lending positions
(including health factor / liquidation risk), pre-trade quotes, approval state, Curve pools, and portfolio totals,
then let users swap/approve/deposit via decoded actions. See **[DeFi Capabilities](../concepts/defi-capabilities.md)**.

## Can users pay by credit card?

Not fully on-chain — cards inherently need an off-chain processor. But an app can offer a **crypto payment as the
trustless floor** plus an **optional off-chain card on-ramp** (your chosen provider), which is honestly graded
off-chain so the on-chain guarantee is never overstated. See **[Payments](../concepts/payments.md)**.

## Can I use p5.js / three.js / animations?

Yes — rich media runs client-side over an on-chain floor, loaded from chain (no CDN). See
**[Rich Media](../concepts/rich-media-p5-three.md)**.

## How do I know which protocols work on which chain?

Resolvers read a protocol's own contracts, so they return data only where that protocol exists. See
**[DeFi Protocol Availability](../concepts/sepolia-defi-addresses.md)**.

