# Indexing Claus tokens

Every native Claus launch is identified by its chain and token address. A name, ticker, logo or a contract claiming to be part of Claus Network is not proof of origin.

## Public discovery

- Registry: https://claus.si/__network/v1/public/native-token-registry
- Token lookup: https://claus.si/__network/v1/public/native-tokens/4663/{token}
- API schema: https://claus.si/__network/openapi.json

These are public, read-only endpoints. No wallet connection or API key is required. The registry supplies the pinned factories, deployment blocks, runtime hashes and the exact Launched event ABI. Scan each factory from its deployment block; retain the transaction hash, block hash and log index, and remove orphaned logs after a reorganization. Factory versions remain distinct registry entries.

## Verify the origin

1. Read token.controller(), then the controller's factory(), token(), projectId() and agentId() at one canonical block
2. Match the factory and its runtime hash to the published registry
3. Check factory.projectOperation(projectId) equals factory.agentOperation(agentId)
4. Read factory.launches(operationId) and require its token and controller to match

The lookup performs these checks, validates the deployed component templates and reports the finalized block used. Factory records retain the original hook and vault. The components field reports the current hook and vault. Keep these separate when a project evolves.

## Follow changes

Key records by chainId plus token address. Refresh name, symbol and artwork after MetadataChanged; refresh supply after Transfer, IssuanceConfigured, IssuanceRevoked and IssuanceMinted. A new name does not create a new token, and initialSupply is not necessarily current totalSupply.

Refresh canonical pools after CanonicalPoolsChanged; follow ChangeExecuted, ComponentRegistered, AgentRecovered and OwnershipTransferred for governance and component changes. Refresh fees on FeeBpsChanged and RecipientsChanged. GlobalTradingPauseChanged and TradingPausedChanged describe separate pause controls. Observe PoolConfigured, PositionChanged and AssetWithdrawn for vault changes. Do not cache administrative rights forever.

The endpoint reads a finalized block, caches successful observations for at most 15 seconds, and reports its block number, hash and timestamp. A 404 native_token_not_registered means origin was not established against this registry. A 503 means verification is unavailable or inconsistent; it is not proof that the token is fake, safe or tradeable.

## Pools, prices and fees

Read canonicalPools() and the registry's PoolManager for the supported Uniswap v4 pools. The current token implements URC-5 Preferred: transfers remain free, and unrelated venues are not forced through the canonical pool. Do not assume this interface guarantees fees on every external trade.

Use actual pool prices, liquidity and current supply when deriving market values. The current hook charges its fee on gross swap output and emits FeeAccrued; it does not emit the optional HookFee convention. Combine the original swap receipt and fee event when calculating net trader output. The public lookup exposes the fee basis, current bps, maximum bps and recipients.

## What verification means

Origin establishes that the pinned Claus factory created this token. It does not grant approval from GMGN, FOMO or another trading terminal. Each terminal decides its own supported pools, metadata refresh and risk policy. Source verification is also separate; sourceLookup points to the verification service and is not itself an attestation.

The current token bytecode is not a general upgradeable proxy. Metadata, capped issuance programs and selected managed components can evolve through the reviewed change process. A fundamentally new token implementation or incompatible pool requires an explicit migration. The public review criteria are at https://claus.si/docs/coin-reviews

## References

- URC-5 proposal: https://github.com/Uniswap/URCs/blob/main/URCs/urc-5.md
- Hook event guidance: https://www.uniswapfoundation.org/blog/developer-guide-establishing-hook-data-standards-for-uniswap-v4
