TXNames

TXNames transforms ENS names into human-readable, executable Ethereum transactions.

TXNames

Created At

HackMoney 2026

Winner of

ENS

ENS - Integrate ENS

Prize Pool

Project Description

This decentralized application allows users to store, explore, and execute smart contract transactions via ENS text records. Users can assign intuitive names to transactions, making routine interactions with Ethereum contracts seamless and straightforward, without needing to visit each dApp.

For example:

  • Developers can store contract transactions in a testing environment for easy interaction.
  • Companies can expose contract functionality by naming all their functions on an official ENS name, allowing anyone to execute them safely.
  • Protocol users like those of Uniswap or Aave can create and execute named transactions like "swap-1-eth-usdc-uniswap.myensname.eth", "approve-1k-usdc-aave.myensname.eth", or "supply-1k-usdc-aave.myensname.eth" for quick access.

How It Works:

  1. Connect Your Wallet: Sign in with your primary ENS name.
  2. Create Named Transactions: Input a contract address, choose a function, set parameters, assign a descriptive name, and save the transaction to your ENS record.
  3. View Your Named Transactions: Access a clear list of all transactions saved under your ENS name for easy management and execution.
  4. Explore & Execute: Discover named transactions associated with any ENS name, select one, and execute it directly from your wallet.

How it's Made

TXNames is built on React, TypeScript, and Vite, with Wagmi and Viem handling Web3 interactions. Interaction with ENS is covered using Wagmi hooks. I repurposed ENS text records as decentralized transaction storage: smart contract function calls are encoded and stored as JSON in ENS resolver contracts using a custom prefix.

To retrieve stored transactions, it decodes event logs instead of reading current state, since ENS resolvers don't expose direct text record queries without specifying the keys. Logs are filtered efficiently via Etherscan's API using topics, then decoded client-side.

For contract discovery, it fetches ABIs from Etherscan and implements multi-protocol proxy detection (checking EIP-1967 storage slots, calling implementation() for Transparent/UUPS proxies, and masterCopy() for Safe contracts) to ensure the real ABI is retrieved even from proxy addresses.

Reown AppKit provides multi-wallet support without custom connection logic. React Query manages caching and state, with debounced inputs to reduce unnecessary API calls. The UI is built with shadcn/ui components for accessibility, consistency, and responsive design.

background image mobile

Join the mailing list

Get the latest news and updates