Guide

Registry & Discovery

How pairs are discovered on-chain, official vs. custom tokens, and adding your own wrapper.

The Registry is the front door: a live view of every ERC-20 ↔ ERC-7984 pair, read straight from the on-chain WrappersRegistry for the selected network.

Official vs. custom pairs

ShadowLine keeps two kinds of pairs strictly separated so a token you added locally can never be mistaken for a verified one.

  • Official Registry — pairs verified on-chain by the WrappersRegistry contract. On Sepolia these are Zama-deployed mock tokens (each carries a Mock badge and has a public mint() you can use from the Faucet).
  • Custom / dev-only — pairs you add yourself, stored locally in your browser and scoped per chain. They never mix into the official list.

Network scoping

The Testnet/Mainnet switch in the header controls which registry is shown. Sepolia pairs and Mainnet pairs are never displayed together, and only addresses for the active network appear on each row — no cross-network placeholders.

Adding a custom token

You can register any ERC-7984 token by address. ShadowLine validates it is genuinely confidential: it tries ERC-165 first, and falls back to a behavioral probe of confidentialBalanceOf()for tokens that don't implement ERC-165. A wrapper (one with an underlying()) gets Shield/Unshield actions; a decrypt-only confidential token gets its own per-row decrypt.

Prefer to build against the registry programmatically? The REST API returns the same official pairs as JSON with no wallet required, and useListPairs gives you the live list inside a React app.