<!-- GENERATED by scripts/gen-addresses-doc.mjs from chains.json, deployments/xchain-*.json and contracts/**/*.sol — do not edit by hand; rerun after a deploy. -->

# Reference: Deployed Addresses (every chain)

Every ChainRender contract deployed on each chain, generated from the same deploy records the builder and viewer use (`chains.json`, built by `scripts/build-chains-manifest.mjs` from `deployment/`). Use these addresses — never an address remembered from elsewhere. "What it is" is the contract's own NatSpec; "Docs" links the pages that explain how to use it. All contracts are ownerless and immutable: a new version is a new deployment, and older versions stay callable (see **[Deployed Contracts](../contracts/deployed-contracts.md)** for which version is current for each role).

All chains are **testnets**: no ChainRender contract is deployed on a mainnet.

| Chain | Chain id | Gas | Explorer | Contracts |
|---|---|---|---|---|
| Ethereum Sepolia | `11155111` | ETH | <https://sepolia.etherscan.io> | 125 |
| Robinhood Chain Testnet | `46630` | ETH | <https://explorer.testnet.chain.robinhood.com> | 122 |
| Circle Arc Testnet | `5042002` | USDC | <https://testnet.arcscan.app> | 122 |

## Ethereum Sepolia (`11155111`)

| Contract | Address | What it is | Docs |
|---|---|---|---|
| **AavePositionResolver** | [`0x910ab25Ee3c4439250E3A751D0A7673489D51eb5`](https://sepolia.etherscan.io/address/0x910ab25Ee3c4439250E3A751D0A7673489D51eb5) | Renders a user's **Aave V3 lending position** during an `eth_call`: collateral, debt, borrowing power, and **health factor** (the liquidation-risk number). | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **AaveReserveResolver** | [`0x169746ab5e25887d941f8231ffea17010cc774d5`](https://sepolia.etherscan.io/address/0x169746ab5e25887d941f8231ffea17010cc774d5) | Reads an Aave v3 reserve's **live supply APY** during an `eth_call` render. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **ActionVocab** | [`0x9aca2f4aa2ea8096459ecd2fb9ec55273897a99c`](https://sepolia.etherscan.io/address/0x9aca2f4aa2ea8096459ecd2fb9ec55273897a99c) | The write / action vocabulary — the last spine pillar, built ON TOP of the proven capability gate (`TrustGrade.gateAction`, rules R3-R6). | [contracts/architecture](../contracts/architecture.md) |
| **ActionVocabView** | [`0x7317cf8dea1a987943143d05c59fcc9369a34f45`](https://sepolia.etherscan.io/address/0x7317cf8dea1a987943143d05c59fcc9369a34f45) | External surface for ActionVocab — exposes construct-for-sign + constants so the chainc mirror is drift-guarded and tests can exercise the vocabulary on-chain. |  |
| **AddressAttestationRegistry** | [`0xFBB9913BAADeDfD99b9758a2074CA1dBBa146b7E`](https://sepolia.etherscan.io/address/0xFBB9913BAADeDfD99b9758a2074CA1dBBa146b7E) | The ownerless, permissionless REPUTATION primitive that fits ChainRender's ethos: **delegated address vouching**, never a global score. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [reference/resolvers](../reference/resolvers.md) |
| **AddressReputationResolver** | [`0x733caC11Ce3854662a4638816de90E14aaBB2Db2`](https://sepolia.etherscan.io/address/0x733caC11Ce3854662a4638816de90E14aaBB2Db2) | Renders **delegated address reputation** from an AddressAttestationRegistry — a single attester's vouch, or a **transparent k-of-n tally** over an attester set the CALLER supplies. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [reference/resolvers](../reference/resolvers.md) |
| **AdvisoryRegistry** | [`0x12b9a8f8fa4d5cb01ab8bf76faacdcfb45c5e269`](https://sepolia.etherscan.io/address/0x12b9a8f8fa4d5cb01ab8bf76faacdcfb45c5e269) | An append-only, permissionless, ownerless registry of signed advisories *about* content hashes (components / apps). | [contracts/architecture](../contracts/architecture.md) · [contracts/registries](../contracts/registries.md) |
| **AllocationResolver** | [`0xf44efda1e829edba06bb49529c00eaf10c23dd3c`](https://sepolia.etherscan.io/address/0xf44efda1e829edba06bb49529c00eaf10c23dd3c) | Resolver hook (docs/15) for Example 3: reads a distributor's live allocation state — eligibility, allocation amount, claimed status — so the claim card shows the user exactly where they stand, read-only, before they… |  |
| **AppRegistry** | [`0x3f83f8910d400c5bdbfc1cde9c929680c80ad5c1`](https://sepolia.etherscan.io/address/0x3f83f8910d400c5bdbfc1cde9c929680c80ad5c1) | A first-class, content-addressed store for **App Manifests** (App Capsules). | [concepts/composition](../concepts/composition.md) · [concepts/trust-signals](../concepts/trust-signals.md) |
| **ApprovalStateResolver** | [`0x8986926f944F2Fa73fa59B9CfB1C48D8D68D3124`](https://sepolia.etherscan.io/address/0x8986926f944F2Fa73fa59B9CfB1C48D8D68D3124) | Renders whether a user has **approved** a spender for enough of a token to proceed -- so a DeFi app can gate its flow ("Approve" vs "Swap") instead of letting a user attempt a swap that will revert for lack of allowance. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **AttestationAdapter** | [`0x4bdc5bb770002d15487c48773a7921c93659175d`](https://sepolia.etherscan.io/address/0x4bdc5bb770002d15487c48773a7921c93659175d) | The EAS adapter the registry's `attestationSchema` field was always meant to feed (docs 04/08). | [concepts/privacy](../concepts/privacy.md) · [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) |
| **AttesterRegistry** | [`0x8E1EB1f4A37A9B1b06930567Ed611E6822DB8530`](https://sepolia.etherscan.io/address/0x8E1EB1f4A37A9B1b06930567Ed611E6822DB8530) | A curated, ownerless trust/reputation layer over the neutral AttestationAdapter. | [concepts/privacy](../concepts/privacy.md) · [contracts/architecture](../contracts/architecture.md) |
| **BoundCredentialResolver** | [`0x574b2372f6bf61892b44c5ce9aecb9acd4ed4649`](https://sepolia.etherscan.io/address/0x574b2372f6bf61892b44c5ce9aecb9acd4ed4649) | Renders a BOUND, SINGLE-USE selective-disclosure credential. | [concepts/privacy](../concepts/privacy.md) |
| **CallResolver** | [`0x96e37823d698b4bbaba62171bff0cc686327914e`](https://sepolia.etherscan.io/address/0x96e37823d698b4bbaba62171bff0cc686327914e) | A generic, read-only bridge from a component slot to ANY view function on ANY co-located contract. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/rendering-uniswap-hooks](../concepts/rendering-uniswap-hooks.md) |
| **ChainlinkChartSource** | [`0x2b69e2ac431bcb65e66d04631ef2188f7377f9c2`](https://sepolia.etherscan.io/address/0x2b69e2ac431bcb65e66d04631ef2188f7377f9c2) | An `IChartData` source that turns a Chainlink (AggregatorV3-shaped) price feed into a live on-chain chart series. | [reference/ai-builder-rules](../reference/ai-builder-rules.md) · [reference/capabilities](../reference/capabilities.md) |
| **ChainlinkFeedResolver** | [`0xd85bf4ea88539351296ab76332c1e3aa013af88f`](https://sepolia.etherscan.io/address/0xd85bf4ea88539351296ab76332c1e3aa013af88f) | Reads a Chainlink AggregatorV3 price feed **live during an `eth_call` render**. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **ChainProfile** | [`0xc522b19bfe2fbf69d2c7325bb63024fae493f416`](https://sepolia.etherscan.io/address/0xc522b19bfe2fbf69d2c7325bb63024fae493f416) | The one and only place the current contract-size ceiling lives as a concrete number. | [concepts/l2-deployment-strategy](../concepts/l2-deployment-strategy.md) · [concepts/size-limits-and-glamsterdam](../concepts/size-limits-and-glamsterdam.md) |
| **ChainRenderResolver** | [`0x138b303c872C13051fe75e46617e3E453aba7f70`](https://sepolia.etherscan.io/address/0x138b303c872C13051fe75e46617e3E453aba7f70) | ChainRenderResolver — ENSIP-10 wildcard resolver for `*.chainrender.eth`. | [guides/ens-integration](../guides/ens-integration.md) |
| **ChartRenderer** | [`0x0dd255cc365f001a8182b14f46570919253453ee`](https://sepolia.etherscan.io/address/0x0dd255cc365f001a8182b14f46570919253453ee) | The fixed runtime for the chart vocabulary. | [contracts/deployed-contracts](../contracts/deployed-contracts.md) · [reference/feature-catalog](../reference/feature-catalog.md) |
| **ChartResolver** | [`0xb966fcb3ab08ee5726b455cacada1bc21d5632c9`](https://sepolia.etherscan.io/address/0xb966fcb3ab08ee5726b455cacada1bc21d5632c9) | Resolver hook that builds an on-chain sparkline from a data series and returns it as a base64 data URI — so a chart of live on-chain data renders through the image slot, exactly like the generative NFT art. |  |
| **ChartSlotAdapter** | [`0xab4e0c9d1bda8c3868bb5fefc980e4c2035dd430`](https://sepolia.etherscan.io/address/0xab4e0c9d1bda8c3868bb5fefc980e4c2035dd430) | Bridges the multi-arg ChartRenderer to the single resolver-hook interface (docs/15), so an on-chain chart can be a FIRST-CLASS REGISTERED component rendered live via `renderHash` — an image slot — instead of a… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) · [reference/ai-builder-rules](../reference/ai-builder-rules.md) |
| **ChunkedStoreFast** | [`0x114286db8A7b997B4eE0d251a6A7Bc1B9871ec0D`](https://sepolia.etherscan.io/address/0x114286db8A7b997B4eE0d251a6A7Bc1B9871ec0D) | A drop-in optimized variant of `ChunkedStore.write`. |  |
| **ComponentAnnotationRegistry** | [`0xcf79fe0eb7460163ae68af453155eb61aa04d885`](https://sepolia.etherscan.io/address/0xcf79fe0eb7460163ae68af453155eb61aa04d885) | An ownerless, immutable, append-only key-value metadata layer for registered components — the generic seam between an on-chain *capability declaration* and the *activation metadata* a client needs to act on it. | [concepts/trust-signals](../concepts/trust-signals.md) |
| **ComponentRegistry** | [`0x36a443515b96b992ee397dfd9a533de72b70c3c9`](https://sepolia.etherscan.io/address/0x36a443515b96b992ee397dfd9a533de72b70c3c9) | The shared, content-addressed component store from docs/01-ChainRender-proposal.docx section 5.2: common primitives are stored once, keyed by the keccak256 hash of their compiled opcode bytes, and every application… | [concepts/composition](../concepts/composition.md) · [concepts/fully-on-chain](../concepts/fully-on-chain.md) |
| **ComponentRegistryFast** | [`0x8af9Bb8ACBdA6Dd9DC554C929Bc9BF0664dD8d71`](https://sepolia.etherscan.io/address/0x8af9Bb8ACBdA6Dd9DC554C929Bc9BF0664dD8d71) | Behavioral twin of ComponentRegistry — same IComponentRegistry surface, same content-addressing (hash = keccak256(blob)), same ownerless/append-only/no-overwrite shape — backed by ChunkedStoreFast so registration… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) · [getting-started/first-app](../getting-started/first-app.md) |
| **CompositionRegistry** | [`0xb161c33751f3d87371559f5360ea5b0ea3dbffda`](https://sepolia.etherscan.io/address/0xb161c33751f3d87371559f5360ea5b0ea3dbffda) | Ownerless, append-only, content-addressed store of composition manifests. | [concepts/composition](../concepts/composition.md) · [concepts/trust-signals](../concepts/trust-signals.md) |
| **CompositionRouter** | [`0xae50f78a3d5981c4952dbd41df3798f743e4f5c7`](https://sepolia.etherscan.io/address/0xae50f78a3d5981c4952dbd41df3798f743e4f5c7) | The ON-CHAIN COMPOSITOR. | [concepts/advanced-scenes](../concepts/advanced-scenes.md) · [guides/composing-apps](../guides/composing-apps.md) |
| **ComputeResolver** | [`0x96d39fcb98d1aa3d340bfa02aba98c137e3c46c6`](https://sepolia.etherscan.io/address/0x96d39fcb98d1aa3d340bfa02aba98c137e3c46c6) | Computes a DERIVED value from on-chain reads on the floor — e.g. | [guides/app-contract](../guides/app-contract.md) · [reference/capabilities](../reference/capabilities.md) |
| **ControlRenderer** | [`0x8a3fd92807a7b50faf287033568fb1e14a93a2ea`](https://sepolia.etherscan.io/address/0x8a3fd92807a7b50faf287033568fb1e14a93a2ea) | The fixed runtime for parameter-interaction controls. | [reference/capabilities](../reference/capabilities.md) · [reference/feature-catalog](../reference/feature-catalog.md) |
| **CowConditionalOrderResolver** | [`0x752AcEd4a7D7bD9Bd604c3d7adD38373Eed3b6c1`](https://sepolia.etherscan.io/address/0x752AcEd4a7D7bD9Bd604c3d7adD38373Eed3b6c1) | Renders the LIVE state of a CoW Protocol *programmatic / conditional* order (Composable CoW) during an `eth_call` — "this block, the handler would produce: sell 1,000 USDC → buy ≥ 0.31 ETH, valid until …, partially… | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/intent-defi-cow](../concepts/intent-defi-cow.md) |
| **CowIntentVerifyResolver** | [`0xCaa6E85510f6FDDA54Be92AaEb95e6779bdc1AB2`](https://sepolia.etherscan.io/address/0xCaa6E85510f6FDDA54Be92AaEb95e6779bdc1AB2) | The ON-CHAIN INTEGRITY ANCHOR for "what am I signing?" on CoW Protocol (doc 164 §4.2). | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/intent-defi-cow](../concepts/intent-defi-cow.md) |
| **CowTwapResolver** | [`0xF949E6fB52Df34Dcc86F674E51327567cD964395`](https://sepolia.etherscan.io/address/0xF949E6fB52Df34Dcc86F674E51327567cD964395) | Type-specific companion to `CowConditionalOrderResolver` (doc 163): it DECODES a CoW Protocol **TWAP** order's `staticInput` (the order definition) and renders its schedule *projected against the current block* —… | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/intent-defi-cow](../concepts/intent-defi-cow.md) |
| **CreatureFloor** | [`0x276f085fe37fa3433508ee726ef0c0f443420af5`](https://sepolia.etherscan.io/address/0x276f085fe37fa3433508ee726ef0c0f443420af5) | Ownerless, pure on-chain Track-A FLOOR for a cr-creatures creature: a deterministic, integer-only side-view wolf poster on a 700x700 viewBox — the Grade-A verifiable still. |  |
| **CredentialBadgeAdapter** | [`0xd913183f0eebe8856a71d1748bad73bc880db141`](https://sepolia.etherscan.io/address/0xd913183f0eebe8856a71d1748bad73bc880db141) | Renders a credential resolver's ON-CHAIN verification as a badge IMAGE (SVG data-URI), so a zero-knowledge credential can be a FIRST-CLASS REGISTERED component rendered live via `renderHash`. |  |
| **CredentialBoundVerifier** | [`0x7668e5a0187827634aa7531b93b59523a62e8bb6`](https://sepolia.etherscan.io/address/0x7668e5a0187827634aa7531b93b59523a62e8bb6) | snarkjs-generated Groth16 verifier for credential.circom (bound, single-use member-of-set). |  |
| **CredentialLifecycleResolver** | [`0x9D8eed914cc84Fb2520eCeCa9DE5F536695892f8`](https://sepolia.etherscan.io/address/0x9D8eed914cc84Fb2520eCeCa9DE5F536695892f8) | Renders the LIFECYCLE status of a KYC/accreditation credential — VALID / EXPIRED / REVOKED / UNKNOWN — from a CredentialStatusRegistry, with **issuer-key binding** and **freshness (age / time-to-expiry)**. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [concepts/rwa-capabilities](../concepts/rwa-capabilities.md) |
| **CredentialResolver** | [`0x5b5bf005d7313b2c25301e37bd9af5367dde8b27`](https://sepolia.etherscan.io/address/0x5b5bf005d7313b2c25301e37bd9af5367dde8b27) | Renders a SELECTIVE-DISCLOSURE credential: it verifies a zero-knowledge proof ON CHAIN and renders only the proven statement — never the private witness. | [concepts/privacy](../concepts/privacy.md) · [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) |
| **CredentialStatusRegistry** | [`0xFe1E99DEdFf50Af4b8994AA6D7d698A41Fa5EC07`](https://sepolia.etherscan.io/address/0xFe1E99DEdFf50Af4b8994AA6D7d698A41Fa5EC07) | The ownerless, permissionless LIFECYCLE layer that makes a selective-disclosure credential usable for a real KYC/accreditation lifecycle: **issuer-key binding + expiry + revocation**. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [concepts/rwa-capabilities](../concepts/rwa-capabilities.md) |
| **CurvePoolResolver** | [`0xcD8fA3042b595b74B48B2fEeDd0Faa9d610C06a0`](https://sepolia.etherscan.io/address/0xcD8fA3042b595b74B48B2fEeDd0Faa9d610C06a0) | Renders **Curve pool** state during an `eth_call`: a swap quote (`get_dy`) or a coin balance -- so an app can show expected Curve output / pool depth, broadening AMM coverage beyond Uniswap. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **DataBinder** | [`0x0f6bc7f01aaf7ad2147499a061fe4a3e10e37184`](https://sepolia.etherscan.io/address/0x0f6bc7f01aaf7ad2147499a061fe4a3e10e37184) | App-level LATE data-binding: an app declares a closed set of on-chain read SOURCES (each an `IChainRenderResolver` — the same resolver-hook vocabulary the CRO2 interpreter uses) and binds view regions to them, so a… | [reference/capabilities](../reference/capabilities.md) |
| **DependencyRegistry** | [`0xbec67abf913984f07b7899e17a2565a69642439c`](https://sepolia.etherscan.io/address/0xbec67abf913984f07b7899e17a2565a69642439c) | An ownerless, content-addressed manifest for large on-chain assets (JS libraries like p5.js / three.js) that exceed a single transaction's gas budget. | [concepts/apps-directory](../concepts/apps-directory.md) · [concepts/fully-on-chain](../concepts/fully-on-chain.md) |
| **EfpReputationSource** | [`0x72EF6663221ceBfB41f80633CD28cF7E34037023`](https://sepolia.etherscan.io/address/0x72EF6663221ceBfB41f80633CD28cF7E34037023) | Reference IReputationSource adapter over EFP, sharing the EfpOps decoder with EfpResolver (one source of truth for the EFP encoding). |  |
| **EfpResolver** | [`0xBD78C2E4AB168cC8f24d9AA6637B8e1B76660247`](https://sepolia.etherscan.io/address/0xBD78C2E4AB168cC8f24d9AA6637B8e1B76660247) | Renders **EFP forward social-graph reads** — does a given list follow / tag / block / mute a target address — as a fail-closed `READ_CHAIN` render, plus the list's raw op count. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [reference/resolvers](../reference/resolvers.md) |
| **EnsMultichainResolver** | [`0x02a2c2E1E7fd8Aed8BF4dF7d9695c26F172C247f`](https://sepolia.etherscan.io/address/0x02a2c2E1E7fd8Aed8BF4dF7d9695c26F172C247f) | Two additive ENS reads beyond the base `EnsRecordResolver` (doc 164 §1.1/§1.3): - `ensApp` — read a name's conventional app-manifest text key (`chainrender.app`) and render the app reference it points to. | [contracts/deployed-contracts](../contracts/deployed-contracts.md) · [guides/ens-integration](../guides/ens-integration.md) |
| **EnsProfileResolver** | [`0xa4aecfda263f6e11a7e9eb6284dc8bdfd3fea9b0`](https://sepolia.etherscan.io/address/0xa4aecfda263f6e11a7e9eb6284dc8bdfd3fea9b0) | The string adapter that turns the typed on-chain reads of EnsReader into slot values a ChainRender profile component can bind to. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [guides/ens-integration](../guides/ens-integration.md) |
| **EnsReader** | [`0x40abb07e0cd476e7a964cb0798a1968b48e7efdb`](https://sepolia.etherscan.io/address/0x40abb07e0cd476e7a964cb0798a1968b48e7efdb) | The verifiable on-chain core of the ENS profile showcase. |  |
| **EnsRecordResolver** | [`0x03bbcedbc9369b5208be8ffbfff24db8daae5e55`](https://sepolia.etherscan.io/address/0x03bbcedbc9369b5208be8ffbfff24db8daae5e55) | On-chain ENS record resolver hook (docs/15): reads a name's `addr` (EIP-137) or a `text` record (EIP-634) directly from its on-chain resolver and returns it as a string. | [guides/viewer-reads](../guides/viewer-reads.md) · [reference/data-sources](../reference/data-sources.md) |
| **EnsV2Resolver** | [`0x7921bd4e2042e4f5803917d9fbd3f1e3048c4d0f`](https://sepolia.etherscan.io/address/0x7921bd4e2042e4f5803917d9fbd3f1e3048c4d0f) | Renders an ENSv2 record live during an `eth_call`, honestly. | [reference/data-sources](../reference/data-sources.md) · [reference/resolvers](../reference/resolvers.md) |
| **EquivalenceRegistry** | [`0x2c6631E447B17058f9Ff6941592Cd4c9FcFE2C8a`](https://sepolia.etherscan.io/address/0x2c6631E447B17058f9Ff6941592Cd4c9FcFE2C8a) | Trustless, append-only directory of **where a content-addressed app is deployed across chains**. |  |
| **Erc20BalanceResolver** | [`0xb34f65ffcfc57b338472a1fc6e57eaf3608c799a`](https://sepolia.etherscan.io/address/0xb34f65ffcfc57b338472a1fc6e57eaf3608c799a) | On-chain resolver hook (docs/15) for ERC-20 token balances. | [reference/capabilities](../reference/capabilities.md) · [reference/data-sources](../reference/data-sources.md) |
| **Erc3643PermissionAdapter** | [`0xE38A62a9786ab10BaB28D68390E3Dfc9174C9962`](https://sepolia.etherscan.io/address/0xE38A62a9786ab10BaB28D68390E3Dfc9174C9962) | Renders the COMPLIANCE STATE of an ERC-3643 permissioned security token — whether a holder is a verified (KYC'd) investor, whether they are frozen, whether the token is paused, and whether a given transfer would… | [concepts/rwa-capabilities](../concepts/rwa-capabilities.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **Erc721MetadataResolver** | [`0x6b34cb4f4b2e5d2170768c731fcdfa59a9ea441f`](https://sepolia.etherscan.io/address/0x6b34cb4f4b2e5d2170768c731fcdfa59a9ea441f) | Resolver hook (docs/15) for fully on-chain NFTs. | [reference/data-sources](../reference/data-sources.md) |
| **EthBalanceResolver** | [`0xaf4d70017e501ddd045673adb2e48d94f73d8399`](https://sepolia.etherscan.io/address/0xaf4d70017e501ddd045673adb2e48d94f73d8399) | A first, self-contained on-chain resolver hook (docs/15): given a 20-byte account address as args, it returns that account's live ETH balance formatted to 4 decimals. |  |
| **GameChannel** | [`0x414850c182999b85fc34448259b484365f452ee8`](https://sepolia.etherscan.io/address/0x414850c182999b85fc34448259b484365f452ee8) | Ownerless, immutable base for turn-based multi-user games where play happens CLIENT-SIDE (fast, free, off-chain) and the final state settles ON-CHAIN together with a VERIFIABLE signed move history. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **GameChannelV2** | [`0x1d5fa88d4ac77fbb5bcc88440e44dfaa5f1fae6f`](https://sepolia.etherscan.io/address/0x1d5fa88d4ac77fbb5bcc88440e44dfaa5f1fae6f) | Ownerless, immutable two-player game channel: play is peer-to-peer (each move signed by its mover, EIP-712), and the chain settles the result from the signed moves, replayed through the game's pure `IGameRulesV2`. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/app-contract](../guides/app-contract.md) |
| **GameLobby** | [`0x05ef0e632932c35e5b6efc3231480fbd7f3ebb24`](https://sepolia.etherscan.io/address/0x05ef0e632932c35e5b6efc3231480fbd7f3ebb24) | Ownerless, immutable, game-agnostic on-chain lobby: players create and join **offers**. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **GameLobbyV2** | [`0xf53fb4a496eeaa5b1452c957e19cfd4942e98a81`](https://sepolia.etherscan.io/address/0xf53fb4a496eeaa5b1452c957e19cfd4942e98a81) | Ownerless, immutable on-chain waiting room for two-player games settled by `GameChannelV2`. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/app-contract](../guides/app-contract.md) |
| **GameMoveBoard** | [`0x5b02023541b349fbf733a1f4eb3ca8a5c7b40d6d`](https://sepolia.etherscan.io/address/0x5b02023541b349fbf733a1f4eb3ca8a5c7b40d6d) | A serverless mailbox for peer-to-peer games: `post` emits the payload as an event and stores nothing. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **GenArtResolver** | [`0xfe5ac3ef78100c5bad73be10de68f10cd299761f`](https://sepolia.etherscan.io/address/0xfe5ac3ef78100c5bad73be10de68f10cd299761f) | A deterministic generative-art resolver — the generalization of the identicon pattern. |  |
| **GradientIdenticonResolver** | [`0x00361e3701f9195add19d5b6972fc1de33a304cb`](https://sepolia.etherscan.io/address/0x00361e3701f9195add19d5b6972fc1de33a304cb) | The *designed* identicon — the retrofit of the blocky 5×5 avatar into smooth, resolution- independent form, while keeping the exact same fingerprint logic (a mirrored grid of hash bits, so it still reads as a unique… | [about/brand](../about/brand.md) |
| **GradientResolver** | [`0xce00a7802cbe9a7923fbfcacc00fc6611d776510`](https://sepolia.etherscan.io/address/0xce00a7802cbe9a7923fbfcacc00fc6611d776510) | A reusable *designed cover* — a smooth, identity-derived gradient banner for profiles and cards. |  |
| **IdenticonResolver** | [`0xbfa38b3bcc0fbb32facffc497bbc38af4b587382`](https://sepolia.etherscan.io/address/0xbfa38b3bcc0fbb32facffc497bbc38af4b587382) | A fully on-chain, deterministic identicon: given an address, it derives a symmetric 5x5 vector avatar from keccak(address) and returns it as a `data:image/svg+xml` URI for the image slot. |  |
| **IdentityResolver** | [`0x578609db36f3e21f1d4e08ec60bd89944f58f70b`](https://sepolia.etherscan.io/address/0x578609db36f3e21f1d4e08ec60bd89944f58f70b) | An identity/privacy resolver hook (docs 04, docs/17): it renders identity *claims* about an address — "is this address a verified human?", "what display name has it claimed?" — by reading attestations through the… |  |
| **ImmutableAttesterSet** | [`0x9d44e8ca03af3290276361287a909be11e8de668`](https://sepolia.etherscan.io/address/0x9d44e8ca03af3290276361287a909be11e8de668) | An ownerless, immutable curated set of attester addresses. |  |
| **InterpreterV1** | [`0xa2063a9404db6c14f6b06d4ae6c38a45c0550002`](https://sepolia.etherscan.io/address/0xa2063a9404db6c14f6b06d4ae6c38a45c0550002) | The Phase 1 button format, preserved verbatim as interpreter version 1 so that RenderRouter can keep rendering Phase 1 components forever after version 2 ships — the "never delete, always add alongside" rule… |  |
| **LayoutRenderer** | [`0x698a9a4ccb2555062ae433cdd7e727ab0d1b422c`](https://sepolia.etherscan.io/address/0x698a9a4ccb2555062ae433cdd7e727ab0d1b422c) | The fixed runtime for composition-level responsive layout. | [reference/feature-catalog](../reference/feature-catalog.md) · [reference/style-tokens](../reference/style-tokens.md) |
| **MemberSetVerifier** | [`0x7d96edc0ebe6ce9d443237cb379da14fde0b9eee`](https://sepolia.etherscan.io/address/0x7d96edc0ebe6ce9d443237cb379da14fde0b9eee) | snarkjs-generated Groth16 verifier for member.circom. | [concepts/privacy](../concepts/privacy.md) |
| **MockENSRegistry** | [`0x17F0ac813799c6719581F656Ffb2C9cC9FA329D8`](https://sepolia.etherscan.io/address/0x17F0ac813799c6719581F656Ffb2C9cC9FA329D8) | **Test double (testnet only)** — not for production. A tiny stand-in for the ENS registry's node -> resolver mapping, used by the ENS record resolver's tests and by the Explorer seed. |  |
| **MultiCallResolver** | [`0x3b412f00b4f30b35b6faaf7b87344d5ef367d417`](https://sepolia.etherscan.io/address/0x3b412f00b4f30b35b6faaf7b87344d5ef367d417) | Reads several co-located view functions in one slot and combines them — JOIN (formatted list), SUM / MIN / MAX (numeric reduction), or COUNT (successful reads). | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/rendering-uniswap-hooks](../concepts/rendering-uniswap-hooks.md) |
| **MultiViewRouter** | [`0x421d056aa04f7d5fe22a55b3edfb64f5560b12f5`](https://sepolia.etherscan.io/address/0x421d056aa04f7d5fe22a55b3edfb64f5560b12f5) | The fixed runtime that interprets a MultiView (in-app routing). | [guides/nft-collection-frontend](../guides/nft-collection-frontend.md) · [reference/templates](../reference/templates.md) |
| **NftImageResolver** | [`0x5fd40d4f2cf8c0b99ed4be5432ded64ea2477b24`](https://sepolia.etherscan.io/address/0x5fd40d4f2cf8c0b99ed4be5432ded64ea2477b24) | The on-chain NFT media path: reference an NFT by `(contract, tokenId)` and resolve its art for the image slot — but only when the art is GENUINELY on-chain. | [guides/nft-collection-frontend](../guides/nft-collection-frontend.md) · [reference/capabilities](../reference/capabilities.md) |
| **NullifierRegistry** | [`0x416968063b679d1967d068ea3af26ede30b427e4`](https://sepolia.etherscan.io/address/0x416968063b679d1967d068ea3af26ede30b427e4) | The ownerless, permissionless spent-set that makes a selective-disclosure credential SINGLE-USE and NON-TRANSFERABLE. | [concepts/messaging-privacy](../concepts/messaging-privacy.md) · [concepts/privacy](../concepts/privacy.md) |
| **OpcodeFormat** | [`0xF81f7c88C332eff5148f23dA572b0A53a8a63eB0`](https://sepolia.etherscan.io/address/0xF81f7c88C332eff5148f23dA572b0A53a8a63eB0) | The canonical dictionary of tag, attribute, and value IDs for ChainRender's real opcode format, version 2 (CRO2) — the format chainc compiles Tier 0 components into, replacing the Phase 1 single-tag placeholder. |  |
| **OpcodeFormatView** | [`0xd8659e7Fe866598E21307ac17D83eb5091153fA4`](https://sepolia.etherscan.io/address/0xd8659e7Fe866598E21307ac17D83eb5091153fA4) | A tiny pure introspection contract that exposes the OpcodeFormat library constants as return values, so the off-chain compiler's mirror (chainc/format.ts) can be checked against the on-chain source of truth in… |  |
| **OpcodeInterpreterV2** | [`0xae75db71dc78109f29b7946f65b3983a81e17686`](https://sepolia.etherscan.io/address/0xae75db71dc78109f29b7946f65b3983a81e17686) | The real ChainRender interpreter (BUILD_PROMPT.md step 4): walks the CRO2 opcode format defined in OpcodeFormat.sol, resolves REF nodes against the shared ComponentRegistry as it goes, and emits HTML — all in a… |  |
| **OpcodeInterpreterV3** | [`0xde3025df65e4c3b2ab084f9cf189f56d3b00d0b5`](https://sepolia.etherscan.io/address/0xde3025df65e4c3b2ab084f9cf189f56d3b00d0b5) | A SECOND render target for the SAME CRO2 format: it walks the identical component bytes the HTML interpreter reads and emits a self-contained **SVG document** — an image that is the UI, embeddable in any feed / <img>… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **OpcodeInterpreterV3Html** | [`0x8996afa3042ddc4fb2a92d351cdcc4aa6bee77f0`](https://sepolia.etherscan.io/address/0x8996afa3042ddc4fb2a92d351cdcc4aa6bee77f0) | The real ChainRender interpreter (BUILD_PROMPT.md step 4): walks the CRO2 opcode format defined in OpcodeFormat.sol, resolves REF nodes against the shared ComponentRegistry as it goes, and emits HTML — all in a… | [contracts/architecture](../contracts/architecture.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **OpcodeInterpreterV4Html** | [`0xd84d1d1f810f8ec5c4f85427d4e17e00815a6cbe`](https://sepolia.etherscan.io/address/0xd84d1d1f810f8ec5c4f85427d4e17e00815a6cbe) | The real ChainRender interpreter (BUILD_PROMPT.md step 4): walks the CRO2 opcode format defined in OpcodeFormat.sol, resolves REF nodes against the shared ComponentRegistry as it goes, and emits HTML — all in a… |  |
| **OpcodeInterpreterV5Html** | [`0x77605ca320e539c83d37db128a85e90b3d5f6fc3`](https://sepolia.etherscan.io/address/0x77605ca320e539c83d37db128a85e90b3d5f6fc3) | The VERSION_5 HTML interpreter (docs/202): OpcodeInterpreterV4Html plus the presentation channels — style tokens (ATTR_STYLE -> class="cr-t cr-t-<token> ..."), viewer hints (ATTR_HINTS -> data-cr-h-<key>="<value>"),… | [concepts/theming](../concepts/theming.md) · [reference/sdk-client](../reference/sdk-client.md) |
| **OracleFeedResolver** | [`0x516f8af840abff8207e4d2ce29685fc98e96934e`](https://sepolia.etherscan.io/address/0x516f8af840abff8207e4d2ce29685fc98e96934e) | Turns an off-chain datum that an oracle has ALREADY written on chain into a floor-honest render. | [reference/resolvers](../reference/resolvers.md) |
| **PointCloudResolver** | [`0xb728dd97a2afcf735fd91cab7803b081fddc22e1`](https://sepolia.etherscan.io/address/0xb728dd97a2afcf735fd91cab7803b081fddc22e1) | Resolver for the parametric point-cloud scene. |  |
| **PointCloudView** | [`0xe5a467e42e1cd92328eaf5baadc797a2fc595fc2`](https://sepolia.etherscan.io/address/0xe5a467e42e1cd92328eaf5baadc797a2fc595fc2) | External surface for PointCloudLib — exposes the generator/palette constants (so the chainc mirror is drift-guarded) and the SVG poster (the floor) for tests. |  |
| **PortfolioResolver** | [`0x5010d6A09d6fD146530EB55B655dbab94Fb51dF2`](https://sepolia.etherscan.io/address/0x5010d6A09d6fD146530EB55B655dbab94Fb51dF2) | Renders an **aggregated total** across many on-chain numeric reads -- e.g. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **ProgressResolver** | [`0x94bc8ac61feb4cb453db044a2e868198e652627e`](https://sepolia.etherscan.io/address/0x94bc8ac61feb4cb453db044a2e868198e652627e) | A computed, fully-on-chain progress bar: given a target contract and two view selectors (a `current` and a `total`), it STATICCALLs both, computes the fill fraction, and renders a bar as a `data:image/svg+xml` URI… |  |
| **ProofOfReserveResolver** | [`0xcC670820287d66D850A93eA21Bc7cBa9e9af3821`](https://sepolia.etherscan.io/address/0xcC670820287d66D850A93eA21Bc7cBa9e9af3821) | Renders **Proof of Reserve** for a tokenized real-world asset: the reserves an oracle has attested on chain, the token's on-chain `totalSupply()`, and the **coverage ratio** (reserves ÷ supply) — the one number that… | [concepts/rwa-capabilities](../concepts/rwa-capabilities.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **ProtocolStatResolver** | [`0x34bcf31513b8c6c4aff3ef8e2e4f8003de0782e1`](https://sepolia.etherscan.io/address/0x34bcf31513b8c6c4aff3ef8e2e4f8003de0782e1) | Resolver hook (docs/15) for Example 2: reads a lending pool's live position — collateral, debt, health factor, APR — and formats it for display. |  |
| **ProvenanceRegistry** | [`0x9340Ff95C3e3E231b34ED53641D34160175B8144`](https://sepolia.etherscan.io/address/0x9340Ff95C3e3E231b34ED53641D34160175B8144) | Trustless, append-only record of **authorship** for content-addressed artifacts (app hashes, component hashes, library hashes). | [concepts/payments](../concepts/payments.md) |
| **PublicGoodsTreasury** | [`0xc12531dda28397f4b7582e5b5517829e264d8a80`](https://sepolia.etherscan.io/address/0xc12531dda28397f4b7582e5b5517829e264d8a80) | An OWNERLESS sink for slashed community-rail stakes (docs/72 §5, docs/74). | [resources/roadmap-governance](../resources/roadmap-governance.md) |
| **ReadFormat** | [`0xF3035C3E64b291bA315165A966d9f6cDF93950b8`](https://sepolia.etherscan.io/address/0xF3035C3E64b291bA315165A966d9f6cDF93950b8) | Shared decode + format helpers for the generic on-chain readers (CallResolver, MultiCallResolver). | [concepts/rendering-uniswap-hooks](../concepts/rendering-uniswap-hooks.md) · [reference/resolvers](../reference/resolvers.md) |
| **Renderer** | [`0x205ca55f187a43dBC1463428fF72799162947203`](https://sepolia.etherscan.io/address/0x205ca55f187a43dBC1463428fF72799162947203) | Phase 1 proof-of-concept interpreter for ChainRender's core claim: a compiled UI component, once written to storage, can be rendered for free, forever, by calling this contract's `render` function as a view call… | [concepts/overview](../concepts/overview.md) · [reference/feature-catalog](../reference/feature-catalog.md) |
| **RenderRouter** | [`0x3d236f80ef66cd2a173b54b59d9e500d499a9720`](https://sepolia.etherscan.io/address/0x3d236f80ef66cd2a173b54b59d9e500d499a9720) | The version-dispatching entry point for rendering (BUILD_PROMPT.md step 4). | [concepts/building-correctly](../concepts/building-correctly.md) · [concepts/fully-on-chain](../concepts/fully-on-chain.md) |
| **ReputationAggregateResolver** | [`0x7188A6eeC6fbdC7f73f4Af790f000085BF6618B2`](https://sepolia.etherscan.io/address/0x7188A6eeC6fbdC7f73f4Af790f000085BF6618B2) | Composes MANY reputation sources — EFP, address vouches, EAS, ERC-725/735, any future source — through the uniform IReputationSource seam, and renders a **transparent k-of-n tally** with an honest, capped grade. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [reference/resolvers](../reference/resolvers.md) |
| **RockPaperScissorsRules** | [`0x176bdee00dabf4d6474c717af2c957afd6c4c729`](https://sepolia.etherscan.io/address/0x176bdee00dabf4d6474c717af2c957afd6c4c729) | A REAL hidden-information game demonstrating commit-reveal: both players COMMIT their choice (hidden), then REVEAL it. | [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **RockPaperScissorsRulesV2** | [`0x411c8a005b6183bd4860e18036e45c286cd790d5`](https://sepolia.etherscan.io/address/0x411c8a005b6183bd4860e18036e45c286cd790d5) | Rock-paper-scissors for GameChannelV2: a hidden-information game played by commit-reveal. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **RouteRenderer** | [`0xFfEDFc22EB1F9e8680B46a17DC599a6e3176A9EA`](https://sepolia.etherscan.io/address/0xFfEDFc22EB1F9e8680B46a17DC599a6e3176A9EA) | Built ONCE to the widest shape: it walks legs generically, so 1 leg renders as a simple direct path and N legs render as a multi-hop / split diagram through the IDENTICAL code path. | [reference/feature-catalog](../reference/feature-catalog.md) · [reference/resolvers](../reference/resolvers.md) |
| **SceneComponentRegistry** | [`0x88f8b3d095fae0bd856de15f1d999493d661eeb4`](https://sepolia.etherscan.io/address/0x88f8b3d095fae0bd856de15f1d999493d661eeb4) | Ownerless, content-addressed registry for Track-B "scene" components — pieces whose trustless Track-A floor is a self-contained on-chain SVG (e.g. | [concepts/apps-directory](../concepts/apps-directory.md) · [concepts/rich-media-p5-three](../concepts/rich-media-p5-three.md) |
| **SceneFloor** | [`0xba1a224e669656e955e0d8a0648fd868f5baa6a6`](https://sepolia.etherscan.io/address/0xba1a224e669656e955e0d8a0648fd868f5baa6a6) | Ownerless, pure on-chain Track-A floor for the Harmonic and Sigil components. | [concepts/rich-media-p5-three](../concepts/rich-media-p5-three.md) |
| **SdfRenderLib** | [`0xb034d792a5a3e233ad1a3e7d81934cf180717bf4`](https://sepolia.etherscan.io/address/0xb034d792a5a3e233ad1a3e7d81934cf180717bf4) | The SDF scene's POSTER renderer — the bit-exact on-chain SVG still. |  |
| **SdfSceneResolver** | [`0xbf7a307ddddca76b4783aebf0cafd7c7e47fface`](https://sepolia.etherscan.io/address/0xbf7a307ddddca76b4783aebf0cafd7c7e47fface) | Slice 1 of the shader/SDF track — the *verifiable floor*. |  |
| **SourceRenderer** | [`0x67d47cbc0823ec06165ae34e1f7f3b4afd4ee566`](https://sepolia.etherscan.io/address/0x67d47cbc0823ec06165ae34e1f7f3b4afd4ee566) | Renders on-chain source text as an escaped, line-numbered code block — the provenance-made- visible component: a mini-app can show the exact code that produced it, read from the SAME immutable bytes as the render… | [reference/capabilities](../reference/capabilities.md) · [reference/feature-catalog](../reference/feature-catalog.md) |
| **SourceStore** | [`0xd6f17cd1a4eb34283e97885c3a647e9a58510d4b`](https://sepolia.etherscan.io/address/0xd6f17cd1a4eb34283e97885c3a647e9a58510d4b) | A content-addressed, ownerless, immutable on-chain store for source text — the same "compile once, read free-forever" SSTORE2 model GeoStore uses for geometry, applied to a developer's source. | [concepts/apps-directory](../concepts/apps-directory.md) · [concepts/rich-media-p5-three](../concepts/rich-media-p5-three.md) |
| **SourceStoreFast** | [`0xd6f17cd1a4eb34283e97885c3a647e9a58510d4b`](https://sepolia.etherscan.io/address/0xd6f17cd1a4eb34283e97885c3a647e9a58510d4b) | Byte-for-byte identical behavior to SourceStore — same content-addressing (id = keccak256(source)), same idempotency, same ownerless/immutable/no-upgrade shape — but backed by ChunkedStoreFast, which removes the… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **StorageChunkFast** | [`0x950B42cd6bf407C60E9546C92521d307E29bfc60`](https://sepolia.etherscan.io/address/0x950B42cd6bf407C60E9546C92521d307E29bfc60) | Deploys a data chunk via a raw CREATE with a hand-built minimal initcode (Solmate-style SSTORE2), copying the payload exactly once with MCOPY — vs `new DataChunk(data)`, which ABI-decodes the constructor arg and then… |  |
| **StorageProfile** | [`0xc3C5D22d7A6F7106ED1e2f9Bc9aEe8d04d11EAE8`](https://sepolia.etherscan.io/address/0xc3C5D22d7A6F7106ED1e2f9Bc9aEe8d04d11EAE8) | The one place the per-chain storage-backend policy lives as concrete data. |  |
| **SubnameStakeRegistrar** | [`0x96fc2aa58ea0ff6f4bf0a809470f721532b21c53`](https://sepolia.etherscan.io/address/0x96fc2aa58ea0ff6f4bf0a809470f721532b21c53) | The community-submission rail for the catalog (docs/72). | [contracts/architecture](../contracts/architecture.md) · [contracts/registries](../contracts/registries.md) |
| **SubnameStakeRegistrarV2** | [`0xb6fe0cf0ceb15e23129c8cb764d5d77ec5d4b353`](https://sepolia.etherscan.io/address/0xb6fe0cf0ceb15e23129c8cb764d5d77ec5d4b353) | The v2 community-submission rail (docs/72 + docs/86 §5). | [concepts/apps-directory](../concepts/apps-directory.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **SubnameVersionRegistry** | [`0xc7079a4468f820c50c59b0eaf31300eac6dc3383`](https://sepolia.etherscan.io/address/0xc7079a4468f820c50c59b0eaf31300eac6dc3383) | Doc 111 — the versioned-subname resolver: the missing "safe app update" primitive. | [concepts/versioning](../concepts/versioning.md) · [contracts/architecture](../contracts/architecture.md) |
| **SvgAnim** | [`0x9dd09d934f84165845c35eca6af4309d6aa08455`](https://sepolia.etherscan.io/address/0x9dd09d934f84165845c35eca6af4309d6aa08455) | The declarative-animation companion to OpcodeInterpreterV3, held as an immutable (like ISvgLayout) so the CSS keyframe constants and the wrap/validate string logic live in their own bytecode rather than crowding the… | [reference/capabilities](../reference/capabilities.md) |
| **SvgLayoutFixed** | [`0x6e49b1dfd05248df06041ad17973de59d9e76c2b`](https://sepolia.etherscan.io/address/0x6e49b1dfd05248df06041ad17973de59d9e76c2b) | The constrained-first geometry provider: fixed template metrics for a 480-wide card. |  |
| **SwapFlowResolver** | [`0x0047e3a86d9b1cd12a63294c571b01f1f139e69c`](https://sepolia.etherscan.io/address/0x0047e3a86d9b1cd12a63294c571b01f1f139e69c) | Resolver for Example 4. Reports the flow's live state so the card can gate each step's button with a render condition: "stage" — args = abi.encode(flow, account) -> "approve" \| "swap" \| "done" "allowance" — args =… |  |
| **TableRenderer** | [`0xfa9f5df6419eab3b180c18909d06f70a197c01a1`](https://sepolia.etherscan.io/address/0xfa9f5df6419eab3b180c18909d06f70a197c01a1) | Data-table presentation for the app framework — the homogeneous-typed-rows counterpart to the grid LAYOUT (which arranges heterogeneous components). | [reference/capabilities](../reference/capabilities.md) · [reference/feature-catalog](../reference/feature-catalog.md) |
| **ThemeSetRegistry** | [`0x8c5C0cdDA8800fB219e066B92A1Fa17808245c70`](https://sepolia.etherscan.io/address/0x8c5C0cdDA8800fB219e066B92A1Fa17808245c70) | Ownerless, immutable, content-addressed INDEX over themes whose CSS lives in SourceStore. | [contracts/architecture](../contracts/architecture.md) · [contracts/registries](../contracts/registries.md) |
| **ThemeTokens** | [`0xc8D59f76FB5Ee7e8cc8B8e6D4cc966254D63ad93`](https://sepolia.etherscan.io/address/0xc8D59f76FB5Ee7e8cc8B8e6D4cc966254D63ad93) | ONE token source of truth. | [about/brand](../about/brand.md) · [contracts/architecture](../contracts/architecture.md) |
| **TicTacToeRules** | [`0xf1b428507539967e66d48839b0c80d0751f00d17`](https://sepolia.etherscan.io/address/0xf1b428507539967e66d48839b0c80d0751f00d17) | Tic-tac-toe for GameChannelV2 — the reference perfect-information `IGameRulesV2` (docs-site guides/multiplayer-and-lobbies.md walks through it). | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **TrustGrade** | [`0x0924e43a90e71aa74926859a5c2050448935b407`](https://sepolia.etherscan.io/address/0x0924e43a90e71aa74926859a5c2050448935b407) | The pure analysis core of the capability enforcer (docs 66 + 67, build-order step 1). | [contracts/architecture](../contracts/architecture.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **TrustGradeView** | [`0xc90a2a14f7a6382054dc704b0f30f3e0d124e082`](https://sepolia.etherscan.io/address/0xc90a2a14f7a6382054dc704b0f30f3e0d124e082) | External surface for TrustGrade — exposes the pure analyze() plus the constants, so the chainc mirror can be asserted equal (drift-guard) and tests can call the analysis on-chain. | [contracts/reading](../contracts/reading.md) · [contracts/verifying](../contracts/verifying.md) |
| **UniswapQuoteResolver** | [`0x2c8a50eCA394E2069dBdC9D26F84e7f1E13b9F93`](https://sepolia.etherscan.io/address/0x2c8a50eCA394E2069dBdC9D26F84e7f1E13b9F93) | Renders a Uniswap **V3 swap quote** during an `eth_call`: "if you swap `amountIn` of tokenIn, you'll receive ~`amountOut` of tokenOut" -- so a swap app can show the expected output *before* the user signs, instead of… | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **UniswapV3PositionResolver** | [`0x7eFcDD40Ca0D4761eD36634e3B42c3CB3d758478`](https://sepolia.etherscan.io/address/0x7eFcDD40Ca0D4761eD36634e3B42c3CB3d758478) | Renders a Uniswap **V3 liquidity position** (an LP NFT) during an `eth_call`: the pair, fee tier, tick range, liquidity, and uncollected fees owed. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **UniswapV3PriceResolver** | [`0x0ab973e6f3ff39c1e2382db35ca5d2c5cec88285`](https://sepolia.etherscan.io/address/0x0ab973e6f3ff39c1e2382db35ca5d2c5cec88285) | Reads a Uniswap V3 pool's **live spot price** during an `eth_call` render. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/rendering-uniswap-hooks](../concepts/rendering-uniswap-hooks.md) |
| **UniswapV4PriceResolver** | [`0xb74d7EED2cbCaDF3d8bb1D867ab106e163D35674`](https://sepolia.etherscan.io/address/0xb74d7EED2cbCaDF3d8bb1D867ab106e163D35674) | Reads a Uniswap **V4** pool's live spot price during an `eth_call` render. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/rendering-uniswap-hooks](../concepts/rendering-uniswap-hooks.md) |
| **VaultResolver** | [`0x5EF4E644CB0B18F8A4174580ca44Cb630E0527c7`](https://sepolia.etherscan.io/address/0x5EF4E644CB0B18F8A4174580ca44Cb630E0527c7) | Renders a tokenized-asset **vault** live during an `eth_call`: ERC-4626 NAV-per-share, total assets and share supply (`vault4626`), and the ERC-7540 async **redemption/deposit queue** for a controller (`vault7540`). | [concepts/rwa-capabilities](../concepts/rwa-capabilities.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **VectorArtResolver** | [`0x6b81b9aeff20e649135edcffdf0e9c79a5d3ac9e`](https://sepolia.etherscan.io/address/0x6b81b9aeff20e649135edcffdf0e9c79a5d3ac9e) | High-fidelity, *designed* generative art — the answer to "on-chain doesn't have to mean blocky." Where GenArtResolver samples a grid (Truchet cells), this composes the smooth, resolution-independent primitives real… |  |
| **VouchReputationSource** | [`0xB73D63f23450BD8e3a6B08f5f8E894de6eb52584`](https://sepolia.etherscan.io/address/0xB73D63f23450BD8e3a6B08f5f8E894de6eb52584) | Reference IReputationSource adapter over an AddressAttestationRegistry: the signal is "does `attester` currently hold a VALID vouch for `subject` under `topic`?". |  |
| **Web3Serve** | [`0x50A9C483980db6d79467341F62D7c99f84873d8B`](https://sepolia.etherscan.io/address/0x50A9C483980db6d79467341F62D7c99f84873d8B) | Serves ChainRender components from-chain as web pages over `web3://` (ERC-4804 + ERC-5219) AND as an ERC-8244 contract-hosted application (`html()`). | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **ZQuoterResolver** | [`0x135218f32b146a51246b7530d99e07c211e32e48`](https://sepolia.etherscan.io/address/0x135218f32b146a51246b7530d99e07c211e32e48) | The bridge: reads z-fi's zQuoter (mainnet) or MockZQuoter (Sepolia) and exposes its quotes to ChainRender's render path — mirroring the AaveReserveResolver pattern. |  |

## Robinhood Chain Testnet (`46630`)

| Contract | Address | What it is | Docs |
|---|---|---|---|
| **AavePositionResolver** | [`0xb728dd97a2afcf735fd91cab7803b081fddc22e1`](https://explorer.testnet.chain.robinhood.com/address/0xb728dd97a2afcf735fd91cab7803b081fddc22e1) | Renders a user's **Aave V3 lending position** during an `eth_call`: collateral, debt, borrowing power, and **health factor** (the liquidation-risk number). | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **AaveReserveResolver** | [`0xe5a467e42e1cd92328eaf5baadc797a2fc595fc2`](https://explorer.testnet.chain.robinhood.com/address/0xe5a467e42e1cd92328eaf5baadc797a2fc595fc2) | Reads an Aave v3 reserve's **live supply APY** during an `eth_call` render. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **ActionVocab** | [`0xc90a2a14f7a6382054dc704b0f30f3e0d124e082`](https://explorer.testnet.chain.robinhood.com/address/0xc90a2a14f7a6382054dc704b0f30f3e0d124e082) | The write / action vocabulary — the last spine pillar, built ON TOP of the proven capability gate (`TrustGrade.gateAction`, rules R3-R6). | [contracts/architecture](../contracts/architecture.md) |
| **ActionVocabView** | [`0x9aca2f4aa2ea8096459ecd2fb9ec55273897a99c`](https://explorer.testnet.chain.robinhood.com/address/0x9aca2f4aa2ea8096459ecd2fb9ec55273897a99c) | External surface for ActionVocab — exposes construct-for-sign + constants so the chainc mirror is drift-guarded and tests can exercise the vocabulary on-chain. |  |
| **AddressAttestationRegistry** | [`0xa00fA06711BC4F8D124a66110EBeC95f29676F63`](https://explorer.testnet.chain.robinhood.com/address/0xa00fA06711BC4F8D124a66110EBeC95f29676F63) | The ownerless, permissionless REPUTATION primitive that fits ChainRender's ethos: **delegated address vouching**, never a global score. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [reference/resolvers](../reference/resolvers.md) |
| **AddressReputationResolver** | [`0x4f3d4740d4f506f797cE7029603fd0f5cCf12A30`](https://explorer.testnet.chain.robinhood.com/address/0x4f3d4740d4f506f797cE7029603fd0f5cCf12A30) | Renders **delegated address reputation** from an AddressAttestationRegistry — a single attester's vouch, or a **transparent k-of-n tally** over an attester set the CALLER supplies. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [reference/resolvers](../reference/resolvers.md) |
| **AdvisoryRegistry** | [`0xe51b8679929f494a854292a72a32efa7ceed4735`](https://explorer.testnet.chain.robinhood.com/address/0xe51b8679929f494a854292a72a32efa7ceed4735) | An append-only, permissionless, ownerless registry of signed advisories *about* content hashes (components / apps). | [contracts/architecture](../contracts/architecture.md) · [contracts/registries](../contracts/registries.md) |
| **AllocationResolver** | [`0x5b3c5818c228c5eef681bfd63cd94ff6c5fb3dbb`](https://explorer.testnet.chain.robinhood.com/address/0x5b3c5818c228c5eef681bfd63cd94ff6c5fb3dbb) | Resolver hook (docs/15) for Example 3: reads a distributor's live allocation state — eligibility, allocation amount, claimed status — so the claim card shows the user exactly where they stand, read-only, before they… |  |
| **AppRegistry** | [`0xa2063a9404db6c14f6b06d4ae6c38a45c0550002`](https://explorer.testnet.chain.robinhood.com/address/0xa2063a9404db6c14f6b06d4ae6c38a45c0550002) | A first-class, content-addressed store for **App Manifests** (App Capsules). | [concepts/composition](../concepts/composition.md) · [concepts/trust-signals](../concepts/trust-signals.md) |
| **ApprovalStateResolver** | [`0x1048c89a3e35657630c84a79c6518e4b957c17c7`](https://explorer.testnet.chain.robinhood.com/address/0x1048c89a3e35657630c84a79c6518e4b957c17c7) | Renders whether a user has **approved** a spender for enough of a token to proceed -- so a DeFi app can gate its flow ("Approve" vs "Swap") instead of letting a user attempt a swap that will revert for lack of allowance. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **AttestationAdapter** | [`0x516f8af840abff8207e4d2ce29685fc98e96934e`](https://explorer.testnet.chain.robinhood.com/address/0x516f8af840abff8207e4d2ce29685fc98e96934e) | The EAS adapter the registry's `attestationSchema` field was always meant to feed (docs 04/08). | [concepts/privacy](../concepts/privacy.md) · [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) |
| **AttesterRegistry** | [`0x2cdc0420575bb3c5ef44b6d53df394a1d1b4f841`](https://explorer.testnet.chain.robinhood.com/address/0x2cdc0420575bb3c5ef44b6d53df394a1d1b4f841) | A curated, ownerless trust/reputation layer over the neutral AttestationAdapter. | [concepts/privacy](../concepts/privacy.md) · [contracts/architecture](../contracts/architecture.md) |
| **BoundCredentialResolver** | [`0xcf9661e2bc085f0d92b3b3e7111744b86a4b1906`](https://explorer.testnet.chain.robinhood.com/address/0xcf9661e2bc085f0d92b3b3e7111744b86a4b1906) | Renders a BOUND, SINGLE-USE selective-disclosure credential. | [concepts/privacy](../concepts/privacy.md) |
| **CallResolver** | [`0x5fd40d4f2cf8c0b99ed4be5432ded64ea2477b24`](https://explorer.testnet.chain.robinhood.com/address/0x5fd40d4f2cf8c0b99ed4be5432ded64ea2477b24) | A generic, read-only bridge from a component slot to ANY view function on ANY co-located contract. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/rendering-uniswap-hooks](../concepts/rendering-uniswap-hooks.md) |
| **ChainlinkChartSource** | [`0x7668e5a0187827634aa7531b93b59523a62e8bb6`](https://explorer.testnet.chain.robinhood.com/address/0x7668e5a0187827634aa7531b93b59523a62e8bb6) | An `IChartData` source that turns a Chainlink (AggregatorV3-shaped) price feed into a live on-chain chart series. | [reference/ai-builder-rules](../reference/ai-builder-rules.md) · [reference/capabilities](../reference/capabilities.md) |
| **ChainlinkFeedResolver** | [`0xf44efda1e829edba06bb49529c00eaf10c23dd3c`](https://explorer.testnet.chain.robinhood.com/address/0xf44efda1e829edba06bb49529c00eaf10c23dd3c) | Reads a Chainlink AggregatorV3 price feed **live during an `eth_call` render**. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **ChainProfile** | [`0xc522b19bfe2fbf69d2c7325bb63024fae493f416`](https://explorer.testnet.chain.robinhood.com/address/0xc522b19bfe2fbf69d2c7325bb63024fae493f416) | The one and only place the current contract-size ceiling lives as a concrete number. | [concepts/l2-deployment-strategy](../concepts/l2-deployment-strategy.md) · [concepts/size-limits-and-glamsterdam](../concepts/size-limits-and-glamsterdam.md) |
| **ChainRenderResolver** | [`0x55bc71f4f1408c859126e71f43a0473ab19a012f`](https://explorer.testnet.chain.robinhood.com/address/0x55bc71f4f1408c859126e71f43a0473ab19a012f) | ChainRenderResolver — ENSIP-10 wildcard resolver for `*.chainrender.eth`. | [guides/ens-integration](../guides/ens-integration.md) |
| **ChartRenderer** | [`0xfa9f5df6419eab3b180c18909d06f70a197c01a1`](https://explorer.testnet.chain.robinhood.com/address/0xfa9f5df6419eab3b180c18909d06f70a197c01a1) | The fixed runtime for the chart vocabulary. | [contracts/deployed-contracts](../contracts/deployed-contracts.md) · [reference/feature-catalog](../reference/feature-catalog.md) |
| **ChartResolver** | [`0xefaef345573b54a9a45cb19911a968a8aee33bb9`](https://explorer.testnet.chain.robinhood.com/address/0xefaef345573b54a9a45cb19911a968a8aee33bb9) | Resolver hook that builds an on-chain sparkline from a data series and returns it as a base64 data URI — so a chart of live on-chain data renders through the image slot, exactly like the generative NFT art. |  |
| **ChartSlotAdapter** | [`0xce00a7802cbe9a7923fbfcacc00fc6611d776510`](https://explorer.testnet.chain.robinhood.com/address/0xce00a7802cbe9a7923fbfcacc00fc6611d776510) | Bridges the multi-arg ChartRenderer to the single resolver-hook interface (docs/15), so an on-chain chart can be a FIRST-CLASS REGISTERED component rendered live via `renderHash` — an image slot — instead of a… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) · [reference/ai-builder-rules](../reference/ai-builder-rules.md) |
| **ChunkedStoreFast** | [`0xfbab0327abd901c9932de84172981f8806a79d70`](https://explorer.testnet.chain.robinhood.com/address/0xfbab0327abd901c9932de84172981f8806a79d70) | A drop-in optimized variant of `ChunkedStore.write`. |  |
| **ComponentAnnotationRegistry** | [`0xe73cdce4488fd96d381744ed7e5138175792d650`](https://explorer.testnet.chain.robinhood.com/address/0xe73cdce4488fd96d381744ed7e5138175792d650) | An ownerless, immutable, append-only key-value metadata layer for registered components — the generic seam between an on-chain *capability declaration* and the *activation metadata* a client needs to act on it. | [concepts/trust-signals](../concepts/trust-signals.md) |
| **ComponentRegistryFast** | [`0x6e49b1dfd05248df06041ad17973de59d9e76c2b`](https://explorer.testnet.chain.robinhood.com/address/0x6e49b1dfd05248df06041ad17973de59d9e76c2b) | Behavioral twin of ComponentRegistry — same IComponentRegistry surface, same content-addressing (hash = keccak256(blob)), same ownerless/append-only/no-overwrite shape — backed by ChunkedStoreFast so registration… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) · [getting-started/first-app](../getting-started/first-app.md) |
| **CompositionRegistry** | [`0xab628eb22bb731dccb75d981d186b03ac30bbd2e`](https://explorer.testnet.chain.robinhood.com/address/0xab628eb22bb731dccb75d981d186b03ac30bbd2e) | Ownerless, append-only, content-addressed store of composition manifests. | [concepts/composition](../concepts/composition.md) · [concepts/trust-signals](../concepts/trust-signals.md) |
| **CompositionRouter** | [`0x416968063b679d1967d068ea3af26ede30b427e4`](https://explorer.testnet.chain.robinhood.com/address/0x416968063b679d1967d068ea3af26ede30b427e4) | The ON-CHAIN COMPOSITOR. | [concepts/advanced-scenes](../concepts/advanced-scenes.md) · [guides/composing-apps](../guides/composing-apps.md) |
| **ComputeResolver** | [`0x94bc8ac61feb4cb453db044a2e868198e652627e`](https://explorer.testnet.chain.robinhood.com/address/0x94bc8ac61feb4cb453db044a2e868198e652627e) | Computes a DERIVED value from on-chain reads on the floor — e.g. | [guides/app-contract](../guides/app-contract.md) · [reference/capabilities](../reference/capabilities.md) |
| **ControlRenderer** | [`0x0dd255cc365f001a8182b14f46570919253453ee`](https://explorer.testnet.chain.robinhood.com/address/0x0dd255cc365f001a8182b14f46570919253453ee) | The fixed runtime for parameter-interaction controls. | [reference/capabilities](../reference/capabilities.md) · [reference/feature-catalog](../reference/feature-catalog.md) |
| **CreatureFloor** | [`0x4df7392698528d782199681db9bd3f7668e63742`](https://explorer.testnet.chain.robinhood.com/address/0x4df7392698528d782199681db9bd3f7668e63742) | Ownerless, pure on-chain Track-A FLOOR for a cr-creatures creature: a deterministic, integer-only side-view wolf poster on a 700x700 viewBox — the Grade-A verifiable still. |  |
| **CredentialBadgeAdapter** | [`0x8a0db8e322033b53aedf5844efe31f9c4e2d32d8`](https://explorer.testnet.chain.robinhood.com/address/0x8a0db8e322033b53aedf5844efe31f9c4e2d32d8) | Renders a credential resolver's ON-CHAIN verification as a badge IMAGE (SVG data-URI), so a zero-knowledge credential can be a FIRST-CLASS REGISTERED component rendered live via `renderHash`. |  |
| **CredentialBoundVerifier** | [`0x9cac9ffee7575923c9f704264808b7e6879aeddf`](https://explorer.testnet.chain.robinhood.com/address/0x9cac9ffee7575923c9f704264808b7e6879aeddf) | snarkjs-generated Groth16 verifier for credential.circom (bound, single-use member-of-set). |  |
| **CredentialLifecycleResolver** | [`0xC9bdCe80fFD44505B4375Eaab0D1D752F42d9D0c`](https://explorer.testnet.chain.robinhood.com/address/0xC9bdCe80fFD44505B4375Eaab0D1D752F42d9D0c) | Renders the LIFECYCLE status of a KYC/accreditation credential — VALID / EXPIRED / REVOKED / UNKNOWN — from a CredentialStatusRegistry, with **issuer-key binding** and **freshness (age / time-to-expiry)**. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [concepts/rwa-capabilities](../concepts/rwa-capabilities.md) |
| **CredentialResolver** | [`0x09e2d9e9947dc17ed0ee828df0c714080f98c4f7`](https://explorer.testnet.chain.robinhood.com/address/0x09e2d9e9947dc17ed0ee828df0c714080f98c4f7) | Renders a SELECTIVE-DISCLOSURE credential: it verifies a zero-knowledge proof ON CHAIN and renders only the proven statement — never the private witness. | [concepts/privacy](../concepts/privacy.md) · [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) |
| **CredentialStatusRegistry** | [`0x1C8B3ca86DCB701AC452C0fA4A91a192407bdd1c`](https://explorer.testnet.chain.robinhood.com/address/0x1C8B3ca86DCB701AC452C0fA4A91a192407bdd1c) | The ownerless, permissionless LIFECYCLE layer that makes a selective-disclosure credential usable for a real KYC/accreditation lifecycle: **issuer-key binding + expiry + revocation**. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [concepts/rwa-capabilities](../concepts/rwa-capabilities.md) |
| **CurvePoolResolver** | [`0x03bbcedbc9369b5208be8ffbfff24db8daae5e55`](https://explorer.testnet.chain.robinhood.com/address/0x03bbcedbc9369b5208be8ffbfff24db8daae5e55) | Renders **Curve pool** state during an `eth_call`: a swap quote (`get_dy`) or a coin balance -- so an app can show expected Curve output / pool depth, broadening AMM coverage beyond Uniswap. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **DataBinder** | [`0xacc2833fed3ae32426db2648faf433b8c220acbd`](https://explorer.testnet.chain.robinhood.com/address/0xacc2833fed3ae32426db2648faf433b8c220acbd) | App-level LATE data-binding: an app declares a closed set of on-chain read SOURCES (each an `IChainRenderResolver` — the same resolver-hook vocabulary the CRO2 interpreter uses) and binds view regions to them, so a… | [reference/capabilities](../reference/capabilities.md) |
| **DependencyRegistry** | [`0xae75db71dc78109f29b7946f65b3983a81e17686`](https://explorer.testnet.chain.robinhood.com/address/0xae75db71dc78109f29b7946f65b3983a81e17686) | An ownerless, content-addressed manifest for large on-chain assets (JS libraries like p5.js / three.js) that exceed a single transaction's gas budget. | [concepts/apps-directory](../concepts/apps-directory.md) · [concepts/fully-on-chain](../concepts/fully-on-chain.md) |
| **EfpReputationSource** | [`0xffc110724c0aC4EB853ceaF77c40d6d7A8f5307e`](https://explorer.testnet.chain.robinhood.com/address/0xffc110724c0aC4EB853ceaF77c40d6d7A8f5307e) | Reference IReputationSource adapter over EFP, sharing the EfpOps decoder with EfpResolver (one source of truth for the EFP encoding). |  |
| **EfpResolver** | [`0x7dCAE5cE4F8284bC3d19D4857470f500a78630f2`](https://explorer.testnet.chain.robinhood.com/address/0x7dCAE5cE4F8284bC3d19D4857470f500a78630f2) | Renders **EFP forward social-graph reads** — does a given list follow / tag / block / mute a target address — as a fail-closed `READ_CHAIN` render, plus the list's raw op count. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [reference/resolvers](../reference/resolvers.md) |
| **EnsProfileResolver** | [`0xb0f91a0257b388c089d747be8e3d738652f8132d`](https://explorer.testnet.chain.robinhood.com/address/0xb0f91a0257b388c089d747be8e3d738652f8132d) | The string adapter that turns the typed on-chain reads of EnsReader into slot values a ChainRender profile component can bind to. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [guides/ens-integration](../guides/ens-integration.md) |
| **EnsReader** | [`0xa5270bc183c1483230e86a51ef12c4c6065c5d2b`](https://explorer.testnet.chain.robinhood.com/address/0xa5270bc183c1483230e86a51ef12c4c6065c5d2b) | The verifiable on-chain core of the ENS profile showcase. |  |
| **EnsRecordResolver** | [`0x34bcf31513b8c6c4aff3ef8e2e4f8003de0782e1`](https://explorer.testnet.chain.robinhood.com/address/0x34bcf31513b8c6c4aff3ef8e2e4f8003de0782e1) | On-chain ENS record resolver hook (docs/15): reads a name's `addr` (EIP-137) or a `text` record (EIP-634) directly from its on-chain resolver and returns it as a string. | [guides/viewer-reads](../guides/viewer-reads.md) · [reference/data-sources](../reference/data-sources.md) |
| **EnsRegistryMock** | [`0x6a85227E27e2c1fEfdc0E5041a73F9a3bD27Db8D`](https://explorer.testnet.chain.robinhood.com/address/0x6a85227E27e2c1fEfdc0E5041a73F9a3bD27Db8D) | **Test double (testnet only)** — not for production. A minimal ENS registry + resolver pair for hermetic tests. |  |
| **EnsV2Resolver** | [`0x0047e3a86d9b1cd12a63294c571b01f1f139e69c`](https://explorer.testnet.chain.robinhood.com/address/0x0047e3a86d9b1cd12a63294c571b01f1f139e69c) | Renders an ENSv2 record live during an `eth_call`, honestly. | [reference/data-sources](../reference/data-sources.md) · [reference/resolvers](../reference/resolvers.md) |
| **EquivalenceRegistry** | [`0x81a04580a38412c4510c760729ad8db8bf56fbce`](https://explorer.testnet.chain.robinhood.com/address/0x81a04580a38412c4510c760729ad8db8bf56fbce) | Trustless, append-only directory of **where a content-addressed app is deployed across chains**. |  |
| **Erc20BalanceResolver** | [`0x6b81b9aeff20e649135edcffdf0e9c79a5d3ac9e`](https://explorer.testnet.chain.robinhood.com/address/0x6b81b9aeff20e649135edcffdf0e9c79a5d3ac9e) | On-chain resolver hook (docs/15) for ERC-20 token balances. | [reference/capabilities](../reference/capabilities.md) · [reference/data-sources](../reference/data-sources.md) |
| **Erc3643PermissionAdapter** | [`0x4492253263E9AeB823D39c61Bc60CD646cd8cEc1`](https://explorer.testnet.chain.robinhood.com/address/0x4492253263E9AeB823D39c61Bc60CD646cd8cEc1) | Renders the COMPLIANCE STATE of an ERC-3643 permissioned security token — whether a holder is a verified (KYC'd) investor, whether they are frozen, whether the token is paused, and whether a given transfer would… | [concepts/rwa-capabilities](../concepts/rwa-capabilities.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **Erc721MetadataResolver** | [`0x578609db36f3e21f1d4e08ec60bd89944f58f70b`](https://explorer.testnet.chain.robinhood.com/address/0x578609db36f3e21f1d4e08ec60bd89944f58f70b) | Resolver hook (docs/15) for fully on-chain NFTs. | [reference/data-sources](../reference/data-sources.md) |
| **EthBalanceResolver** | [`0xfe5ac3ef78100c5bad73be10de68f10cd299761f`](https://explorer.testnet.chain.robinhood.com/address/0xfe5ac3ef78100c5bad73be10de68f10cd299761f) | A first, self-contained on-chain resolver hook (docs/15): given a 20-byte account address as args, it returns that account's live ETH balance formatted to 4 decimals. |  |
| **GameChannel** | [`0xef8f4425be0fe58c42c61c6db34ef1dd1429c27d`](https://explorer.testnet.chain.robinhood.com/address/0xef8f4425be0fe58c42c61c6db34ef1dd1429c27d) | Ownerless, immutable base for turn-based multi-user games where play happens CLIENT-SIDE (fast, free, off-chain) and the final state settles ON-CHAIN together with a VERIFIABLE signed move history. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **GameChannelV2** | [`0x04d32d524752b9b6629a085dabfbe33620ffce77`](https://explorer.testnet.chain.robinhood.com/address/0x04d32d524752b9b6629a085dabfbe33620ffce77) | Ownerless, immutable two-player game channel: play is peer-to-peer (each move signed by its mover, EIP-712), and the chain settles the result from the signed moves, replayed through the game's pure `IGameRulesV2`. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/app-contract](../guides/app-contract.md) |
| **GameLobby** | [`0xfafe4b4f46c9595282105e498666f1a9d40e77c0`](https://explorer.testnet.chain.robinhood.com/address/0xfafe4b4f46c9595282105e498666f1a9d40e77c0) | Ownerless, immutable, game-agnostic on-chain lobby: players create and join **offers**. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **GameLobbyV2** | [`0x0cc9b3028651ac29a9d9acc9cbd9f964f2558f74`](https://explorer.testnet.chain.robinhood.com/address/0x0cc9b3028651ac29a9d9acc9cbd9f964f2558f74) | Ownerless, immutable on-chain waiting room for two-player games settled by `GameChannelV2`. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/app-contract](../guides/app-contract.md) |
| **GameMoveBoard** | [`0x1feac5b9fedc341f2214177674c34b913a3a697e`](https://explorer.testnet.chain.robinhood.com/address/0x1feac5b9fedc341f2214177674c34b913a3a697e) | A serverless mailbox for peer-to-peer games: `post` emits the payload as an event and stores nothing. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **GenArtResolver** | [`0x421d056aa04f7d5fe22a55b3edfb64f5560b12f5`](https://explorer.testnet.chain.robinhood.com/address/0x421d056aa04f7d5fe22a55b3edfb64f5560b12f5) | A deterministic generative-art resolver — the generalization of the identicon pattern. |  |
| **GradientIdenticonResolver** | [`0x9d44e8ca03af3290276361287a909be11e8de668`](https://explorer.testnet.chain.robinhood.com/address/0x9d44e8ca03af3290276361287a909be11e8de668) | The *designed* identicon — the retrofit of the blocky 5×5 avatar into smooth, resolution- independent form, while keeping the exact same fingerprint logic (a mirrored grid of hash bits, so it still reads as a unique… | [about/brand](../about/brand.md) |
| **GradientResolver** | [`0x4bdc5bb770002d15487c48773a7921c93659175d`](https://explorer.testnet.chain.robinhood.com/address/0x4bdc5bb770002d15487c48773a7921c93659175d) | A reusable *designed cover* — a smooth, identity-derived gradient banner for profiles and cards. |  |
| **IdenticonResolver** | [`0x2d88446c6a63ef528f978f6e5c5fc4c2b5532ce5`](https://explorer.testnet.chain.robinhood.com/address/0x2d88446c6a63ef528f978f6e5c5fc4c2b5532ce5) | A fully on-chain, deterministic identicon: given an address, it derives a symmetric 5x5 vector avatar from keccak(address) and returns it as a `data:image/svg+xml` URI for the image slot. |  |
| **IdentityResolver** | [`0x8b095ffb44ac105e46b60fe493bc440ff9f21ccf`](https://explorer.testnet.chain.robinhood.com/address/0x8b095ffb44ac105e46b60fe493bc440ff9f21ccf) | An identity/privacy resolver hook (docs 04, docs/17): it renders identity *claims* about an address — "is this address a verified human?", "what display name has it claimed?" — by reading attestations through the… |  |
| **ImmutableAttesterSet** | [`0xb30d7a89d41fe5737751c3b0fa569fbe42475c79`](https://explorer.testnet.chain.robinhood.com/address/0xb30d7a89d41fe5737751c3b0fa569fbe42475c79) | An ownerless, immutable curated set of attester addresses. |  |
| **InterpreterV1** | [`0xde3025df65e4c3b2ab084f9cf189f56d3b00d0b5`](https://explorer.testnet.chain.robinhood.com/address/0xde3025df65e4c3b2ab084f9cf189f56d3b00d0b5) | The Phase 1 button format, preserved verbatim as interpreter version 1 so that RenderRouter can keep rendering Phase 1 components forever after version 2 ships — the "never delete, always add alongside" rule… |  |
| **LayoutRenderer** | [`0x00361e3701f9195add19d5b6972fc1de33a304cb`](https://explorer.testnet.chain.robinhood.com/address/0x00361e3701f9195add19d5b6972fc1de33a304cb) | The fixed runtime for composition-level responsive layout. | [reference/feature-catalog](../reference/feature-catalog.md) · [reference/style-tokens](../reference/style-tokens.md) |
| **MemberSetVerifier** | [`0xde3c69f777f27a336ee526a2e18ccd16cf0230da`](https://explorer.testnet.chain.robinhood.com/address/0xde3c69f777f27a336ee526a2e18ccd16cf0230da) | snarkjs-generated Groth16 verifier for member.circom. | [concepts/privacy](../concepts/privacy.md) |
| **MockAggregator** | [`0x067e0f0ffd4c2c6ffdb0db87473a56a64606e30c`](https://explorer.testnet.chain.robinhood.com/address/0x067e0f0ffd4c2c6ffdb0db87473a56a64606e30c) | **Test double (testnet only)** — not for production. A test double for a Chainlink AggregatorV3 price feed — used by tests and the Explorer seed to exercise OracleFeedResolver. |  |
| **MockEAS** | [`0x834d12e7d4ef5addcc2bd220e8f3cee663be57da`](https://explorer.testnet.chain.robinhood.com/address/0x834d12e7d4ef5addcc2bd220e8f3cee663be57da) | **Test double (testnet only)** — not for production. A tiny stand-in for the Ethereum Attestation Service used by the attestation adapter's tests and the Explorer seed. |  |
| **MockENSRegistry** | [`0x79856e566453b1091875f527bb8f5e2edf55db60`](https://explorer.testnet.chain.robinhood.com/address/0x79856e566453b1091875f527bb8f5e2edf55db60) | **Test double (testnet only)** — not for production. A tiny stand-in for the ENS registry's node -> resolver mapping, used by the ENS record resolver's tests and by the Explorer seed. |  |
| **MockERC20** | [`0xd0d4bea65369a4e7485920576c80e4934143b268`](https://explorer.testnet.chain.robinhood.com/address/0xd0d4bea65369a4e7485920576c80e4934143b268) | **Test double (testnet only)** — not for production. A deliberately tiny, mintable ERC-20 used by the ERC-20 balance resolver's tests and by the Explorer seed to demonstrate live on-chain token-balance resolution. |  |
| **MockPublicResolver** | [`0xb02ca3ca2029a690467de9cc17a50b19f2f2787b`](https://explorer.testnet.chain.robinhood.com/address/0xb02ca3ca2029a690467de9cc17a50b19f2f2787b) | **Test double (testnet only)** — not for production. A minimal on-chain resolver storing `addr` and `text` records directly (no CCIP-Read), like the ENS Public Resolver. |  |
| **MultiCallResolver** | [`0xb966fcb3ab08ee5726b455cacada1bc21d5632c9`](https://explorer.testnet.chain.robinhood.com/address/0xb966fcb3ab08ee5726b455cacada1bc21d5632c9) | Reads several co-located view functions in one slot and combines them — JOIN (formatted list), SUM / MIN / MAX (numeric reduction), or COUNT (successful reads). | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/rendering-uniswap-hooks](../concepts/rendering-uniswap-hooks.md) |
| **MultiViewRouter** | [`0x5f1cfa85d902aaf18e20f21092731285281e6bdc`](https://explorer.testnet.chain.robinhood.com/address/0x5f1cfa85d902aaf18e20f21092731285281e6bdc) | The fixed runtime that interprets a MultiView (in-app routing). | [guides/nft-collection-frontend](../guides/nft-collection-frontend.md) · [reference/templates](../reference/templates.md) |
| **NftImageResolver** | [`0xf4b185dace321fa204f8f3f597a503c549035296`](https://explorer.testnet.chain.robinhood.com/address/0xf4b185dace321fa204f8f3f597a503c549035296) | The on-chain NFT media path: reference an NFT by `(contract, tokenId)` and resolve its art for the image slot — but only when the art is GENUINELY on-chain. | [guides/nft-collection-frontend](../guides/nft-collection-frontend.md) · [reference/capabilities](../reference/capabilities.md) |
| **NullifierRegistry** | [`0x0ac2e0e2c08ea254015c3dd34b44560385acf5f5`](https://explorer.testnet.chain.robinhood.com/address/0x0ac2e0e2c08ea254015c3dd34b44560385acf5f5) | The ownerless, permissionless spent-set that makes a selective-disclosure credential SINGLE-USE and NON-TRANSFERABLE. | [concepts/messaging-privacy](../concepts/messaging-privacy.md) · [concepts/privacy](../concepts/privacy.md) |
| **OpcodeFormat** | [`0xaf4d70017e501ddd045673adb2e48d94f73d8399`](https://explorer.testnet.chain.robinhood.com/address/0xaf4d70017e501ddd045673adb2e48d94f73d8399) | The canonical dictionary of tag, attribute, and value IDs for ChainRender's real opcode format, version 2 (CRO2) — the format chainc compiles Tier 0 components into, replacing the Phase 1 single-tag placeholder. |  |
| **OpcodeFormatView** | [`0xb34f65ffcfc57b338472a1fc6e57eaf3608c799a`](https://explorer.testnet.chain.robinhood.com/address/0xb34f65ffcfc57b338472a1fc6e57eaf3608c799a) | A tiny pure introspection contract that exposes the OpcodeFormat library constants as return values, so the off-chain compiler's mirror (chainc/format.ts) can be checked against the on-chain source of truth in… |  |
| **OpcodeInterpreterV2** | [`0x0322b911900cb42694899eb06469c786f52e064c`](https://explorer.testnet.chain.robinhood.com/address/0x0322b911900cb42694899eb06469c786f52e064c) | The real ChainRender interpreter (BUILD_PROMPT.md step 4): walks the CRO2 opcode format defined in OpcodeFormat.sol, resolves REF nodes against the shared ComponentRegistry as it goes, and emits HTML — all in a… |  |
| **OpcodeInterpreterV3** | [`0xac4c1e474D4BcE0f1f17F81F409B7f1C999F7026`](https://explorer.testnet.chain.robinhood.com/address/0xac4c1e474D4BcE0f1f17F81F409B7f1C999F7026) | A SECOND render target for the SAME CRO2 format: it walks the identical component bytes the HTML interpreter reads and emits a self-contained **SVG document** — an image that is the UI, embeddable in any feed / <img>… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **OpcodeInterpreterV3Html** | [`0x79518757d3717c371961b7f8870e1416b39c9c72`](https://explorer.testnet.chain.robinhood.com/address/0x79518757d3717c371961b7f8870e1416b39c9c72) | The real ChainRender interpreter (BUILD_PROMPT.md step 4): walks the CRO2 opcode format defined in OpcodeFormat.sol, resolves REF nodes against the shared ComponentRegistry as it goes, and emits HTML — all in a… | [contracts/architecture](../contracts/architecture.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **OpcodeInterpreterV4Html** | [`0xa4349577c1815432cf892d6deafd21048732f043`](https://explorer.testnet.chain.robinhood.com/address/0xa4349577c1815432cf892d6deafd21048732f043) | The real ChainRender interpreter (BUILD_PROMPT.md step 4): walks the CRO2 opcode format defined in OpcodeFormat.sol, resolves REF nodes against the shared ComponentRegistry as it goes, and emits HTML — all in a… |  |
| **OpcodeInterpreterV5Html** | [`0x3ecf2c932b7a87cab0a421a5983cc26c03811ae8`](https://explorer.testnet.chain.robinhood.com/address/0x3ecf2c932b7a87cab0a421a5983cc26c03811ae8) | The VERSION_5 HTML interpreter (docs/202): OpcodeInterpreterV4Html plus the presentation channels — style tokens (ATTR_STYLE -> class="cr-t cr-t-<token> ..."), viewer hints (ATTR_HINTS -> data-cr-h-<key>="<value>"),… | [concepts/theming](../concepts/theming.md) · [reference/sdk-client](../reference/sdk-client.md) |
| **OracleFeedResolver** | [`0x5b5bf005d7313b2c25301e37bd9af5367dde8b27`](https://explorer.testnet.chain.robinhood.com/address/0x5b5bf005d7313b2c25301e37bd9af5367dde8b27) | Turns an off-chain datum that an oracle has ALREADY written on chain into a floor-honest render. | [reference/resolvers](../reference/resolvers.md) |
| **PointCloudResolver** | [`0x9af1aeb38731f3605889fa7fcec9536d97e7f73d`](https://explorer.testnet.chain.robinhood.com/address/0x9af1aeb38731f3605889fa7fcec9536d97e7f73d) | Resolver for the parametric point-cloud scene. |  |
| **PointCloudView** | [`0xae50f78a3d5981c4952dbd41df3798f743e4f5c7`](https://explorer.testnet.chain.robinhood.com/address/0xae50f78a3d5981c4952dbd41df3798f743e4f5c7) | External surface for PointCloudLib — exposes the generator/palette constants (so the chainc mirror is drift-guarded) and the SVG poster (the floor) for tests. |  |
| **PortfolioResolver** | [`0x40abb07e0cd476e7a964cb0798a1968b48e7efdb`](https://explorer.testnet.chain.robinhood.com/address/0x40abb07e0cd476e7a964cb0798a1968b48e7efdb) | Renders an **aggregated total** across many on-chain numeric reads -- e.g. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **ProgressResolver** | [`0x12b9a8f8fa4d5cb01ab8bf76faacdcfb45c5e269`](https://explorer.testnet.chain.robinhood.com/address/0x12b9a8f8fa4d5cb01ab8bf76faacdcfb45c5e269) | A computed, fully-on-chain progress bar: given a target contract and two view selectors (a `current` and a `total`), it STATICCALLs both, computes the fill fraction, and renders a bar as a `data:image/svg+xml` URI… |  |
| **ProofOfReserveResolver** | [`0xEAc7E3BbA95f715A8c70C087a78541BC080e6533`](https://explorer.testnet.chain.robinhood.com/address/0xEAc7E3BbA95f715A8c70C087a78541BC080e6533) | Renders **Proof of Reserve** for a tokenized real-world asset: the reserves an oracle has attested on chain, the token's on-chain `totalSupply()`, and the **coverage ratio** (reserves ÷ supply) — the one number that… | [concepts/rwa-capabilities](../concepts/rwa-capabilities.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **ProtocolStatResolver** | [`0x6e635ce733f823cedc61cc1910a1fd346f3a5c78`](https://explorer.testnet.chain.robinhood.com/address/0x6e635ce733f823cedc61cc1910a1fd346f3a5c78) | Resolver hook (docs/15) for Example 2: reads a lending pool's live position — collateral, debt, health factor, APR — and formats it for display. |  |
| **ProvenanceRegistry** | [`0xe491c29a114573afd80e0e88f6a45add4a4d5db3`](https://explorer.testnet.chain.robinhood.com/address/0xe491c29a114573afd80e0e88f6a45add4a4d5db3) | Trustless, append-only record of **authorship** for content-addressed artifacts (app hashes, component hashes, library hashes). | [concepts/payments](../concepts/payments.md) |
| **PublicGoodsTreasury** | [`0xe85ff4d97a2e7d98e02dab118c8c8960f76d4d7b`](https://explorer.testnet.chain.robinhood.com/address/0xe85ff4d97a2e7d98e02dab118c8c8960f76d4d7b) | An OWNERLESS sink for slashed community-rail stakes (docs/72 §5, docs/74). | [resources/roadmap-governance](../resources/roadmap-governance.md) |
| **ReadFormat** | [`0x6b34cb4f4b2e5d2170768c731fcdfa59a9ea441f`](https://explorer.testnet.chain.robinhood.com/address/0x6b34cb4f4b2e5d2170768c731fcdfa59a9ea441f) | Shared decode + format helpers for the generic on-chain readers (CallResolver, MultiCallResolver). | [concepts/rendering-uniswap-hooks](../concepts/rendering-uniswap-hooks.md) · [reference/resolvers](../reference/resolvers.md) |
| **Renderer** | [`0xbf7a307ddddca76b4783aebf0cafd7c7e47fface`](https://explorer.testnet.chain.robinhood.com/address/0xbf7a307ddddca76b4783aebf0cafd7c7e47fface) | Phase 1 proof-of-concept interpreter for ChainRender's core claim: a compiled UI component, once written to storage, can be rendered for free, forever, by calling this contract's `render` function as a view call… | [concepts/overview](../concepts/overview.md) · [reference/feature-catalog](../reference/feature-catalog.md) |
| **RenderRouter** | [`0xbfa38b3bcc0fbb32facffc497bbc38af4b587382`](https://explorer.testnet.chain.robinhood.com/address/0xbfa38b3bcc0fbb32facffc497bbc38af4b587382) | The version-dispatching entry point for rendering (BUILD_PROMPT.md step 4). | [concepts/building-correctly](../concepts/building-correctly.md) · [concepts/fully-on-chain](../concepts/fully-on-chain.md) |
| **ReputationAggregateResolver** | [`0x919bafCce3056537BFCA5454f103c3D3A7266624`](https://explorer.testnet.chain.robinhood.com/address/0x919bafCce3056537BFCA5454f103c3D3A7266624) | Composes MANY reputation sources — EFP, address vouches, EAS, ERC-725/735, any future source — through the uniform IReputationSource seam, and renders a **transparent k-of-n tally** with an honest, capped grade. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [reference/resolvers](../reference/resolvers.md) |
| **RockPaperScissorsRules** | [`0x001c2b0903b5422d4aa001c2a9fa32f2ea0b3c6d`](https://explorer.testnet.chain.robinhood.com/address/0x001c2b0903b5422d4aa001c2a9fa32f2ea0b3c6d) | A REAL hidden-information game demonstrating commit-reveal: both players COMMIT their choice (hidden), then REVEAL it. | [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **RockPaperScissorsRulesV2** | [`0xa55f45ce62389682cfc897fe65db620747dafd09`](https://explorer.testnet.chain.robinhood.com/address/0xa55f45ce62389682cfc897fe65db620747dafd09) | Rock-paper-scissors for GameChannelV2: a hidden-information game played by commit-reveal. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **RouteRenderer** | [`0xb034d792a5a3e233ad1a3e7d81934cf180717bf4`](https://explorer.testnet.chain.robinhood.com/address/0xb034d792a5a3e233ad1a3e7d81934cf180717bf4) | Built ONCE to the widest shape: it walks legs generically, so 1 leg renders as a simple direct path and N legs render as a multi-hop / split diagram through the IDENTICAL code path. | [reference/feature-catalog](../reference/feature-catalog.md) · [reference/resolvers](../reference/resolvers.md) |
| **SceneComponentRegistry** | [`0x73a84585c058ca9405de94213033668a86032410`](https://explorer.testnet.chain.robinhood.com/address/0x73a84585c058ca9405de94213033668a86032410) | Ownerless, content-addressed registry for Track-B "scene" components — pieces whose trustless Track-A floor is a self-contained on-chain SVG (e.g. | [concepts/apps-directory](../concepts/apps-directory.md) · [concepts/rich-media-p5-three](../concepts/rich-media-p5-three.md) |
| **SceneFloor** | [`0x0f6bc7f01aaf7ad2147499a061fe4a3e10e37184`](https://explorer.testnet.chain.robinhood.com/address/0x0f6bc7f01aaf7ad2147499a061fe4a3e10e37184) | Ownerless, pure on-chain Track-A floor for the Harmonic and Sigil components. | [concepts/rich-media-p5-three](../concepts/rich-media-p5-three.md) |
| **SdfRenderLib** | [`0xb161c33751f3d87371559f5360ea5b0ea3dbffda`](https://explorer.testnet.chain.robinhood.com/address/0xb161c33751f3d87371559f5360ea5b0ea3dbffda) | The SDF scene's POSTER renderer — the bit-exact on-chain SVG still. |  |
| **SdfSceneResolver** | [`0xed43f8835740168f549541513ef06b98f45f61a3`](https://explorer.testnet.chain.robinhood.com/address/0xed43f8835740168f549541513ef06b98f45f61a3) | Slice 1 of the shader/SDF track — the *verifiable floor*. |  |
| **SourceRenderer** | [`0x8a3fd92807a7b50faf287033568fb1e14a93a2ea`](https://explorer.testnet.chain.robinhood.com/address/0x8a3fd92807a7b50faf287033568fb1e14a93a2ea) | Renders on-chain source text as an escaped, line-numbered code block — the provenance-made- visible component: a mini-app can show the exact code that produced it, read from the SAME immutable bytes as the render… | [reference/capabilities](../reference/capabilities.md) · [reference/feature-catalog](../reference/feature-catalog.md) |
| **SourceStoreFast** | [`0x9dd09d934f84165845c35eca6af4309d6aa08455`](https://explorer.testnet.chain.robinhood.com/address/0x9dd09d934f84165845c35eca6af4309d6aa08455) | Byte-for-byte identical behavior to SourceStore — same content-addressing (id = keccak256(source)), same idempotency, same ownerless/immutable/no-upgrade shape — but backed by ChunkedStoreFast, which removes the… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **StatementRegistry** | [`0x96fc2aa58ea0ff6f4bf0a809470f721532b21c53`](https://explorer.testnet.chain.robinhood.com/address/0x96fc2aa58ea0ff6f4bf0a809470f721532b21c53) | The immutable, audited VOCABULARY of provable statements. | [concepts/privacy](../concepts/privacy.md) |
| **StorageChunkFast** | [`0xe03b9a94c3266acd5b09003521a92f727ef9dba8`](https://explorer.testnet.chain.robinhood.com/address/0xe03b9a94c3266acd5b09003521a92f727ef9dba8) | Deploys a data chunk via a raw CREATE with a hand-built minimal initcode (Solmate-style SSTORE2), copying the payload exactly once with MCOPY — vs `new DataChunk(data)`, which ABI-decodes the constructor arg and then… |  |
| **StorageProfile** | [`0x36a443515b96b992ee397dfd9a533de72b70c3c9`](https://explorer.testnet.chain.robinhood.com/address/0x36a443515b96b992ee397dfd9a533de72b70c3c9) | The one place the per-chain storage-backend policy lives as concrete data. |  |
| **SubnameStakeRegistrarV2** | [`0x627e120abd54cef75f7b4340c9674a7245017f91`](https://explorer.testnet.chain.robinhood.com/address/0x627e120abd54cef75f7b4340c9674a7245017f91) | The v2 community-submission rail (docs/72 + docs/86 §5). | [concepts/apps-directory](../concepts/apps-directory.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **SubnameVersionRegistry** | [`0x47d3ce3e78a618eb3e3291ccfc881301e7e3fc4b`](https://explorer.testnet.chain.robinhood.com/address/0x47d3ce3e78a618eb3e3291ccfc881301e7e3fc4b) | Doc 111 — the versioned-subname resolver: the missing "safe app update" primitive. | [concepts/versioning](../concepts/versioning.md) · [contracts/architecture](../contracts/architecture.md) |
| **SvgAnim** | [`0xe006f48f4a0b026c9400af3e1fcf9b9a68c3d7e0`](https://explorer.testnet.chain.robinhood.com/address/0xe006f48f4a0b026c9400af3e1fcf9b9a68c3d7e0) | The declarative-animation companion to OpcodeInterpreterV3, held as an immutable (like ISvgLayout) so the CSS keyframe constants and the wrap/validate string logic live in their own bytecode rather than crowding the… | [reference/capabilities](../reference/capabilities.md) |
| **SvgLayoutFixed** | [`0x57406d925d08250dd705ad759a4d632f27d96863`](https://explorer.testnet.chain.robinhood.com/address/0x57406d925d08250dd705ad759a4d632f27d96863) | The constrained-first geometry provider: fixed template metrics for a 480-wide card. |  |
| **SwapFlowResolver** | [`0x7d96edc0ebe6ce9d443237cb379da14fde0b9eee`](https://explorer.testnet.chain.robinhood.com/address/0x7d96edc0ebe6ce9d443237cb379da14fde0b9eee) | Resolver for Example 4. Reports the flow's live state so the card can gate each step's button with a render condition: "stage" — args = abi.encode(flow, account) -> "approve" \| "swap" \| "done" "allowance" — args =… |  |
| **TableRenderer** | [`0x698a9a4ccb2555062ae433cdd7e727ab0d1b422c`](https://explorer.testnet.chain.robinhood.com/address/0x698a9a4ccb2555062ae433cdd7e727ab0d1b422c) | Data-table presentation for the app framework — the homogeneous-typed-rows counterpart to the grid LAYOUT (which arranges heterogeneous components). | [reference/capabilities](../reference/capabilities.md) · [reference/feature-catalog](../reference/feature-catalog.md) |
| **ThemeSetRegistry** | [`0xc12531dda28397f4b7582e5b5517829e264d8a80`](https://explorer.testnet.chain.robinhood.com/address/0xc12531dda28397f4b7582e5b5517829e264d8a80) | Ownerless, immutable, content-addressed INDEX over themes whose CSS lives in SourceStore. | [contracts/architecture](../contracts/architecture.md) · [contracts/registries](../contracts/registries.md) |
| **ThemeTokens** | [`0xcb33a04817a40deb1753b982e109a25672ca368a`](https://explorer.testnet.chain.robinhood.com/address/0xcb33a04817a40deb1753b982e109a25672ca368a) | ONE token source of truth. | [about/brand](../about/brand.md) · [contracts/architecture](../contracts/architecture.md) |
| **TicTacToeRules** | [`0x9e91108eac30b05dae4ff09a85efd7fc64c6dfba`](https://explorer.testnet.chain.robinhood.com/address/0x9e91108eac30b05dae4ff09a85efd7fc64c6dfba) | Tic-tac-toe for GameChannelV2 — the reference perfect-information `IGameRulesV2` (docs-site guides/multiplayer-and-lobbies.md walks through it). | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **TrustGrade** | [`0x7317cf8dea1a987943143d05c59fcc9369a34f45`](https://explorer.testnet.chain.robinhood.com/address/0x7317cf8dea1a987943143d05c59fcc9369a34f45) | The pure analysis core of the capability enforcer (docs 66 + 67, build-order step 1). | [contracts/architecture](../contracts/architecture.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **TrustGradeView** | [`0x3f83f8910d400c5bdbfc1cde9c929680c80ad5c1`](https://explorer.testnet.chain.robinhood.com/address/0x3f83f8910d400c5bdbfc1cde9c929680c80ad5c1) | External surface for TrustGrade — exposes the pure analyze() plus the constants, so the chainc mirror can be asserted equal (drift-guard) and tests can call the analysis on-chain. | [contracts/reading](../contracts/reading.md) · [contracts/verifying](../contracts/verifying.md) |
| **UniswapQuoteResolver** | [`0xa4aecfda263f6e11a7e9eb6284dc8bdfd3fea9b0`](https://explorer.testnet.chain.robinhood.com/address/0xa4aecfda263f6e11a7e9eb6284dc8bdfd3fea9b0) | Renders a Uniswap **V3 swap quote** during an `eth_call`: "if you swap `amountIn` of tokenIn, you'll receive ~`amountOut` of tokenOut" -- so a swap app can show the expected output *before* the user signs, instead of… | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **UniswapV3PositionResolver** | [`0x0924e43a90e71aa74926859a5c2050448935b407`](https://explorer.testnet.chain.robinhood.com/address/0x0924e43a90e71aa74926859a5c2050448935b407) | Renders a Uniswap **V3 liquidity position** (an LP NFT) during an `eth_call`: the pair, fee tier, tick range, liquidity, and uncollected fees owed. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **UniswapV3PriceResolver** | [`0x6e64564def60299af3ee2b08a9fb83dbc884b781`](https://explorer.testnet.chain.robinhood.com/address/0x6e64564def60299af3ee2b08a9fb83dbc884b781) | Reads a Uniswap V3 pool's **live spot price** during an `eth_call` render. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/rendering-uniswap-hooks](../concepts/rendering-uniswap-hooks.md) |
| **UniswapV4PriceResolver** | [`0xa666fc1bc3b23443ea86d2ce2acb7bad09d3f341`](https://explorer.testnet.chain.robinhood.com/address/0xa666fc1bc3b23443ea86d2ce2acb7bad09d3f341) | Reads a Uniswap **V4** pool's live spot price during an `eth_call` render. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/rendering-uniswap-hooks](../concepts/rendering-uniswap-hooks.md) |
| **VectorArtResolver** | [`0x17365f4a4b572d7159a1f63bf6b19fa013535b43`](https://explorer.testnet.chain.robinhood.com/address/0x17365f4a4b572d7159a1f63bf6b19fa013535b43) | High-fidelity, *designed* generative art — the answer to "on-chain doesn't have to mean blocky." Where GenArtResolver samples a grid (Truchet cells), this composes the smooth, resolution-independent primitives real… |  |
| **VouchReputationSource** | [`0x13e238174a95774F84A4eee92829e52F17B92d54`](https://explorer.testnet.chain.robinhood.com/address/0x13e238174a95774F84A4eee92829e52F17B92d54) | Reference IReputationSource adapter over an AddressAttestationRegistry: the signal is "does `attester` currently hold a VALID vouch for `subject` under `topic`?". |  |
| **Web3Serve** | [`0x574b2372f6bf61892b44c5ce9aecb9acd4ed4649`](https://explorer.testnet.chain.robinhood.com/address/0x574b2372f6bf61892b44c5ce9aecb9acd4ed4649) | Serves ChainRender components from-chain as web pages over `web3://` (ERC-4804 + ERC-5219) AND as an ERC-8244 contract-hosted application (`html()`). | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |

## Circle Arc Testnet (`5042002`)

| Contract | Address | What it is | Docs |
|---|---|---|---|
| **AavePositionResolver** | [`0xb728dd97a2afcf735fd91cab7803b081fddc22e1`](https://testnet.arcscan.app/address/0xb728dd97a2afcf735fd91cab7803b081fddc22e1) | Renders a user's **Aave V3 lending position** during an `eth_call`: collateral, debt, borrowing power, and **health factor** (the liquidation-risk number). | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **AaveReserveResolver** | [`0xe5a467e42e1cd92328eaf5baadc797a2fc595fc2`](https://testnet.arcscan.app/address/0xe5a467e42e1cd92328eaf5baadc797a2fc595fc2) | Reads an Aave v3 reserve's **live supply APY** during an `eth_call` render. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **ActionVocab** | [`0xc90a2a14f7a6382054dc704b0f30f3e0d124e082`](https://testnet.arcscan.app/address/0xc90a2a14f7a6382054dc704b0f30f3e0d124e082) | The write / action vocabulary — the last spine pillar, built ON TOP of the proven capability gate (`TrustGrade.gateAction`, rules R3-R6). | [contracts/architecture](../contracts/architecture.md) |
| **ActionVocabView** | [`0x9aca2f4aa2ea8096459ecd2fb9ec55273897a99c`](https://testnet.arcscan.app/address/0x9aca2f4aa2ea8096459ecd2fb9ec55273897a99c) | External surface for ActionVocab — exposes construct-for-sign + constants so the chainc mirror is drift-guarded and tests can exercise the vocabulary on-chain. |  |
| **AddressAttestationRegistry** | [`0x20d5AffBa80Ca923a9f979689F97CF37a5a1f12f`](https://testnet.arcscan.app/address/0x20d5AffBa80Ca923a9f979689F97CF37a5a1f12f) | The ownerless, permissionless REPUTATION primitive that fits ChainRender's ethos: **delegated address vouching**, never a global score. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [reference/resolvers](../reference/resolvers.md) |
| **AddressReputationResolver** | [`0x308a282cF97275a6f2CfCAb1101565C79660f24E`](https://testnet.arcscan.app/address/0x308a282cF97275a6f2CfCAb1101565C79660f24E) | Renders **delegated address reputation** from an AddressAttestationRegistry — a single attester's vouch, or a **transparent k-of-n tally** over an attester set the CALLER supplies. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [reference/resolvers](../reference/resolvers.md) |
| **AdvisoryRegistry** | [`0xe51b8679929f494a854292a72a32efa7ceed4735`](https://testnet.arcscan.app/address/0xe51b8679929f494a854292a72a32efa7ceed4735) | An append-only, permissionless, ownerless registry of signed advisories *about* content hashes (components / apps). | [contracts/architecture](../contracts/architecture.md) · [contracts/registries](../contracts/registries.md) |
| **AllocationResolver** | [`0x5b3c5818c228c5eef681bfd63cd94ff6c5fb3dbb`](https://testnet.arcscan.app/address/0x5b3c5818c228c5eef681bfd63cd94ff6c5fb3dbb) | Resolver hook (docs/15) for Example 3: reads a distributor's live allocation state — eligibility, allocation amount, claimed status — so the claim card shows the user exactly where they stand, read-only, before they… |  |
| **AppRegistry** | [`0xa2063a9404db6c14f6b06d4ae6c38a45c0550002`](https://testnet.arcscan.app/address/0xa2063a9404db6c14f6b06d4ae6c38a45c0550002) | A first-class, content-addressed store for **App Manifests** (App Capsules). | [concepts/composition](../concepts/composition.md) · [concepts/trust-signals](../concepts/trust-signals.md) |
| **ApprovalStateResolver** | [`0x1048c89a3e35657630c84a79c6518e4b957c17c7`](https://testnet.arcscan.app/address/0x1048c89a3e35657630c84a79c6518e4b957c17c7) | Renders whether a user has **approved** a spender for enough of a token to proceed -- so a DeFi app can gate its flow ("Approve" vs "Swap") instead of letting a user attempt a swap that will revert for lack of allowance. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **AttestationAdapter** | [`0x516f8af840abff8207e4d2ce29685fc98e96934e`](https://testnet.arcscan.app/address/0x516f8af840abff8207e4d2ce29685fc98e96934e) | The EAS adapter the registry's `attestationSchema` field was always meant to feed (docs 04/08). | [concepts/privacy](../concepts/privacy.md) · [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) |
| **AttesterRegistry** | [`0x2cdc0420575bb3c5ef44b6d53df394a1d1b4f841`](https://testnet.arcscan.app/address/0x2cdc0420575bb3c5ef44b6d53df394a1d1b4f841) | A curated, ownerless trust/reputation layer over the neutral AttestationAdapter. | [concepts/privacy](../concepts/privacy.md) · [contracts/architecture](../contracts/architecture.md) |
| **BoundCredentialResolver** | [`0xcf9661e2bc085f0d92b3b3e7111744b86a4b1906`](https://testnet.arcscan.app/address/0xcf9661e2bc085f0d92b3b3e7111744b86a4b1906) | Renders a BOUND, SINGLE-USE selective-disclosure credential. | [concepts/privacy](../concepts/privacy.md) |
| **CallResolver** | [`0x5fd40d4f2cf8c0b99ed4be5432ded64ea2477b24`](https://testnet.arcscan.app/address/0x5fd40d4f2cf8c0b99ed4be5432ded64ea2477b24) | A generic, read-only bridge from a component slot to ANY view function on ANY co-located contract. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/rendering-uniswap-hooks](../concepts/rendering-uniswap-hooks.md) |
| **ChainlinkChartSource** | [`0x7668e5a0187827634aa7531b93b59523a62e8bb6`](https://testnet.arcscan.app/address/0x7668e5a0187827634aa7531b93b59523a62e8bb6) | An `IChartData` source that turns a Chainlink (AggregatorV3-shaped) price feed into a live on-chain chart series. | [reference/ai-builder-rules](../reference/ai-builder-rules.md) · [reference/capabilities](../reference/capabilities.md) |
| **ChainlinkFeedResolver** | [`0xf44efda1e829edba06bb49529c00eaf10c23dd3c`](https://testnet.arcscan.app/address/0xf44efda1e829edba06bb49529c00eaf10c23dd3c) | Reads a Chainlink AggregatorV3 price feed **live during an `eth_call` render**. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **ChainProfile** | [`0xc522b19bfe2fbf69d2c7325bb63024fae493f416`](https://testnet.arcscan.app/address/0xc522b19bfe2fbf69d2c7325bb63024fae493f416) | The one and only place the current contract-size ceiling lives as a concrete number. | [concepts/l2-deployment-strategy](../concepts/l2-deployment-strategy.md) · [concepts/size-limits-and-glamsterdam](../concepts/size-limits-and-glamsterdam.md) |
| **ChainRenderResolver** | [`0x55bc71f4f1408c859126e71f43a0473ab19a012f`](https://testnet.arcscan.app/address/0x55bc71f4f1408c859126e71f43a0473ab19a012f) | ChainRenderResolver — ENSIP-10 wildcard resolver for `*.chainrender.eth`. | [guides/ens-integration](../guides/ens-integration.md) |
| **ChartRenderer** | [`0xfa9f5df6419eab3b180c18909d06f70a197c01a1`](https://testnet.arcscan.app/address/0xfa9f5df6419eab3b180c18909d06f70a197c01a1) | The fixed runtime for the chart vocabulary. | [contracts/deployed-contracts](../contracts/deployed-contracts.md) · [reference/feature-catalog](../reference/feature-catalog.md) |
| **ChartResolver** | [`0xefaef345573b54a9a45cb19911a968a8aee33bb9`](https://testnet.arcscan.app/address/0xefaef345573b54a9a45cb19911a968a8aee33bb9) | Resolver hook that builds an on-chain sparkline from a data series and returns it as a base64 data URI — so a chart of live on-chain data renders through the image slot, exactly like the generative NFT art. |  |
| **ChartSlotAdapter** | [`0xce00a7802cbe9a7923fbfcacc00fc6611d776510`](https://testnet.arcscan.app/address/0xce00a7802cbe9a7923fbfcacc00fc6611d776510) | Bridges the multi-arg ChartRenderer to the single resolver-hook interface (docs/15), so an on-chain chart can be a FIRST-CLASS REGISTERED component rendered live via `renderHash` — an image slot — instead of a… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) · [reference/ai-builder-rules](../reference/ai-builder-rules.md) |
| **ChunkedStoreFast** | [`0xfbab0327abd901c9932de84172981f8806a79d70`](https://testnet.arcscan.app/address/0xfbab0327abd901c9932de84172981f8806a79d70) | A drop-in optimized variant of `ChunkedStore.write`. |  |
| **ComponentAnnotationRegistry** | [`0xe73cdce4488fd96d381744ed7e5138175792d650`](https://testnet.arcscan.app/address/0xe73cdce4488fd96d381744ed7e5138175792d650) | An ownerless, immutable, append-only key-value metadata layer for registered components — the generic seam between an on-chain *capability declaration* and the *activation metadata* a client needs to act on it. | [concepts/trust-signals](../concepts/trust-signals.md) |
| **ComponentRegistryFast** | [`0x6e49b1dfd05248df06041ad17973de59d9e76c2b`](https://testnet.arcscan.app/address/0x6e49b1dfd05248df06041ad17973de59d9e76c2b) | Behavioral twin of ComponentRegistry — same IComponentRegistry surface, same content-addressing (hash = keccak256(blob)), same ownerless/append-only/no-overwrite shape — backed by ChunkedStoreFast so registration… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) · [getting-started/first-app](../getting-started/first-app.md) |
| **CompositionRegistry** | [`0xab628eb22bb731dccb75d981d186b03ac30bbd2e`](https://testnet.arcscan.app/address/0xab628eb22bb731dccb75d981d186b03ac30bbd2e) | Ownerless, append-only, content-addressed store of composition manifests. | [concepts/composition](../concepts/composition.md) · [concepts/trust-signals](../concepts/trust-signals.md) |
| **CompositionRouter** | [`0x416968063b679d1967d068ea3af26ede30b427e4`](https://testnet.arcscan.app/address/0x416968063b679d1967d068ea3af26ede30b427e4) | The ON-CHAIN COMPOSITOR. | [concepts/advanced-scenes](../concepts/advanced-scenes.md) · [guides/composing-apps](../guides/composing-apps.md) |
| **ComputeResolver** | [`0x94bc8ac61feb4cb453db044a2e868198e652627e`](https://testnet.arcscan.app/address/0x94bc8ac61feb4cb453db044a2e868198e652627e) | Computes a DERIVED value from on-chain reads on the floor — e.g. | [guides/app-contract](../guides/app-contract.md) · [reference/capabilities](../reference/capabilities.md) |
| **ControlRenderer** | [`0x0dd255cc365f001a8182b14f46570919253453ee`](https://testnet.arcscan.app/address/0x0dd255cc365f001a8182b14f46570919253453ee) | The fixed runtime for parameter-interaction controls. | [reference/capabilities](../reference/capabilities.md) · [reference/feature-catalog](../reference/feature-catalog.md) |
| **CreatureFloor** | [`0xc3f699be9ff55c629ba2458ac50cd63bcc870f94`](https://testnet.arcscan.app/address/0xc3f699be9ff55c629ba2458ac50cd63bcc870f94) | Ownerless, pure on-chain Track-A FLOOR for a cr-creatures creature: a deterministic, integer-only side-view wolf poster on a 700x700 viewBox — the Grade-A verifiable still. |  |
| **CredentialBadgeAdapter** | [`0x8a0db8e322033b53aedf5844efe31f9c4e2d32d8`](https://testnet.arcscan.app/address/0x8a0db8e322033b53aedf5844efe31f9c4e2d32d8) | Renders a credential resolver's ON-CHAIN verification as a badge IMAGE (SVG data-URI), so a zero-knowledge credential can be a FIRST-CLASS REGISTERED component rendered live via `renderHash`. |  |
| **CredentialBoundVerifier** | [`0x9cac9ffee7575923c9f704264808b7e6879aeddf`](https://testnet.arcscan.app/address/0x9cac9ffee7575923c9f704264808b7e6879aeddf) | snarkjs-generated Groth16 verifier for credential.circom (bound, single-use member-of-set). |  |
| **CredentialLifecycleResolver** | [`0x7b4fbd6813E84b592D056B85BFD271A781d46613`](https://testnet.arcscan.app/address/0x7b4fbd6813E84b592D056B85BFD271A781d46613) | Renders the LIFECYCLE status of a KYC/accreditation credential — VALID / EXPIRED / REVOKED / UNKNOWN — from a CredentialStatusRegistry, with **issuer-key binding** and **freshness (age / time-to-expiry)**. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [concepts/rwa-capabilities](../concepts/rwa-capabilities.md) |
| **CredentialResolver** | [`0x09e2d9e9947dc17ed0ee828df0c714080f98c4f7`](https://testnet.arcscan.app/address/0x09e2d9e9947dc17ed0ee828df0c714080f98c4f7) | Renders a SELECTIVE-DISCLOSURE credential: it verifies a zero-knowledge proof ON CHAIN and renders only the proven statement — never the private witness. | [concepts/privacy](../concepts/privacy.md) · [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) |
| **CredentialStatusRegistry** | [`0x298e4744367cA7A93cCE8444fF4a35fA5Cae9473`](https://testnet.arcscan.app/address/0x298e4744367cA7A93cCE8444fF4a35fA5Cae9473) | The ownerless, permissionless LIFECYCLE layer that makes a selective-disclosure credential usable for a real KYC/accreditation lifecycle: **issuer-key binding + expiry + revocation**. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [concepts/rwa-capabilities](../concepts/rwa-capabilities.md) |
| **CurvePoolResolver** | [`0x03bbcedbc9369b5208be8ffbfff24db8daae5e55`](https://testnet.arcscan.app/address/0x03bbcedbc9369b5208be8ffbfff24db8daae5e55) | Renders **Curve pool** state during an `eth_call`: a swap quote (`get_dy`) or a coin balance -- so an app can show expected Curve output / pool depth, broadening AMM coverage beyond Uniswap. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **DataBinder** | [`0xacc2833fed3ae32426db2648faf433b8c220acbd`](https://testnet.arcscan.app/address/0xacc2833fed3ae32426db2648faf433b8c220acbd) | App-level LATE data-binding: an app declares a closed set of on-chain read SOURCES (each an `IChainRenderResolver` — the same resolver-hook vocabulary the CRO2 interpreter uses) and binds view regions to them, so a… | [reference/capabilities](../reference/capabilities.md) |
| **DependencyRegistry** | [`0xae75db71dc78109f29b7946f65b3983a81e17686`](https://testnet.arcscan.app/address/0xae75db71dc78109f29b7946f65b3983a81e17686) | An ownerless, content-addressed manifest for large on-chain assets (JS libraries like p5.js / three.js) that exceed a single transaction's gas budget. | [concepts/apps-directory](../concepts/apps-directory.md) · [concepts/fully-on-chain](../concepts/fully-on-chain.md) |
| **EfpReputationSource** | [`0x1F608A2C41A7922e037DF57C4875c95CD7c10c5E`](https://testnet.arcscan.app/address/0x1F608A2C41A7922e037DF57C4875c95CD7c10c5E) | Reference IReputationSource adapter over EFP, sharing the EfpOps decoder with EfpResolver (one source of truth for the EFP encoding). |  |
| **EfpResolver** | [`0x2C5f20F11609Ed93D339DC359fC4Ff98D89Ce453`](https://testnet.arcscan.app/address/0x2C5f20F11609Ed93D339DC359fC4Ff98D89Ce453) | Renders **EFP forward social-graph reads** — does a given list follow / tag / block / mute a target address — as a fail-closed `READ_CHAIN` render, plus the list's raw op count. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [reference/resolvers](../reference/resolvers.md) |
| **EnsProfileResolver** | [`0xb0f91a0257b388c089d747be8e3d738652f8132d`](https://testnet.arcscan.app/address/0xb0f91a0257b388c089d747be8e3d738652f8132d) | The string adapter that turns the typed on-chain reads of EnsReader into slot values a ChainRender profile component can bind to. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [guides/ens-integration](../guides/ens-integration.md) |
| **EnsReader** | [`0xa5270bc183c1483230e86a51ef12c4c6065c5d2b`](https://testnet.arcscan.app/address/0xa5270bc183c1483230e86a51ef12c4c6065c5d2b) | The verifiable on-chain core of the ENS profile showcase. |  |
| **EnsRecordResolver** | [`0x34bcf31513b8c6c4aff3ef8e2e4f8003de0782e1`](https://testnet.arcscan.app/address/0x34bcf31513b8c6c4aff3ef8e2e4f8003de0782e1) | On-chain ENS record resolver hook (docs/15): reads a name's `addr` (EIP-137) or a `text` record (EIP-634) directly from its on-chain resolver and returns it as a string. | [guides/viewer-reads](../guides/viewer-reads.md) · [reference/data-sources](../reference/data-sources.md) |
| **EnsRegistryMock** | [`0x3d3fA2B60F35a0d0499F61CA286f8483344b2Dd9`](https://testnet.arcscan.app/address/0x3d3fA2B60F35a0d0499F61CA286f8483344b2Dd9) | **Test double (testnet only)** — not for production. A minimal ENS registry + resolver pair for hermetic tests. |  |
| **EnsV2Resolver** | [`0x0047e3a86d9b1cd12a63294c571b01f1f139e69c`](https://testnet.arcscan.app/address/0x0047e3a86d9b1cd12a63294c571b01f1f139e69c) | Renders an ENSv2 record live during an `eth_call`, honestly. | [reference/data-sources](../reference/data-sources.md) · [reference/resolvers](../reference/resolvers.md) |
| **EquivalenceRegistry** | [`0x81a04580a38412c4510c760729ad8db8bf56fbce`](https://testnet.arcscan.app/address/0x81a04580a38412c4510c760729ad8db8bf56fbce) | Trustless, append-only directory of **where a content-addressed app is deployed across chains**. |  |
| **Erc20BalanceResolver** | [`0x6b81b9aeff20e649135edcffdf0e9c79a5d3ac9e`](https://testnet.arcscan.app/address/0x6b81b9aeff20e649135edcffdf0e9c79a5d3ac9e) | On-chain resolver hook (docs/15) for ERC-20 token balances. | [reference/capabilities](../reference/capabilities.md) · [reference/data-sources](../reference/data-sources.md) |
| **Erc3643PermissionAdapter** | [`0x0E2e54a9d06947aAEa0f78d87F7dfCf411F7F5bC`](https://testnet.arcscan.app/address/0x0E2e54a9d06947aAEa0f78d87F7dfCf411F7F5bC) | Renders the COMPLIANCE STATE of an ERC-3643 permissioned security token — whether a holder is a verified (KYC'd) investor, whether they are frozen, whether the token is paused, and whether a given transfer would… | [concepts/rwa-capabilities](../concepts/rwa-capabilities.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **Erc721MetadataResolver** | [`0x578609db36f3e21f1d4e08ec60bd89944f58f70b`](https://testnet.arcscan.app/address/0x578609db36f3e21f1d4e08ec60bd89944f58f70b) | Resolver hook (docs/15) for fully on-chain NFTs. | [reference/data-sources](../reference/data-sources.md) |
| **EthBalanceResolver** | [`0xfe5ac3ef78100c5bad73be10de68f10cd299761f`](https://testnet.arcscan.app/address/0xfe5ac3ef78100c5bad73be10de68f10cd299761f) | A first, self-contained on-chain resolver hook (docs/15): given a 20-byte account address as args, it returns that account's live ETH balance formatted to 4 decimals. |  |
| **GameChannel** | [`0xef8f4425be0fe58c42c61c6db34ef1dd1429c27d`](https://testnet.arcscan.app/address/0xef8f4425be0fe58c42c61c6db34ef1dd1429c27d) | Ownerless, immutable base for turn-based multi-user games where play happens CLIENT-SIDE (fast, free, off-chain) and the final state settles ON-CHAIN together with a VERIFIABLE signed move history. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **GameChannelV2** | [`0xce21eefbc8ed77b1745d2ff06c1c7bc6447e7e80`](https://testnet.arcscan.app/address/0xce21eefbc8ed77b1745d2ff06c1c7bc6447e7e80) | Ownerless, immutable two-player game channel: play is peer-to-peer (each move signed by its mover, EIP-712), and the chain settles the result from the signed moves, replayed through the game's pure `IGameRulesV2`. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/app-contract](../guides/app-contract.md) |
| **GameLobby** | [`0xfafe4b4f46c9595282105e498666f1a9d40e77c0`](https://testnet.arcscan.app/address/0xfafe4b4f46c9595282105e498666f1a9d40e77c0) | Ownerless, immutable, game-agnostic on-chain lobby: players create and join **offers**. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **GameLobbyV2** | [`0x57c9c2b660b3ac6ffd5b2c2e3ffab369104f79f9`](https://testnet.arcscan.app/address/0x57c9c2b660b3ac6ffd5b2c2e3ffab369104f79f9) | Ownerless, immutable on-chain waiting room for two-player games settled by `GameChannelV2`. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/app-contract](../guides/app-contract.md) |
| **GameMoveBoard** | [`0xb4603e8daa78af99b26d6653167a8245cc850f6c`](https://testnet.arcscan.app/address/0xb4603e8daa78af99b26d6653167a8245cc850f6c) | A serverless mailbox for peer-to-peer games: `post` emits the payload as an event and stores nothing. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **GenArtResolver** | [`0x421d056aa04f7d5fe22a55b3edfb64f5560b12f5`](https://testnet.arcscan.app/address/0x421d056aa04f7d5fe22a55b3edfb64f5560b12f5) | A deterministic generative-art resolver — the generalization of the identicon pattern. |  |
| **GradientIdenticonResolver** | [`0x9d44e8ca03af3290276361287a909be11e8de668`](https://testnet.arcscan.app/address/0x9d44e8ca03af3290276361287a909be11e8de668) | The *designed* identicon — the retrofit of the blocky 5×5 avatar into smooth, resolution- independent form, while keeping the exact same fingerprint logic (a mirrored grid of hash bits, so it still reads as a unique… | [about/brand](../about/brand.md) |
| **GradientResolver** | [`0x4bdc5bb770002d15487c48773a7921c93659175d`](https://testnet.arcscan.app/address/0x4bdc5bb770002d15487c48773a7921c93659175d) | A reusable *designed cover* — a smooth, identity-derived gradient banner for profiles and cards. |  |
| **IdenticonResolver** | [`0x2d88446c6a63ef528f978f6e5c5fc4c2b5532ce5`](https://testnet.arcscan.app/address/0x2d88446c6a63ef528f978f6e5c5fc4c2b5532ce5) | A fully on-chain, deterministic identicon: given an address, it derives a symmetric 5x5 vector avatar from keccak(address) and returns it as a `data:image/svg+xml` URI for the image slot. |  |
| **IdentityResolver** | [`0x8b095ffb44ac105e46b60fe493bc440ff9f21ccf`](https://testnet.arcscan.app/address/0x8b095ffb44ac105e46b60fe493bc440ff9f21ccf) | An identity/privacy resolver hook (docs 04, docs/17): it renders identity *claims* about an address — "is this address a verified human?", "what display name has it claimed?" — by reading attestations through the… |  |
| **ImmutableAttesterSet** | [`0xb30d7a89d41fe5737751c3b0fa569fbe42475c79`](https://testnet.arcscan.app/address/0xb30d7a89d41fe5737751c3b0fa569fbe42475c79) | An ownerless, immutable curated set of attester addresses. |  |
| **InterpreterV1** | [`0xde3025df65e4c3b2ab084f9cf189f56d3b00d0b5`](https://testnet.arcscan.app/address/0xde3025df65e4c3b2ab084f9cf189f56d3b00d0b5) | The Phase 1 button format, preserved verbatim as interpreter version 1 so that RenderRouter can keep rendering Phase 1 components forever after version 2 ships — the "never delete, always add alongside" rule… |  |
| **LayoutRenderer** | [`0x00361e3701f9195add19d5b6972fc1de33a304cb`](https://testnet.arcscan.app/address/0x00361e3701f9195add19d5b6972fc1de33a304cb) | The fixed runtime for composition-level responsive layout. | [reference/feature-catalog](../reference/feature-catalog.md) · [reference/style-tokens](../reference/style-tokens.md) |
| **MemberSetVerifier** | [`0xde3c69f777f27a336ee526a2e18ccd16cf0230da`](https://testnet.arcscan.app/address/0xde3c69f777f27a336ee526a2e18ccd16cf0230da) | snarkjs-generated Groth16 verifier for member.circom. | [concepts/privacy](../concepts/privacy.md) |
| **MockAggregator** | [`0x067e0f0ffd4c2c6ffdb0db87473a56a64606e30c`](https://testnet.arcscan.app/address/0x067e0f0ffd4c2c6ffdb0db87473a56a64606e30c) | **Test double (testnet only)** — not for production. A test double for a Chainlink AggregatorV3 price feed — used by tests and the Explorer seed to exercise OracleFeedResolver. |  |
| **MockEAS** | [`0x834d12e7d4ef5addcc2bd220e8f3cee663be57da`](https://testnet.arcscan.app/address/0x834d12e7d4ef5addcc2bd220e8f3cee663be57da) | **Test double (testnet only)** — not for production. A tiny stand-in for the Ethereum Attestation Service used by the attestation adapter's tests and the Explorer seed. |  |
| **MockENSRegistry** | [`0x79856e566453b1091875f527bb8f5e2edf55db60`](https://testnet.arcscan.app/address/0x79856e566453b1091875f527bb8f5e2edf55db60) | **Test double (testnet only)** — not for production. A tiny stand-in for the ENS registry's node -> resolver mapping, used by the ENS record resolver's tests and by the Explorer seed. |  |
| **MockERC20** | [`0xd0d4bea65369a4e7485920576c80e4934143b268`](https://testnet.arcscan.app/address/0xd0d4bea65369a4e7485920576c80e4934143b268) | **Test double (testnet only)** — not for production. A deliberately tiny, mintable ERC-20 used by the ERC-20 balance resolver's tests and by the Explorer seed to demonstrate live on-chain token-balance resolution. |  |
| **MockPublicResolver** | [`0xb02ca3ca2029a690467de9cc17a50b19f2f2787b`](https://testnet.arcscan.app/address/0xb02ca3ca2029a690467de9cc17a50b19f2f2787b) | **Test double (testnet only)** — not for production. A minimal on-chain resolver storing `addr` and `text` records directly (no CCIP-Read), like the ENS Public Resolver. |  |
| **MultiCallResolver** | [`0xb966fcb3ab08ee5726b455cacada1bc21d5632c9`](https://testnet.arcscan.app/address/0xb966fcb3ab08ee5726b455cacada1bc21d5632c9) | Reads several co-located view functions in one slot and combines them — JOIN (formatted list), SUM / MIN / MAX (numeric reduction), or COUNT (successful reads). | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/rendering-uniswap-hooks](../concepts/rendering-uniswap-hooks.md) |
| **MultiViewRouter** | [`0x5f1cfa85d902aaf18e20f21092731285281e6bdc`](https://testnet.arcscan.app/address/0x5f1cfa85d902aaf18e20f21092731285281e6bdc) | The fixed runtime that interprets a MultiView (in-app routing). | [guides/nft-collection-frontend](../guides/nft-collection-frontend.md) · [reference/templates](../reference/templates.md) |
| **NftImageResolver** | [`0xf4b185dace321fa204f8f3f597a503c549035296`](https://testnet.arcscan.app/address/0xf4b185dace321fa204f8f3f597a503c549035296) | The on-chain NFT media path: reference an NFT by `(contract, tokenId)` and resolve its art for the image slot — but only when the art is GENUINELY on-chain. | [guides/nft-collection-frontend](../guides/nft-collection-frontend.md) · [reference/capabilities](../reference/capabilities.md) |
| **NullifierRegistry** | [`0x0ac2e0e2c08ea254015c3dd34b44560385acf5f5`](https://testnet.arcscan.app/address/0x0ac2e0e2c08ea254015c3dd34b44560385acf5f5) | The ownerless, permissionless spent-set that makes a selective-disclosure credential SINGLE-USE and NON-TRANSFERABLE. | [concepts/messaging-privacy](../concepts/messaging-privacy.md) · [concepts/privacy](../concepts/privacy.md) |
| **OpcodeFormat** | [`0xaf4d70017e501ddd045673adb2e48d94f73d8399`](https://testnet.arcscan.app/address/0xaf4d70017e501ddd045673adb2e48d94f73d8399) | The canonical dictionary of tag, attribute, and value IDs for ChainRender's real opcode format, version 2 (CRO2) — the format chainc compiles Tier 0 components into, replacing the Phase 1 single-tag placeholder. |  |
| **OpcodeFormatView** | [`0xb34f65ffcfc57b338472a1fc6e57eaf3608c799a`](https://testnet.arcscan.app/address/0xb34f65ffcfc57b338472a1fc6e57eaf3608c799a) | A tiny pure introspection contract that exposes the OpcodeFormat library constants as return values, so the off-chain compiler's mirror (chainc/format.ts) can be checked against the on-chain source of truth in… |  |
| **OpcodeInterpreterV2** | [`0x0322b911900cb42694899eb06469c786f52e064c`](https://testnet.arcscan.app/address/0x0322b911900cb42694899eb06469c786f52e064c) | The real ChainRender interpreter (BUILD_PROMPT.md step 4): walks the CRO2 opcode format defined in OpcodeFormat.sol, resolves REF nodes against the shared ComponentRegistry as it goes, and emits HTML — all in a… |  |
| **OpcodeInterpreterV3** | [`0xb4ce7Eb20c650603a876900B5f7971A9018128cF`](https://testnet.arcscan.app/address/0xb4ce7Eb20c650603a876900B5f7971A9018128cF) | A SECOND render target for the SAME CRO2 format: it walks the identical component bytes the HTML interpreter reads and emits a self-contained **SVG document** — an image that is the UI, embeddable in any feed / <img>… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **OpcodeInterpreterV3Html** | [`0x79518757d3717c371961b7f8870e1416b39c9c72`](https://testnet.arcscan.app/address/0x79518757d3717c371961b7f8870e1416b39c9c72) | The real ChainRender interpreter (BUILD_PROMPT.md step 4): walks the CRO2 opcode format defined in OpcodeFormat.sol, resolves REF nodes against the shared ComponentRegistry as it goes, and emits HTML — all in a… | [contracts/architecture](../contracts/architecture.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **OpcodeInterpreterV4Html** | [`0xa4349577c1815432cf892d6deafd21048732f043`](https://testnet.arcscan.app/address/0xa4349577c1815432cf892d6deafd21048732f043) | The real ChainRender interpreter (BUILD_PROMPT.md step 4): walks the CRO2 opcode format defined in OpcodeFormat.sol, resolves REF nodes against the shared ComponentRegistry as it goes, and emits HTML — all in a… |  |
| **OpcodeInterpreterV5Html** | [`0x21310c70f5dc19ee3c0b4bfb9764756fc43765fb`](https://testnet.arcscan.app/address/0x21310c70f5dc19ee3c0b4bfb9764756fc43765fb) | The VERSION_5 HTML interpreter (docs/202): OpcodeInterpreterV4Html plus the presentation channels — style tokens (ATTR_STYLE -> class="cr-t cr-t-<token> ..."), viewer hints (ATTR_HINTS -> data-cr-h-<key>="<value>"),… | [concepts/theming](../concepts/theming.md) · [reference/sdk-client](../reference/sdk-client.md) |
| **OracleFeedResolver** | [`0x5b5bf005d7313b2c25301e37bd9af5367dde8b27`](https://testnet.arcscan.app/address/0x5b5bf005d7313b2c25301e37bd9af5367dde8b27) | Turns an off-chain datum that an oracle has ALREADY written on chain into a floor-honest render. | [reference/resolvers](../reference/resolvers.md) |
| **PointCloudResolver** | [`0x9af1aeb38731f3605889fa7fcec9536d97e7f73d`](https://testnet.arcscan.app/address/0x9af1aeb38731f3605889fa7fcec9536d97e7f73d) | Resolver for the parametric point-cloud scene. |  |
| **PointCloudView** | [`0xae50f78a3d5981c4952dbd41df3798f743e4f5c7`](https://testnet.arcscan.app/address/0xae50f78a3d5981c4952dbd41df3798f743e4f5c7) | External surface for PointCloudLib — exposes the generator/palette constants (so the chainc mirror is drift-guarded) and the SVG poster (the floor) for tests. |  |
| **PortfolioResolver** | [`0x40abb07e0cd476e7a964cb0798a1968b48e7efdb`](https://testnet.arcscan.app/address/0x40abb07e0cd476e7a964cb0798a1968b48e7efdb) | Renders an **aggregated total** across many on-chain numeric reads -- e.g. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **ProgressResolver** | [`0x12b9a8f8fa4d5cb01ab8bf76faacdcfb45c5e269`](https://testnet.arcscan.app/address/0x12b9a8f8fa4d5cb01ab8bf76faacdcfb45c5e269) | A computed, fully-on-chain progress bar: given a target contract and two view selectors (a `current` and a `total`), it STATICCALLs both, computes the fill fraction, and renders a bar as a `data:image/svg+xml` URI… |  |
| **ProofOfReserveResolver** | [`0x551f0C6e8dc8e2a51d671b73E1d6F5b14433a6B0`](https://testnet.arcscan.app/address/0x551f0C6e8dc8e2a51d671b73E1d6F5b14433a6B0) | Renders **Proof of Reserve** for a tokenized real-world asset: the reserves an oracle has attested on chain, the token's on-chain `totalSupply()`, and the **coverage ratio** (reserves ÷ supply) — the one number that… | [concepts/rwa-capabilities](../concepts/rwa-capabilities.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **ProtocolStatResolver** | [`0x6e635ce733f823cedc61cc1910a1fd346f3a5c78`](https://testnet.arcscan.app/address/0x6e635ce733f823cedc61cc1910a1fd346f3a5c78) | Resolver hook (docs/15) for Example 2: reads a lending pool's live position — collateral, debt, health factor, APR — and formats it for display. |  |
| **ProvenanceRegistry** | [`0xe491c29a114573afd80e0e88f6a45add4a4d5db3`](https://testnet.arcscan.app/address/0xe491c29a114573afd80e0e88f6a45add4a4d5db3) | Trustless, append-only record of **authorship** for content-addressed artifacts (app hashes, component hashes, library hashes). | [concepts/payments](../concepts/payments.md) |
| **PublicGoodsTreasury** | [`0xe85ff4d97a2e7d98e02dab118c8c8960f76d4d7b`](https://testnet.arcscan.app/address/0xe85ff4d97a2e7d98e02dab118c8c8960f76d4d7b) | An OWNERLESS sink for slashed community-rail stakes (docs/72 §5, docs/74). | [resources/roadmap-governance](../resources/roadmap-governance.md) |
| **ReadFormat** | [`0x6b34cb4f4b2e5d2170768c731fcdfa59a9ea441f`](https://testnet.arcscan.app/address/0x6b34cb4f4b2e5d2170768c731fcdfa59a9ea441f) | Shared decode + format helpers for the generic on-chain readers (CallResolver, MultiCallResolver). | [concepts/rendering-uniswap-hooks](../concepts/rendering-uniswap-hooks.md) · [reference/resolvers](../reference/resolvers.md) |
| **Renderer** | [`0xbf7a307ddddca76b4783aebf0cafd7c7e47fface`](https://testnet.arcscan.app/address/0xbf7a307ddddca76b4783aebf0cafd7c7e47fface) | Phase 1 proof-of-concept interpreter for ChainRender's core claim: a compiled UI component, once written to storage, can be rendered for free, forever, by calling this contract's `render` function as a view call… | [concepts/overview](../concepts/overview.md) · [reference/feature-catalog](../reference/feature-catalog.md) |
| **RenderRouter** | [`0xbfa38b3bcc0fbb32facffc497bbc38af4b587382`](https://testnet.arcscan.app/address/0xbfa38b3bcc0fbb32facffc497bbc38af4b587382) | The version-dispatching entry point for rendering (BUILD_PROMPT.md step 4). | [concepts/building-correctly](../concepts/building-correctly.md) · [concepts/fully-on-chain](../concepts/fully-on-chain.md) |
| **ReputationAggregateResolver** | [`0x3c152AE4FBA6f7021283b08a15c4abA6f8b8CAF0`](https://testnet.arcscan.app/address/0x3c152AE4FBA6f7021283b08a15c4abA6f8b8CAF0) | Composes MANY reputation sources — EFP, address vouches, EAS, ERC-725/735, any future source — through the uniform IReputationSource seam, and renders a **transparent k-of-n tally** with an honest, capped grade. | [concepts/reputation-capabilities](../concepts/reputation-capabilities.md) · [reference/resolvers](../reference/resolvers.md) |
| **RockPaperScissorsRules** | [`0x001c2b0903b5422d4aa001c2a9fa32f2ea0b3c6d`](https://testnet.arcscan.app/address/0x001c2b0903b5422d4aa001c2a9fa32f2ea0b3c6d) | A REAL hidden-information game demonstrating commit-reveal: both players COMMIT their choice (hidden), then REVEAL it. | [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **RockPaperScissorsRulesV2** | [`0x20893a1525f93014cc5a52129bd3904f10192380`](https://testnet.arcscan.app/address/0x20893a1525f93014cc5a52129bd3904f10192380) | Rock-paper-scissors for GameChannelV2: a hidden-information game played by commit-reveal. | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **RouteRenderer** | [`0xb034d792a5a3e233ad1a3e7d81934cf180717bf4`](https://testnet.arcscan.app/address/0xb034d792a5a3e233ad1a3e7d81934cf180717bf4) | Built ONCE to the widest shape: it walks legs generically, so 1 leg renders as a simple direct path and N legs render as a multi-hop / split diagram through the IDENTICAL code path. | [reference/feature-catalog](../reference/feature-catalog.md) · [reference/resolvers](../reference/resolvers.md) |
| **SceneComponentRegistry** | [`0x73a84585c058ca9405de94213033668a86032410`](https://testnet.arcscan.app/address/0x73a84585c058ca9405de94213033668a86032410) | Ownerless, content-addressed registry for Track-B "scene" components — pieces whose trustless Track-A floor is a self-contained on-chain SVG (e.g. | [concepts/apps-directory](../concepts/apps-directory.md) · [concepts/rich-media-p5-three](../concepts/rich-media-p5-three.md) |
| **SceneFloor** | [`0x0f6bc7f01aaf7ad2147499a061fe4a3e10e37184`](https://testnet.arcscan.app/address/0x0f6bc7f01aaf7ad2147499a061fe4a3e10e37184) | Ownerless, pure on-chain Track-A floor for the Harmonic and Sigil components. | [concepts/rich-media-p5-three](../concepts/rich-media-p5-three.md) |
| **SdfRenderLib** | [`0xb161c33751f3d87371559f5360ea5b0ea3dbffda`](https://testnet.arcscan.app/address/0xb161c33751f3d87371559f5360ea5b0ea3dbffda) | The SDF scene's POSTER renderer — the bit-exact on-chain SVG still. |  |
| **SdfSceneResolver** | [`0xed43f8835740168f549541513ef06b98f45f61a3`](https://testnet.arcscan.app/address/0xed43f8835740168f549541513ef06b98f45f61a3) | Slice 1 of the shader/SDF track — the *verifiable floor*. |  |
| **SourceRenderer** | [`0x8a3fd92807a7b50faf287033568fb1e14a93a2ea`](https://testnet.arcscan.app/address/0x8a3fd92807a7b50faf287033568fb1e14a93a2ea) | Renders on-chain source text as an escaped, line-numbered code block — the provenance-made- visible component: a mini-app can show the exact code that produced it, read from the SAME immutable bytes as the render… | [reference/capabilities](../reference/capabilities.md) · [reference/feature-catalog](../reference/feature-catalog.md) |
| **SourceStoreFast** | [`0x9dd09d934f84165845c35eca6af4309d6aa08455`](https://testnet.arcscan.app/address/0x9dd09d934f84165845c35eca6af4309d6aa08455) | Byte-for-byte identical behavior to SourceStore — same content-addressing (id = keccak256(source)), same idempotency, same ownerless/immutable/no-upgrade shape — but backed by ChunkedStoreFast, which removes the… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **StatementRegistry** | [`0x96fc2aa58ea0ff6f4bf0a809470f721532b21c53`](https://testnet.arcscan.app/address/0x96fc2aa58ea0ff6f4bf0a809470f721532b21c53) | The immutable, audited VOCABULARY of provable statements. | [concepts/privacy](../concepts/privacy.md) |
| **StorageChunkFast** | [`0xe03b9a94c3266acd5b09003521a92f727ef9dba8`](https://testnet.arcscan.app/address/0xe03b9a94c3266acd5b09003521a92f727ef9dba8) | Deploys a data chunk via a raw CREATE with a hand-built minimal initcode (Solmate-style SSTORE2), copying the payload exactly once with MCOPY — vs `new DataChunk(data)`, which ABI-decodes the constructor arg and then… |  |
| **StorageProfile** | [`0x36a443515b96b992ee397dfd9a533de72b70c3c9`](https://testnet.arcscan.app/address/0x36a443515b96b992ee397dfd9a533de72b70c3c9) | The one place the per-chain storage-backend policy lives as concrete data. |  |
| **SubnameStakeRegistrarV2** | [`0x627e120abd54cef75f7b4340c9674a7245017f91`](https://testnet.arcscan.app/address/0x627e120abd54cef75f7b4340c9674a7245017f91) | The v2 community-submission rail (docs/72 + docs/86 §5). | [concepts/apps-directory](../concepts/apps-directory.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **SubnameVersionRegistry** | [`0x47d3ce3e78a618eb3e3291ccfc881301e7e3fc4b`](https://testnet.arcscan.app/address/0x47d3ce3e78a618eb3e3291ccfc881301e7e3fc4b) | Doc 111 — the versioned-subname resolver: the missing "safe app update" primitive. | [concepts/versioning](../concepts/versioning.md) · [contracts/architecture](../contracts/architecture.md) |
| **SvgAnim** | [`0xe006f48f4a0b026c9400af3e1fcf9b9a68c3d7e0`](https://testnet.arcscan.app/address/0xe006f48f4a0b026c9400af3e1fcf9b9a68c3d7e0) | The declarative-animation companion to OpcodeInterpreterV3, held as an immutable (like ISvgLayout) so the CSS keyframe constants and the wrap/validate string logic live in their own bytecode rather than crowding the… | [reference/capabilities](../reference/capabilities.md) |
| **SvgLayoutFixed** | [`0x57406d925d08250dd705ad759a4d632f27d96863`](https://testnet.arcscan.app/address/0x57406d925d08250dd705ad759a4d632f27d96863) | The constrained-first geometry provider: fixed template metrics for a 480-wide card. |  |
| **SwapFlowResolver** | [`0x7d96edc0ebe6ce9d443237cb379da14fde0b9eee`](https://testnet.arcscan.app/address/0x7d96edc0ebe6ce9d443237cb379da14fde0b9eee) | Resolver for Example 4. Reports the flow's live state so the card can gate each step's button with a render condition: "stage" — args = abi.encode(flow, account) -> "approve" \| "swap" \| "done" "allowance" — args =… |  |
| **TableRenderer** | [`0x698a9a4ccb2555062ae433cdd7e727ab0d1b422c`](https://testnet.arcscan.app/address/0x698a9a4ccb2555062ae433cdd7e727ab0d1b422c) | Data-table presentation for the app framework — the homogeneous-typed-rows counterpart to the grid LAYOUT (which arranges heterogeneous components). | [reference/capabilities](../reference/capabilities.md) · [reference/feature-catalog](../reference/feature-catalog.md) |
| **ThemeSetRegistry** | [`0xc12531dda28397f4b7582e5b5517829e264d8a80`](https://testnet.arcscan.app/address/0xc12531dda28397f4b7582e5b5517829e264d8a80) | Ownerless, immutable, content-addressed INDEX over themes whose CSS lives in SourceStore. | [contracts/architecture](../contracts/architecture.md) · [contracts/registries](../contracts/registries.md) |
| **ThemeTokens** | [`0xcb33a04817a40deb1753b982e109a25672ca368a`](https://testnet.arcscan.app/address/0xcb33a04817a40deb1753b982e109a25672ca368a) | ONE token source of truth. | [about/brand](../about/brand.md) · [contracts/architecture](../contracts/architecture.md) |
| **TicTacToeRules** | [`0xbb9b22c237129201ae2aeba8e5e688b306c8c9a1`](https://testnet.arcscan.app/address/0xbb9b22c237129201ae2aeba8e5e688b306c8c9a1) | Tic-tac-toe for GameChannelV2 — the reference perfect-information `IGameRulesV2` (docs-site guides/multiplayer-and-lobbies.md walks through it). | [contracts/security-and-reviews](../contracts/security-and-reviews.md) · [guides/multiplayer-and-lobbies](../guides/multiplayer-and-lobbies.md) |
| **TrustGrade** | [`0x7317cf8dea1a987943143d05c59fcc9369a34f45`](https://testnet.arcscan.app/address/0x7317cf8dea1a987943143d05c59fcc9369a34f45) | The pure analysis core of the capability enforcer (docs 66 + 67, build-order step 1). | [contracts/architecture](../contracts/architecture.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **TrustGradeView** | [`0x3f83f8910d400c5bdbfc1cde9c929680c80ad5c1`](https://testnet.arcscan.app/address/0x3f83f8910d400c5bdbfc1cde9c929680c80ad5c1) | External surface for TrustGrade — exposes the pure analyze() plus the constants, so the chainc mirror can be asserted equal (drift-guard) and tests can call the analysis on-chain. | [contracts/reading](../contracts/reading.md) · [contracts/verifying](../contracts/verifying.md) |
| **UniswapQuoteResolver** | [`0xa4aecfda263f6e11a7e9eb6284dc8bdfd3fea9b0`](https://testnet.arcscan.app/address/0xa4aecfda263f6e11a7e9eb6284dc8bdfd3fea9b0) | Renders a Uniswap **V3 swap quote** during an `eth_call`: "if you swap `amountIn` of tokenIn, you'll receive ~`amountOut` of tokenOut" -- so a swap app can show the expected output *before* the user signs, instead of… | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/sepolia-defi-addresses](../concepts/sepolia-defi-addresses.md) |
| **UniswapV3PositionResolver** | [`0x0924e43a90e71aa74926859a5c2050448935b407`](https://testnet.arcscan.app/address/0x0924e43a90e71aa74926859a5c2050448935b407) | Renders a Uniswap **V3 liquidity position** (an LP NFT) during an `eth_call`: the pair, fee tier, tick range, liquidity, and uncollected fees owed. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **UniswapV3PriceResolver** | [`0x6e64564def60299af3ee2b08a9fb83dbc884b781`](https://testnet.arcscan.app/address/0x6e64564def60299af3ee2b08a9fb83dbc884b781) | Reads a Uniswap V3 pool's **live spot price** during an `eth_call` render. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/rendering-uniswap-hooks](../concepts/rendering-uniswap-hooks.md) |
| **UniswapV4PriceResolver** | [`0xa666fc1bc3b23443ea86d2ce2acb7bad09d3f341`](https://testnet.arcscan.app/address/0xa666fc1bc3b23443ea86d2ce2acb7bad09d3f341) | Reads a Uniswap **V4** pool's live spot price during an `eth_call` render. | [concepts/defi-capabilities](../concepts/defi-capabilities.md) · [concepts/rendering-uniswap-hooks](../concepts/rendering-uniswap-hooks.md) |
| **VectorArtResolver** | [`0x17365f4a4b572d7159a1f63bf6b19fa013535b43`](https://testnet.arcscan.app/address/0x17365f4a4b572d7159a1f63bf6b19fa013535b43) | High-fidelity, *designed* generative art — the answer to "on-chain doesn't have to mean blocky." Where GenArtResolver samples a grid (Truchet cells), this composes the smooth, resolution-independent primitives real… |  |
| **VouchReputationSource** | [`0x0e3cF3Aa7Df6Dd417755FE0AE28098Fc3629D688`](https://testnet.arcscan.app/address/0x0e3cF3Aa7Df6Dd417755FE0AE28098Fc3629D688) | Reference IReputationSource adapter over an AddressAttestationRegistry: the signal is "does `attester` currently hold a VALID vouch for `subject` under `topic`?". |  |
| **Web3Serve** | [`0x574b2372f6bf61892b44c5ce9aecb9acd4ed4649`](https://testnet.arcscan.app/address/0x574b2372f6bf61892b44c5ce9aecb9acd4ed4649) | Serves ChainRender components from-chain as web pages over `web3://` (ERC-4804 + ERC-5219) AND as an ERC-8244 contract-hosted application (`html()`). | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |

## Cross-chain stacks (Milestones 1–4)

Recorded per milestone in `deployments/xchain-m*-<chainId>.json` (the chain id in the file name is where the milestone was run from; a milestone deploys on both Sepolia and Robinhood). Which chain hosts each contract, and how they connect, is in **[Proven Balances (Cross-Chain)](../concepts/cross-chain-balances.md)**; `HashTimelockSwap` and the token factories use the same address on both chains (CreateX).

### M1 — `deployments/xchain-m1-11155111.json`

| Contract | Address | What it is | Docs |
|---|---|---|---|
| **CanonicalTokenFactory** | `0x8d65a1128d410641ca86a4fa96a0e0015c579806` | Ownerless factory for doc 175 home tokens (docs/176 §3.7). | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **SameChainRootSource** | `0xf8cdb83a52d275925b7305a3e596d8920b30bf1e` | Root source where the source chain IS the host chain (docs/176 §3.4). | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **XchainBalanceCache** | `0xfac774e199684ac13c002168c1a7a96adfdc9c72` | Proof-verified cache of home-token balances (docs/176 §3.9). | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **XchainBalanceResolver** | `0x795864a65debca3d50945439aac90d043109e77e` | Render resolver for kind "xchain-balance" (docs/176 §3.9): renders a proven home-token balance from ONE immutable XchainBalanceCache, with its block, age, grade and host chain: "<amount> <SYMBOL> · proven @ block <N>… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **ScopeDisclosureResolver** | `0xb42f3b2b14270b3bd0190a17776274908ae511b0` | Render resolver for kind "scope-disclosure" (doc 175 X7, docs/176 §4.2): renders what a subject's grade does NOT establish, read from its IScopeDisclosure, as "does not establish: <item> · <item> · …" Fails closed to… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |

### M2 — `deployments/xchain-m2-46630.json`

| Contract | Address | What it is | Docs |
|---|---|---|---|
| **ArbParentRootSource** | `0xd8E53aBe4b6E23D3FcEbE200d32EBA305162Ff9c` | runs on an Arbitrum CHILD chain (Robinhood testnet). | [concepts/cross-chain-balances](../concepts/cross-chain-balances.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **ArbRootSender** | `0xCe1A5aDf4228CE63CE00d0bbf68f9fB8dEbA06Fc` | runs on the PARENT chain (Sepolia). | [concepts/cross-chain-balances](../concepts/cross-chain-balances.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **XchainBalanceCache** | `0x492729b97f6c02d4ffba942d59ca2c082b50a328` | Proof-verified cache of home-token balances (docs/176 §3.9). | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **XchainBalanceResolverV2** | `0xbf5d12536428996e36dda117f9ce3691b481fffe` | V2 of the "xchain-balance" render resolver (docs/177 §4.3): XchainBalanceResolver (docs/176, kept byte-for-byte for the deployed, source-verified Sepolia instance) plus an immutable HOST FACET — the host chain's own… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **ScopeDisclosureResolver** | `0x49a1497328470aa0ca9a3ecb796eb6d2b868e636` | Render resolver for kind "scope-disclosure" (doc 175 X7, docs/176 §4.2): renders what a subject's grade does NOT establish, read from its IScopeDisclosure, as "does not establish: <item> · <item> · …" Fails closed to… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |

### M3 — `deployments/xchain-m3-46630.json`

| Contract | Address | What it is | Docs |
|---|---|---|---|
| **BalanceSnapshotter** | `0x3493390302c9f8d0f1c3a0861960b77f33d63c74` | with the token's code hash, the block number and the block timestamp — into this contract's OWN storage, whose layout is known. | [concepts/cross-chain-balances](../concepts/cross-chain-balances.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **SnapshotBalanceCache** | `0x3ad98f060cbbc2952f2b7c30afc36a51d1cf055c` | metadata: metaOf[token] == keccak256(abi.encode(name, symbol, codeHash, metaBlock)) - a snapshot: snapOf[token][holder] == keccak256(abi.encode(value, decimals, codeHash, snapBlock, snapTime)) Entries are monotone… | [concepts/cross-chain-balances](../concepts/cross-chain-balances.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **SnapshotBalanceResolver** | `0x8f1dd932c36423d5f60eebfe60c85c8cf2ff9713` | Render resolver for kind "xchain-snapshot-balance" (docs/178 Mode A). | [concepts/cross-chain-balances](../concepts/cross-chain-balances.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |

### M3B — `deployments/xchain-m3b-46630.json`

| Contract | Address | What it is | Docs |
|---|---|---|---|
| **TokenAdoptionRegistry** | `0x4fd6ed93f62d9b152db074ee5f1524ae102fe477` | named adapters (by address + code hash) do the token-specific work — and anyone CONFIRMS the claim's layout witness with a same-chain state proof of the adoption block. | [concepts/cross-chain-balances](../concepts/cross-chain-balances.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |

### M4 — `deployments/xchain-m4-46630.json`

| Contract | Address | What it is | Docs |
|---|---|---|---|
| **HashTimelockSwap** | `0x0cC5C1e149843b9DaA5878CC34917233B49806eb` | the `timelock-swap` route of doc 175 §5.5: two people exchange tokens on two chains with no bridge, no escrow anyone else controls and no new mint. | [concepts/cross-chain-balances](../concepts/cross-chain-balances.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **SwapLockProofCache** | `0x52157c234ed40a54352064cf7d0cd79269e208ff` | runs on the chain that does NOT hold the first lock (Robinhood). | [concepts/cross-chain-balances](../concepts/cross-chain-balances.md) · [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **SwapLockResolver** | `0x690816d4cae09a124b663ed016cbc002cf637f19` | the "swap-lock" render resolver: a home-chain lock's PROVEN state, rendered on the chain that cached the proof, with the host facet next to the host-relative grade (doc 175 X1): "<home> lock open · 25.00 XTKN · to… | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |

## Built, not deployed on any chain

These contracts are in the repository but no deploy record above names them, so **they have no address on any chain**: an app cannot call them until they are deployed. Do not present them as live, and do not invent an address. Test doubles, benchmarks and probes are omitted.

| Contract | What it is | Source | Docs |
|---|---|---|---|
| **AdoptedBalanceCache** | docs/178 Mode B, on any chain: registers CONFIRMED adoption claims (proven from the home TokenAdoptionRegistry's `stateOf`, code hash pinned) and proves holders' balances under them against delivered home roots, PER… | `contracts/xchain/AdoptedBalanceCache.sol` | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **AdoptedBalanceResolver** | Render resolver for kind "xchain-adopted-balance" (docs/178 Mode B, §4.7). | `contracts/xchain/AdoptedBalanceResolver.sol` | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **AgreementRegistry** | Ownerless, immutable multi-funder funding layer for the settlement framework (docs/172 §3.4/§7): many funders contribute toward an offer's target over a funding window, with a PER-FUNDER CONTRIBUTION LEDGER recorded… | `contracts/AgreementRegistry.sol` | [guides/payments-escrow-settlement](../guides/payments-escrow-settlement.md) · [reference/capabilities](../reference/capabilities.md) |
| **AttestedLoanChannel** | The PRODUCTION form of the Kiva-shaped microloan (docs/172 §9), upgrading the ETH `LoanChannel` reference along the two axes the docs always named: 1. ASSET (doc 158 §3.6): value moves through an `IStakeVault` chosen… | `contracts/AttestedLoanChannel.sol` | [guided-tours/settlement-desk](../guided-tours/settlement-desk.md) · [guides/payments-escrow-settlement](../guides/payments-escrow-settlement.md) |
| **CanonicalToken** | The doc 175 home token (docs/176 §3.5): a plain, integration-ready ERC-20 — fixed supply minted once, no owner, no pause, no blocklist, no fee-on-transfer, no rebasing, no transfer hook (`unified` anchor mode) — with… | `contracts/xchain/CanonicalToken.sol` | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **CcipResolver** | Renders **Chainlink CCIP cross-chain config** — is a destination chain supported, and what fee a message to it would cost — as fail-closed `READ_CHAIN` renders. | `contracts/examples/CcipResolver.sol` |  |
| **ChainRenderProvenance** | Ownerless ERC-7053 (Interoperable Digital Media Indexing) provenance emitter for ChainRender content. | `contracts/ChainRenderProvenance.sol` |  |
| **ChartFormatView** | Exposes ChartFormat's kind constants + the ported nice-step algorithm so a test can assert the chainc mirror matches (constants) and the tick math is exactly D3's (behaviour). | `contracts/scene/ChartFormatView.sol` |  |
| **ClipLibraryResolver** | Serves a single skeletal-animation CLIP from an on-chain clip library (a `CRCL` pack stored as a Dependency) so a component can pin a library by content hash + bind one clip by index. | `contracts/examples/ClipLibraryResolver.sol` | [concepts/skeletal-animation](../concepts/skeletal-animation.md) |
| **ComputeCreditResolver** | First-party RENDER resolver for a play-key's metered-compute credit (docs/174 §6 #4). | `contracts/examples/ComputeCreditResolver.sol` | [guided-tours/proof-and-compute](../guided-tours/proof-and-compute.md) |
| **ComputeCreditVault** | The on-chain half of the play-key "metered off-chain compute" adapter (docs/174 §6 #4, doc 158 §4, the zipcoin zkAPI learning). | `contracts/examples/ComputeCreditVault.sol` | [guided-tours/proof-and-compute](../guided-tours/proof-and-compute.md) |
| **ControlFormatView** | Exposes ControlFormat's constants so a test can assert the chainc mirror matches. | `contracts/scene/ControlFormatView.sol` |  |
| **DataChunk** | A minimal contract whose only purpose is to store an immutable `bytes` blob as its own runtime bytecode — the SSTORE2 storage-as-bytecode pattern. | `contracts/StorageChunk.sol` | [concepts/size-limits-and-glamsterdam](../concepts/size-limits-and-glamsterdam.md) |
| **DoorRegistry** | A public, ownerless "door" — burn a token toward a target (an address or an ENS namehash, as an opaque `bytes32`) to leave a public tribute with a short message (docs/174, the zipcoin "Doorstep" learning, made… | `contracts/examples/DoorRegistry.sol` | [guided-tours/doorstep](../guided-tours/doorstep.md) |
| **DoorResolver** | First-party RENDER resolver for the on-chain, Grade-A half of a "door" (docs/174). | `contracts/examples/DoorResolver.sol` | [guided-tours/doorstep](../guided-tours/doorstep.md) |
| **EffectPresetRegistry** | Ownerless, content-addressed registry of post-processing effect presets. | `contracts/examples/EffectPresetRegistry.sol` | [concepts/advanced-scenes](../concepts/advanced-scenes.md) · [guides/applying-effects](../guides/applying-effects.md) |
| **Erc20AgreementRegistry** | The ERC-20/USDC funding MODULE of the settlement framework — the stablecoin peer of the ETH `AgreementRegistry` (doc 158 §3.6: a new asset is a new module, never a base change). | `contracts/Erc20AgreementRegistry.sol` | [guides/payments-escrow-settlement](../guides/payments-escrow-settlement.md) |
| **Erc20StakeVault** | ERC-20/USDC `IStakeVault` module (doc 158 §3.6). | `contracts/Erc20StakeVault.sol` | [guides/payments-escrow-settlement](../guides/payments-escrow-settlement.md) |
| **EthStakeVault** | Native-ETH `IStakeVault` module. | `contracts/EthStakeVault.sol` | [guides/payments-escrow-settlement](../guides/payments-escrow-settlement.md) |
| **GeoResolver** | Fully on-chain cartography. | `contracts/examples/GeoResolver.sol` |  |
| **GeoStore** | Holds the packed Natural Earth country geometry (lon/lat rings at 0.1° precision) as code-backed SSTORE2 chunks — the "compile once, render free-forever" model applied to a real dataset. | `contracts/examples/GeoStore.sol` |  |
| **GoalEscrow** | Example app contract for docs-site/guides/app-contract.md: all-or-nothing fundraising. | `contracts/examples/GoalEscrow.sol` | [guides/app-contract](../guides/app-contract.md) · [guides/payments-escrow-settlement](../guides/payments-escrow-settlement.md) |
| **LayoutFormatView** | Exposes LayoutFormat's constants so a test can assert the chainc mirror matches. | `contracts/scene/LayoutFormatView.sol` |  |
| **LoanChannel** | Reference Kiva-shaped microloan escrow for the settlement framework (docs/172 §9), funded by an `AgreementRegistry` offer. | `contracts/LoanChannel.sol` | [guides/payments-escrow-settlement](../guides/payments-escrow-settlement.md) · [reference/capabilities](../reference/capabilities.md) |
| **MappingWordLayout** | The balance is the low `valueBits` bits of one word of the token's (account 0's) storage, in a mapping at `baseSlot`. | `contracts/xchain/adapters/MappingWordLayout.sol` | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **MultiViewFormatView** | Exposes MultiViewFormat's internal constants so a test can assert the chainc mirror matches. | `contracts/scene/MultiViewFormatView.sol` |  |
| **PlainPinning** | A token that runs only its own code: no REACHABLE DELEGATECALL/CALLCODE, and it contains PUSH4 0x70a08231 (balanceOf). | `contracts/xchain/adapters/PlainPinning.sol` | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **ProofBadgeResolver** | First-party RENDER resolver for the on-chain, Grade-A half of the artifact-pinning badge (docs/174, zipcoin learning #3). | `contracts/examples/ProofBadgeResolver.sol` | [guided-tours/proof-and-compute](../guided-tours/proof-and-compute.md) |
| **RelayRootSource** | Root source whose block hashes are POSTED by a fixed set of posters (docs/176 §3.4). | `contracts/xchain/RelayRootSource.sol` | [concepts/cross-chain-balances](../concepts/cross-chain-balances.md) |
| **SceneFormatView** | On-chain getters for the SceneIR-v1 tag vocabulary — the format of record that chainc's mirror is drift-guarded against (exactly as OpcodeFormatView guards the CRO2 attrs). | `contracts/scene/SceneFormatView.sol` |  |
| **SettlementCardResolver** | The first-party RENDER resolver for the programmable-settlement framework (docs/172 §8/§9): it reads a settlement agreement's on-chain state (principal, total repaid, status, lender count) and renders the honest… | `contracts/examples/SettlementCardResolver.sol` | [guided-tours/settlement-desk](../guided-tours/settlement-desk.md) · [reference/resolvers](../reference/resolvers.md) |
| **SettlementChannel** | Ownerless, immutable base for ANY programmable settlement among N parties where interaction happens CLIENT-SIDE (fast, free, off-chain as signed state transitions) and the result settles ON-CHAIN with a verifiable… | `contracts/SettlementChannel.sol` | [guides/payments-escrow-settlement](../guides/payments-escrow-settlement.md) · [reference/capabilities](../reference/capabilities.md) |
| **SetupPinRegistry** | Ownerless, immutable, append-only registry that PINS a client artifact's digest on-chain (docs/174, the zipcoin "artifacts pinned by SHA-256 to the trusted setup" learning). | `contracts/examples/SetupPinRegistry.sol` | [guided-tours/proof-and-compute](../guided-tours/proof-and-compute.md) |
| **ShieldedPoolViewResolver** | Renders the **publicly-provable invariants of a shielded/note pool** — the ones an Aztec-Connect-style, Tornado-style, or ChainRender-native commitment+nullifier pool exposes WITHOUT revealing who owns what: the… | `contracts/examples/ShieldedPoolViewResolver.sol` | [concepts/messaging-privacy](../concepts/messaging-privacy.md) |
| **Sig1271Resolver** | Renders **whether a message hash is validly signed by a contract account** under ERC-1271, as a fail-closed `READ_CHAIN` render (Grade A): `account.isValidSignature(hash, signature)` is a genuine on-chain fact anyone… | `contracts/examples/Sig1271Resolver.sol` | [concepts/messaging-privacy](../concepts/messaging-privacy.md) |
| **SignatureVerifier** | The verify side of the typed-signing work: given a signer, a hash, and a signature, it reports whether the signature is valid — across all three account kinds — as a resolver-backed slot. | `contracts/examples/SignatureVerifier.sol` | [reference/capabilities](../reference/capabilities.md) |
| **SlotChunk** | A blob stored in a dedicated contract's STORAGE (SSTORE) rather than as its runtime bytecode. | `contracts/SlotStore.sol` |  |
| **SlotProxyPinning** | A proxy that keeps its implementation address in ONE constant storage slot (EIP-1967, zeppelinos, ...). | `contracts/xchain/adapters/SlotProxyPinning.sol` | [contracts/deployed-contracts](../contracts/deployed-contracts.md) |
| **StealthMetaResolver** | Renders **whether an address is reachable via stealth payments and its published stealth meta-address**, under ERC-6538, as a fail-closed `READ_CHAIN` render (Grade A): `registry.stealthMetaAddressOf(registrant,… | `contracts/examples/StealthMetaResolver.sol` | [concepts/messaging-privacy](../concepts/messaging-privacy.md) |
| **ThemeCssView** | ThemeCssView — ownerless view exposing token defaults, generated CSS, and the palette for drift-locking and for callers who want the on-chain CSS/palette by value. | `contracts/ThemeTokens.sol` | [concepts/fully-on-chain](../concepts/fully-on-chain.md) · [contracts/architecture](../contracts/architecture.md) |
| **TrustDisclosureResolver** | First-party RENDER resolver for the SHARED trust-disclosure vocabulary (docs/174). | `contracts/examples/TrustDisclosureResolver.sol` | [guided-tours/doorstep](../guided-tours/doorstep.md) · [guided-tours/proof-and-compute](../guided-tours/proof-and-compute.md) |

## Source of every row

| Name | Source file |
|---|---|
| AavePositionResolver | `contracts/AavePositionResolver.sol` |
| AaveReserveResolver | `contracts/AaveReserveResolver.sol` |
| ActionVocab | `contracts/enforcer/ActionVocab.sol` |
| ActionVocabView | `contracts/enforcer/ActionVocabView.sol` |
| AddressAttestationRegistry | `contracts/examples/AddressAttestationRegistry.sol` |
| AddressReputationResolver | `contracts/examples/AddressReputationResolver.sol` |
| AdvisoryRegistry | `contracts/AdvisoryRegistry.sol` |
| AllocationResolver | `contracts/examples/AllocationResolver.sol` |
| AppRegistry | `contracts/AppRegistry.sol` |
| ApprovalStateResolver | `contracts/ApprovalStateResolver.sol` |
| ArbParentRootSource | `contracts/xchain/ArbParentRootSource.sol` |
| ArbRootSender | `contracts/xchain/ArbRootSender.sol` |
| AttestationAdapter | `contracts/AttestationAdapter.sol` |
| AttesterRegistry | `contracts/AttesterRegistry.sol` |
| BalanceSnapshotter | `contracts/xchain/BalanceSnapshotter.sol` |
| BoundCredentialResolver | `contracts/examples/BoundCredentialResolver.sol` |
| CallResolver | `contracts/CallResolver.sol` |
| CanonicalTokenFactory | `contracts/xchain/CanonicalTokenFactory.sol` |
| ChainProfile | `contracts/ChainProfile.sol` |
| ChainRenderResolver | `contracts/ChainRenderResolver.sol` |
| ChainlinkChartSource | `contracts/examples/ChainlinkChartSource.sol` |
| ChainlinkFeedResolver | `contracts/ChainlinkFeedResolver.sol` |
| ChartRenderer | `contracts/ChartRenderer.sol` |
| ChartResolver | `contracts/examples/ChartResolver.sol` |
| ChartSlotAdapter | `contracts/ChartSlotAdapter.sol` |
| ChunkedStoreFast | `contracts/ChunkedStoreFast.sol` |
| ComponentAnnotationRegistry | `contracts/ComponentAnnotationRegistry.sol` |
| ComponentRegistry | `contracts/ComponentRegistry.sol` |
| ComponentRegistryFast | `contracts/ComponentRegistryFast.sol` |
| CompositionRegistry | `contracts/CompositionRegistry.sol` |
| CompositionRouter | `contracts/CompositionRouter.sol` |
| ComputeResolver | `contracts/ComputeResolver.sol` |
| ControlRenderer | `contracts/ControlRenderer.sol` |
| CowConditionalOrderResolver | `contracts/examples/CowConditionalOrderResolver.sol` |
| CowIntentVerifyResolver | `contracts/examples/CowIntentVerifyResolver.sol` |
| CowTwapResolver | `contracts/examples/CowTwapResolver.sol` |
| CreatureFloor | `contracts/examples/CreatureFloor.sol` |
| CredentialBadgeAdapter | `contracts/CredentialBadgeAdapter.sol` |
| CredentialBoundVerifier | `contracts/examples/CredentialBoundVerifier.sol` |
| CredentialLifecycleResolver | `contracts/examples/CredentialLifecycleResolver.sol` |
| CredentialResolver | `contracts/examples/CredentialResolver.sol` |
| CredentialStatusRegistry | `contracts/examples/CredentialStatusRegistry.sol` |
| CurvePoolResolver | `contracts/CurvePoolResolver.sol` |
| DataBinder | `contracts/DataBinder.sol` |
| DependencyRegistry | `contracts/DependencyRegistry.sol` |
| EfpReputationSource | `contracts/examples/EfpReputationSource.sol` |
| EfpResolver | `contracts/examples/EfpResolver.sol` |
| EnsMultichainResolver | `contracts/examples/EnsMultichainResolver.sol` |
| EnsProfileResolver | `contracts/examples/EnsProfileResolver.sol` |
| EnsReader | `contracts/examples/EnsReader.sol` |
| EnsRecordResolver | `contracts/EnsRecordResolver.sol` |
| EnsRegistryMock | `contracts/examples/MockENS.sol` |
| EnsV2Resolver | `contracts/EnsV2Resolver.sol` |
| EquivalenceRegistry | `contracts/EquivalenceRegistry.sol` |
| Erc20BalanceResolver | `contracts/Erc20BalanceResolver.sol` |
| Erc3643PermissionAdapter | `contracts/examples/Erc3643PermissionAdapter.sol` |
| Erc721MetadataResolver | `contracts/examples/Erc721MetadataResolver.sol` |
| EthBalanceResolver | `contracts/EthBalanceResolver.sol` |
| GameChannel | `contracts/GameChannel.sol` |
| GameChannelV2 | `contracts/GameChannelV2.sol` |
| GameLobby | `contracts/GameLobby.sol` |
| GameLobbyV2 | `contracts/GameLobbyV2.sol` |
| GameMoveBoard | `contracts/GameMoveBoard.sol` |
| GenArtResolver | `contracts/examples/GenArtResolver.sol` |
| GradientIdenticonResolver | `contracts/examples/GradientIdenticonResolver.sol` |
| GradientResolver | `contracts/examples/GradientResolver.sol` |
| HashTimelockSwap | `contracts/xchain/swap/HashTimelockSwap.sol` |
| IdenticonResolver | `contracts/examples/IdenticonResolver.sol` |
| IdentityResolver | `contracts/IdentityResolver.sol` |
| ImmutableAttesterSet | `contracts/ImmutableAttesterSet.sol` |
| InterpreterV1 | `contracts/InterpreterV1.sol` |
| LayoutRenderer | `contracts/LayoutRenderer.sol` |
| MemberSetVerifier | `contracts/examples/MemberSetVerifier.sol` |
| MockAggregator | `contracts/examples/MockAggregator.sol` |
| MockEAS | `contracts/MockEAS.sol` |
| MockENSRegistry | `contracts/MockENS.sol` |
| MockERC20 | `contracts/MockERC20.sol` |
| MockPublicResolver | `contracts/MockENS.sol` |
| MultiCallResolver | `contracts/MultiCallResolver.sol` |
| MultiViewRouter | `contracts/MultiViewRouter.sol` |
| NftImageResolver | `contracts/examples/NftImageResolver.sol` |
| NullifierRegistry | `contracts/examples/NullifierRegistry.sol` |
| OpcodeFormat | `contracts/OpcodeFormat.sol` |
| OpcodeFormatView | `contracts/OpcodeFormatView.sol` |
| OpcodeInterpreterV2 | `contracts/OpcodeInterpreterV2.sol` |
| OpcodeInterpreterV3 | `contracts/OpcodeInterpreterV3.sol` |
| OpcodeInterpreterV3Html | `contracts/OpcodeInterpreterV3Html.sol` |
| OpcodeInterpreterV4Html | `contracts/OpcodeInterpreterV4Html.sol` |
| OpcodeInterpreterV5Html | `contracts/OpcodeInterpreterV5Html.sol` |
| OracleFeedResolver | `contracts/examples/OracleFeedResolver.sol` |
| PointCloudResolver | `contracts/examples/PointCloudResolver.sol` |
| PointCloudView | `contracts/scene/PointCloudView.sol` |
| PortfolioResolver | `contracts/PortfolioResolver.sol` |
| ProgressResolver | `contracts/examples/ProgressResolver.sol` |
| ProofOfReserveResolver | `contracts/examples/ProofOfReserveResolver.sol` |
| ProtocolStatResolver | `contracts/examples/ProtocolStatResolver.sol` |
| ProvenanceRegistry | `contracts/ProvenanceRegistry.sol` |
| PublicGoodsTreasury | `contracts/PublicGoodsTreasury.sol` |
| ReadFormat | `contracts/ReadFormat.sol` |
| RenderRouter | `contracts/RenderRouter.sol` |
| Renderer | `contracts/Renderer.sol` |
| ReputationAggregateResolver | `contracts/examples/ReputationAggregateResolver.sol` |
| RockPaperScissorsRules | `contracts/RockPaperScissorsRules.sol` |
| RockPaperScissorsRulesV2 | `contracts/RockPaperScissorsRulesV2.sol` |
| RouteRenderer | `contracts/RouteRenderer.sol` |
| SameChainRootSource | `contracts/xchain/SameChainRootSource.sol` |
| SceneComponentRegistry | `contracts/SceneComponentRegistry.sol` |
| SceneFloor | `contracts/SceneFloor.sol` |
| ScopeDisclosureResolver | `contracts/xchain/ScopeDisclosureResolver.sol` |
| SdfRenderLib | `contracts/examples/SdfRenderLib.sol` |
| SdfSceneResolver | `contracts/examples/SdfSceneResolver.sol` |
| SnapshotBalanceCache | `contracts/xchain/SnapshotBalanceCache.sol` |
| SnapshotBalanceResolver | `contracts/xchain/SnapshotBalanceResolver.sol` |
| SourceRenderer | `contracts/SourceRenderer.sol` |
| SourceStore | `contracts/SourceStore.sol` |
| SourceStoreFast | `contracts/SourceStoreFast.sol` |
| StatementRegistry | `contracts/examples/StatementRegistry.sol` |
| StorageChunkFast | `contracts/StorageChunkFast.sol` |
| StorageProfile | `contracts/StorageProfile.sol` |
| SubnameStakeRegistrar | `contracts/SubnameStakeRegistrar.sol` |
| SubnameStakeRegistrarV2 | `contracts/SubnameStakeRegistrarV2.sol` |
| SubnameVersionRegistry | `contracts/SubnameVersionRegistry.sol` |
| SvgAnim | `contracts/SvgAnim.sol` |
| SvgLayoutFixed | `contracts/SvgLayoutFixed.sol` |
| SwapFlowResolver | `contracts/examples/SwapFlowResolver.sol` |
| SwapLockProofCache | `contracts/xchain/swap/SwapLockProofCache.sol` |
| SwapLockResolver | `contracts/xchain/swap/SwapLockResolver.sol` |
| TableRenderer | `contracts/TableRenderer.sol` |
| ThemeSetRegistry | `contracts/ThemeSetRegistry.sol` |
| ThemeTokens | `contracts/ThemeTokens.sol` |
| TicTacToeRules | `contracts/TicTacToeRules.sol` |
| TokenAdoptionRegistry | `contracts/xchain/TokenAdoptionRegistry.sol` |
| TrustGrade | `contracts/enforcer/TrustGrade.sol` |
| TrustGradeView | `contracts/enforcer/TrustGradeView.sol` |
| UniswapQuoteResolver | `contracts/UniswapQuoteResolver.sol` |
| UniswapV3PositionResolver | `contracts/UniswapV3PositionResolver.sol` |
| UniswapV3PriceResolver | `contracts/UniswapV3PriceResolver.sol` |
| UniswapV4PriceResolver | `contracts/UniswapV4PriceResolver.sol` |
| VaultResolver | `contracts/examples/VaultResolver.sol` |
| VectorArtResolver | `contracts/examples/VectorArtResolver.sol` |
| VouchReputationSource | `contracts/examples/VouchReputationSource.sol` |
| Web3Serve | `contracts/Web3Serve.sol` |
| XchainBalanceCache | `contracts/xchain/XchainBalanceCache.sol` |
| XchainBalanceResolver | `contracts/xchain/XchainBalanceResolver.sol` |
| XchainBalanceResolverV2 | `contracts/xchain/XchainBalanceResolverV2.sol` |
| ZQuoterResolver | `contracts/flagship/ZQuoterResolver.sol` |
