# Oniym > One name, all chains. Multichain-native naming service. ## Docs - [How it works](/how-it-works): ![Oniym system overview](/architecture/system-overview.png) - [Supported TLDs](/tlds): Oniym supports 65 top-level domains across four categories. All TLDs are equal — any resolves to any chain. - [Getting started](/sdk/getting-started): Pricing is two-tier: **$3/month** or **$15/year** for any name length. Pay with ETH or USDC. - [Oniym class](/sdk/oniym): The `Oniym` class is the main entry point for the SDK. - [Registration](/sdk/registration): Write methods require a connected [viem](https://viem.sh) `WalletClient` passed as the last argument. - [Resolution](/sdk/resolution): All read methods use the indexer API for fast off-chain queries. Set `indexerUrl` in the config to point to a deployed indexer. - [Utilities](/sdk/utilities): Compute an ENSIP-1 namehash for any name. - [Getting started](/react/getting-started): Wrap your app with `OniymProvider` and `QueryClientProvider`: - [useAddresses](/react/use-addresses): Fetch all registered chain addresses for a name. - [useAddress](/react/use-addresses): Fetch the address for a single chain. - [useAvailable](/react/use-available): Check if a name is available for registration. Makes a live RPC call to `RegistrarController.available()`. - [useName](/react/use-name): Reverse lookup — resolve an address to its primary name. - [useNames](/react/use-names): Fetch all names owned by an Ethereum address. - [useRegister](/react/use-register): Mutation hook for registering a name. Wraps the full commit-reveal flow from `oniym.register()`. - [useRentPrice](/react/use-rent-price): Fetch the registration price in wei for a name and duration. Makes a live RPC call to `RegistrarController.rentPrice()`. - [useResolve](/react/use-resolve): Fetch all on-chain records for a name. - [Architecture](/contracts/architecture): Oniym's contract system follows an ENS-inspired layered architecture adapted for multi-TLD, multichain registration. - [Deployments](/contracts/deployments): Chain ID: `84532` · Deployed: 2026-04-28 - [PublicResolver](/contracts/public-resolver): Stores address records, text records, and contenthash for registered names. Implements ENSIP-9 multichain addressing. - [RegistrarController](/contracts/registrar-controller): The public entry point for name registration. Enforces commit-reveal, pricing, and name validation. Accepts ETH or USDC as payment. - [Registry](/contracts/registry): The Registry is the canonical on-chain store mapping name nodes to owners and resolvers. - [ReverseRegistrar](/contracts/reverse-registrar): Manages reverse records — mapping an Ethereum address to its claimed primary name. - [GET /lookup/](/api/lookup): Reverse lookup — resolve an Ethereum address to its claimed primary name. - [GET /names/](/api/names): List all names owned by an Ethereum address. - [Indexer API](/api/overview): The Oniym indexer is a [Ponder](https://ponder.sh) application that reads on-chain events and exposes a REST API for fast off-chain queries. - [GET /resolve/](/api/resolve): Resolve a name to all its on-chain records. - [ADR-002: ENSIP-1 namehash compatibility](/adr/002): **Status:** Accepted - [ADR-003: Monorepo with pnpm workspaces](/adr/003): **Status:** Accepted - [ADR-004: Foundry as contract toolchain](/adr/004): **Status:** Accepted - [ADR-005: Playriglabs-first branding](/adr/005): **Status:** Accepted - [ADR-006: Pricing model and controller design](/adr/006): **Status:** Accepted - [ADR-007: Multi-TLD naming and Clusters-style identity](/adr/007): **Status:** Accepted - [ADR-008: Dual-payment support (ETH + USDC)](/adr/008): **Status:** Accepted