{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "onchain-ui", "homepage": "https://onchain-ui.dev", "items": [ { "name": "address-display", "type": "registry:ui", "title": "Address Display", "description": "Displays an EVM wallet address with copy-to-clipboard and an optional block explorer link.", "dependencies": [ "viem", "sonner", "lucide-react" ], "registryDependencies": [ "sonner" ], "files": [ { "path": "registry/onchain-ui/address-display.tsx", "type": "registry:ui", "target": "components/ui/address-display.tsx" }, { "path": "lib/onchain/format.ts", "type": "registry:lib", "target": "lib/onchain/format.ts" }, { "path": "lib/onchain/config.ts", "type": "registry:lib", "target": "lib/onchain/config.ts" } ] }, { "name": "address-identity", "type": "registry:ui", "title": "Address Identity", "description": "Resolves an EVM address to an ENS or Base name with optional avatar, copy-to-clipboard, and explorer link.", "dependencies": [ "viem", "sonner", "lucide-react" ], "registryDependencies": [ "sonner" ], "files": [ { "path": "registry/onchain-ui/address-identity.tsx", "type": "registry:ui", "target": "components/ui/address-identity.tsx" }, { "path": "registry/onchain-ui/address-display.tsx", "type": "registry:ui", "target": "components/ui/address-display.tsx" }, { "path": "lib/onchain/format.ts", "type": "registry:lib", "target": "lib/onchain/format.ts" }, { "path": "lib/onchain/resolvers.ts", "type": "registry:lib", "target": "lib/onchain/resolvers.ts" }, { "path": "lib/onchain/config.ts", "type": "registry:lib", "target": "lib/onchain/config.ts" } ] }, { "name": "asset-row", "type": "registry:ui", "title": "Asset Row", "description": "Displays a practical portfolio or watchlist row from token identity, network, amount, value, and change.", "dependencies": [ "lucide-react", "viem" ], "registryDependencies": [ "tooltip" ], "files": [ { "path": "registry/onchain-ui/asset-row.tsx", "type": "registry:ui", "target": "components/ui/asset-row.tsx" }, { "path": "registry/onchain-ui/token-logo.tsx", "type": "registry:ui", "target": "components/ui/token-logo.tsx" }, { "path": "registry/onchain-ui/network-logo.tsx", "type": "registry:ui", "target": "components/ui/network-logo.tsx" }, { "path": "registry/onchain-ui/token-price.tsx", "type": "registry:ui", "target": "components/ui/token-price.tsx" }, { "path": "lib/onchain/format.ts", "type": "registry:lib", "target": "lib/onchain/format.ts" }, { "path": "lib/onchain/crypto-icons.tsx", "type": "registry:lib", "target": "lib/onchain/crypto-icons.tsx" }, { "path": "lib/onchain/config.ts", "type": "registry:lib", "target": "lib/onchain/config.ts" } ] }, { "name": "chain-select", "type": "registry:ui", "title": "Chain Select", "description": "Network switcher with a first-class unsupported-chain state.", "dependencies": [ "viem" ], "registryDependencies": [ "dropdown-menu", "tooltip" ], "files": [ { "path": "registry/onchain-ui/chain-select.tsx", "type": "registry:ui", "target": "components/ui/chain-select.tsx" }, { "path": "registry/onchain-ui/network-logo.tsx", "type": "registry:ui", "target": "components/ui/network-logo.tsx" }, { "path": "lib/onchain/crypto-icons.tsx", "type": "registry:lib", "target": "lib/onchain/crypto-icons.tsx" }, { "path": "lib/onchain/config.ts", "type": "registry:lib", "target": "lib/onchain/config.ts" } ] }, { "name": "connect-wallet", "type": "registry:block", "title": "Connect Wallet", "description": "A complete connect, identity, and disconnect surface wired to wagmi.", "dependencies": [ "wagmi", "viem", "sonner", "lucide-react" ], "registryDependencies": [ "sonner", "tooltip", "dropdown-menu" ], "files": [ { "path": "registry/onchain-ui/connect-wallet.tsx", "type": "registry:block", "target": "components/ui/connect-wallet.tsx" }, { "path": "registry/onchain-ui/wallet-button.tsx", "type": "registry:ui", "target": "components/ui/wallet-button.tsx" }, { "path": "registry/onchain-ui/connector-list.tsx", "type": "registry:ui", "target": "components/ui/connector-list.tsx" }, { "path": "registry/onchain-ui/address-identity.tsx", "type": "registry:ui", "target": "components/ui/address-identity.tsx" }, { "path": "registry/onchain-ui/address-display.tsx", "type": "registry:ui", "target": "components/ui/address-display.tsx" }, { "path": "registry/onchain-ui/network-logo.tsx", "type": "registry:ui", "target": "components/ui/network-logo.tsx" }, { "path": "hooks/use-available-connectors.ts", "type": "registry:hook", "target": "hooks/use-available-connectors.ts" }, { "path": "lib/onchain/format.ts", "type": "registry:lib", "target": "lib/onchain/format.ts" }, { "path": "lib/onchain/resolvers.ts", "type": "registry:lib", "target": "lib/onchain/resolvers.ts" }, { "path": "lib/onchain/crypto-icons.tsx", "type": "registry:lib", "target": "lib/onchain/crypto-icons.tsx" }, { "path": "lib/onchain/config.ts", "type": "registry:lib", "target": "lib/onchain/config.ts" } ] }, { "name": "connector-list", "type": "registry:ui", "title": "Connector List", "description": "A wallet picker list with icons, pending state, and a no-wallet-detected fallback.", "dependencies": [ "lucide-react" ], "files": [ { "path": "registry/onchain-ui/connector-list.tsx", "type": "registry:ui", "target": "components/ui/connector-list.tsx" } ] }, { "name": "crypto-icons", "type": "registry:lib", "title": "Crypto Icons", "description": "Swappable adapter that resolves token and network icons for onchain-ui components.", "dependencies": [ "viem" ], "files": [ { "path": "lib/onchain/crypto-icons.tsx", "type": "registry:lib", "target": "lib/onchain/crypto-icons.tsx" } ] }, { "name": "network-logo", "type": "registry:ui", "title": "Network Logo", "description": "Displays a network or chain logo with known chain fallbacks.", "dependencies": [ "viem" ], "registryDependencies": [ "tooltip" ], "files": [ { "path": "registry/onchain-ui/network-logo.tsx", "type": "registry:ui", "target": "components/ui/network-logo.tsx" }, { "path": "lib/onchain/crypto-icons.tsx", "type": "registry:lib", "target": "lib/onchain/crypto-icons.tsx" }, { "path": "lib/onchain/config.ts", "type": "registry:lib", "target": "lib/onchain/config.ts" } ] }, { "name": "onchain-config", "type": "registry:lib", "title": "Onchain Config", "description": "One file for app-wide chain settings: explorers, network names, and read clients.", "dependencies": [ "viem" ], "files": [ { "path": "lib/onchain/config.ts", "type": "registry:lib", "target": "lib/onchain/config.ts" } ] }, { "name": "token-balance", "type": "registry:ui", "title": "Token Balance", "description": "Displays a token amount with optional logo, fiat value, and change.", "dependencies": [ "lucide-react", "viem" ], "registryDependencies": [ "tooltip" ], "files": [ { "path": "registry/onchain-ui/token-balance.tsx", "type": "registry:ui", "target": "components/ui/token-balance.tsx" }, { "path": "registry/onchain-ui/token-logo.tsx", "type": "registry:ui", "target": "components/ui/token-logo.tsx" }, { "path": "registry/onchain-ui/token-price.tsx", "type": "registry:ui", "target": "components/ui/token-price.tsx" }, { "path": "lib/onchain/format.ts", "type": "registry:lib", "target": "lib/onchain/format.ts" }, { "path": "lib/onchain/crypto-icons.tsx", "type": "registry:lib", "target": "lib/onchain/crypto-icons.tsx" } ] }, { "name": "token-logo", "type": "registry:ui", "title": "Token Logo", "description": "Displays a token image with resilient symbol, name, or address fallback.", "dependencies": [ "viem" ], "registryDependencies": [ "tooltip" ], "files": [ { "path": "registry/onchain-ui/token-logo.tsx", "type": "registry:ui", "target": "components/ui/token-logo.tsx" }, { "path": "lib/onchain/crypto-icons.tsx", "type": "registry:lib", "target": "lib/onchain/crypto-icons.tsx" } ] }, { "name": "token-price", "type": "registry:ui", "title": "Token Price", "description": "Formats token prices with optional positive, negative, or neutral change.", "dependencies": [ "lucide-react" ], "files": [ { "path": "registry/onchain-ui/token-price.tsx", "type": "registry:ui", "target": "components/ui/token-price.tsx" }, { "path": "lib/onchain/format.ts", "type": "registry:lib", "target": "lib/onchain/format.ts" } ] }, { "name": "token-stack", "type": "registry:ui", "title": "Token Stack", "description": "Displays overlapping token logos for baskets, pools, routes, and portfolio rows.", "dependencies": [ "viem" ], "registryDependencies": [ "tooltip" ], "files": [ { "path": "registry/onchain-ui/token-stack.tsx", "type": "registry:ui", "target": "components/ui/token-stack.tsx" }, { "path": "registry/onchain-ui/token-logo.tsx", "type": "registry:ui", "target": "components/ui/token-logo.tsx" }, { "path": "lib/onchain/crypto-icons.tsx", "type": "registry:lib", "target": "lib/onchain/crypto-icons.tsx" } ] }, { "name": "use-available-connectors", "type": "registry:hook", "title": "useAvailableConnectors", "description": "Filters wagmi connectors down to wallets actually present in the browser, via EIP-6963 probing.", "dependencies": [ "wagmi" ], "files": [ { "path": "hooks/use-available-connectors.ts", "type": "registry:hook", "target": "hooks/use-available-connectors.ts" } ] }, { "name": "wallet-button", "type": "registry:ui", "title": "Wallet Button", "description": "The connected-wallet pill: resolved identity, network mark, and a disclosure chevron.", "dependencies": [ "viem", "sonner", "lucide-react" ], "registryDependencies": [ "sonner", "tooltip" ], "files": [ { "path": "registry/onchain-ui/wallet-button.tsx", "type": "registry:ui", "target": "components/ui/wallet-button.tsx" }, { "path": "registry/onchain-ui/address-identity.tsx", "type": "registry:ui", "target": "components/ui/address-identity.tsx" }, { "path": "registry/onchain-ui/address-display.tsx", "type": "registry:ui", "target": "components/ui/address-display.tsx" }, { "path": "registry/onchain-ui/network-logo.tsx", "type": "registry:ui", "target": "components/ui/network-logo.tsx" }, { "path": "lib/onchain/format.ts", "type": "registry:lib", "target": "lib/onchain/format.ts" }, { "path": "lib/onchain/resolvers.ts", "type": "registry:lib", "target": "lib/onchain/resolvers.ts" }, { "path": "lib/onchain/crypto-icons.tsx", "type": "registry:lib", "target": "lib/onchain/crypto-icons.tsx" }, { "path": "lib/onchain/config.ts", "type": "registry:lib", "target": "lib/onchain/config.ts" } ] } ] }