Domain Name Contract Risk Explainer
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Domain Name Contract Risk Explainer takes a domain name (e.g., myname.eth) or a domain contract address and provides a comprehensive risk assessment of its ownership, expiry, and operational state. Domain name contracts (ENS, DNS, or custom registrars) manage the ownership, transfers, renewals, and configuration of domain names. If the contract is paused, locked, or the name is expired, transfers and renewals may fail, and the domain may be lost. This tool reads the contract's state via public view functions—owner, controller, registrar, nameExpires, rentDue, available, gracePeriodEnd, isLocked, isPaused, and canTransfer. It fetches the current block timestamp and computes the time remaining until expiry, whether the name is in the grace period, and the registration status. It also retrieves the renewal cost (if exposed) and checks for pause or lock states that could prevent transfers. Historical domain events (NameRegistered, NameRenewed, NameExpired, OwnershipTransferred, ControllerChanged) are fetched using chunked, backoff‑aware log scanning to provide context on past changes. The output includes the owner, controller, expiry date, time remaining, grace period status, renewal cost, pause/lock state, registration status, a visual risk level bar, and a plain‑language risk assessment with recommended actions.
HOW TO USE
Paste a domain name (e.g., myname.eth) or a domain contract address into the input field, select the network, and click "Assess domain risk". The tool connects to your wallet via the EVM bridge (read‑only; it never signs or sends anything) to fetch the domain state. For ENS names, it automatically uses the standard ENS registry and registrar contracts. For other domain contracts, it attempts to read common interface functions (owner, controller, nameExpires, isPaused, isLocked). It fetches the current block timestamp for schedule calculations. Historical events are fetched in chunks (500 blocks per request) with automatic backoff and halving on failure to avoid public RPC caps. The AI layer generates a plain‑English risk assessment: whether the domain is registered, in grace period, or expired; the time remaining; the pause/lock state; and whether a transfer or renewal transaction would succeed. A visual progress bar shows the risk level from Low to High. You can click on the owner or controller addresses to view them on the block explorer.
CHUNKED LOG SCANNING WITH BACKOFF FOR DOMAIN EVENTS
Domain events (NameRegistered, NameRenewed, NameExpired, OwnershipTransferred, ControllerChanged) are critical for confirming registration history, renewals, and ownership changes. However, public RPCs aggressively cap eth_getLogs block ranges; a full‑range request over 10,000 blocks will fail with a "block range too large" error. This tool automatically chunks log requests into 500‑block slices to stay within safe limits for all major RPC providers. If a chunk fails (due to timeout or provider‑specific caps), it halves that chunk and retries recursively—ensuring that even with aggressive caps, the tool reliably retrieves all relevant domain events. The tool also filters logs by the specific contract address and relevant event topics to minimize data transfer and processing time. For generic domain contracts, it attempts to fetch events from the provided contract address, falling back to standard ENS registrar events if the input is a domain name.
WHAT IT CANNOT SEE
This tool cannot detect domain name risks that depend on off‑chain state (e.g., DNS‑imported names where control is managed by a DNS registrar, or names that are wrapped in a smart contract wallet with custom logic). It cannot predict future controller changes, transfers, or expiry events that might occur before the transaction is mined—the risk assessment reflects the current state, not the future. It cannot verify that the sender intended to transfer or interact with the domain name—the tool reads what is on‑chain, not the user's intent. It cannot detect risks for subdomains that are managed by a custom registrar not following the standard ENS or DNS registrar patterns. It cannot guarantee that a transfer or renewal transaction will succeed even if the sender appears to be the owner, as other conditions (e.g., paused state, locked status, or grace period) may also need to be met. It cannot detect if the domain name is blacklisted or flagged by external services (e.g., phishing lists, DNS blocklists). It cannot detect if the domain name contract is a proxy pointing to an implementation that may have been upgraded with different logic, which could change the behavior of transfer or renewal functions. It also cannot detect if the domain name has been transferred off‑chain or if the current owner has delegated control to another address without updating the on‑chain controller.
PLEASE NOTE
This tool works only for EVM‑compatible chains that support domain name systems (Ethereum, Polygon, BSC, Arbitrum, Optimism, Avalanche, etc.). It relies on standard ENS registry and registrar interfaces for .eth domains, and attempts to read common interface functions for other domain contracts. It does not support DNS‑imported names or custom registrar implementations that do not follow the standard patterns. For .eth names, the grace period is 90 days; for other TLDs or custom registrars, grace periods may vary. All explanations are AI‑generated from data the app reads on‑chain—the AI synthesizes the domain state, expiry status, pause/lock state, event history, and transaction context into plain English, but it does not have special access to private contract logic or off‑chain data. Always review what you are actually signing in your wallet before approving any transaction; a domain risk assessment does not replace your own verification of the transaction details, including the target contract, the function you are calling, and the address you are transferring to. This tool is provided free of charge, with no warranty of accuracy or completeness.